概述
其实有时候安装搭建这个东西是费时费力的事情, 如果有脚本为什么不能使用脚本呢? 花 100 分钟在搭建上还不如用 100 分钟去研究怎么使用
什么是 kubekit
Kubekit 是一个部署工具包, 它为 kubernetes 提供离线安装解决方案. 您可以使用它将 Kubernetes 部署到 OFFLINE 生产环境.
Kubekit 将安装
Docker(1.12.6)
Kubernetes 及其所有组件
Kubernetes 仪表板, 默认节点端口: 31234
kubkit 地址
https://github.com/Orientsoft/kubekit
操作系统
首先官方支持下面两个操作系统, 而且都要是最小化安装支持的
- CentOS release 7.3.1611
- CentOS release 7.4.1708
我使用是 1708,k8s 版本是 V1.9.2, 具体的可以看 github 上的 readme
wget http://111.1.50.85/files/1128000004BF9EC9/linux.cc.lehigh.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso
在虚拟机里面正常安装, 注意是最小化安装, 我给虚拟机的内存是 2g, 希望有一天我也可以买台 mac book pro 吧
安装完成之后关闭防火墙
- systemctl stop firewalld
- systemctl disable firewalld
关闭 selinux
- setenforce 0
- vim /etc/selinux/config
修改为
SELINUX=disabled
最好还可以同步一下时间什么的
- yum install ntpdate
- ntpdate 0.cn.pool.ntp.org
下载 kubekit
- yum install wget
- wget https://kubekit.orientsoft.cn/kubekit-linux64-0.3.tar.gz
解压
- tar -zxvf kubekit-linux64-0.3.tar.gz
- mv kubekit-release/ kubekit
下载离线包并且安装集群
- wget https://kubekit.orientsoft.cn/package-1.9.2.tar.gz
- tar -zxvf package-1.9.2.tar.gz
- mv package kubekit
给脚本赋予可执行权限
- cd kubekit/package/
- chmod +x ./*.sh
最后安装并初始化 master 节点
./kubekit init 192.168.38.166
到下面这步就说明节点初始化成功了
- [root@kubekit kubekit]# ./kubekit init 192.168.38.166
- ___ __ ___ ___ ________ _______ ___ __ ___ _________
- |\ \|\ \ |\ \|\ \ |\ __ \ |\ ___ \ |\ \|\ \ |\ \ |\___ ___\
- \ \ \//|_ \ \ \\\ \ \ \ \|\ /_ \ \ __/| \ \ \//|_ \ \ \ \|___ \ \_|
- \ \ ___ \ \ \ \\\ \ \ \ __ \ \ \ \_|/__ \ \ ___ \ \ \ \ \ \ \
- \ \ \\ \ \ \ \ \\\ \ \ \ \|\ \ \ \ \_|\ \ \ \ \\ \ \ \ \ \ \ \ \
- \ \__\\ \__\ \ \_______\ \ \_______\ \ \_______\ \ \__\\ \__\ \ \__\ \ \__\
- \|__| \|__| \|_______| \|_______| \|_______| \|__| \|__| \|__| \|__|
- KubeKit V0.3 OrientSoft 2018
- Initialization process started, with kubernetes master IP: 192.168.38.166
- HTTP file server listening at: 0.0.0.0:8000
- Start to install docker engine...
- (1/2) Start to install docker...
- (2/2) Start to config docker...
- Docker engine installed...
- Start to initialize Kubernetes master node...
- (1/6) Start to load images for Kubernetes master...
- (2/6) Start to install components for Kubernetes master...
- (3/6) Start to configure firewall...
- (4/6) Start to initialize Kubernetes master...
- Master token 3826ab.fef296d97de13f83 saved into .k8s.token file.
- (5/6) Start to config Kubernetes network...
- (6/6) Start to install Kubernetes dashboard...
- Kubernetes master node initialized...
- Remember to reload shell with: source ~/.bashrc before using kubectl!
- [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
- [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- - using env: export GIN_MODE=release
- - using code: gin.SetMode(gin.ReleaseMode)
- [GIN-debug] GET /assets/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)
- [GIN-debug] HEAD /assets/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)
- [GIN-debug] Loaded html Templates (3):
- -
- - index.html
- - locale.html
- open ./.nodes: no such file or directory
- [GIN-debug] GET / --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).IndexHandler-fm (4 handlers)
- [GIN-debug] GET /ws --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).Initialize.func1 (4 handlers)
- [GIN-debug] GET /node/list --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).ListNodesHandler-fm (4 handlers)
- [GIN-debug] POST /node --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).CreateNodeHandler-fm (4 handlers)
- [GIN-debug] PUT /node/remove/:id --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).RemoveNodeHandler-fm (4 handlers)
- [GIN-debug] GET /node/refresh/:id --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).RefreshNodeHandler-fm (4 handlers)
- [GIN-debug] GET /node/log/:id --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).GetInstallLog-fm (4 handlers)
- [GIN-debug] POST /install --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).InstallNodeHandler-fm (4 handlers)
- [GIN-debug] GET /install/progress/:id/:step --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).NodeProgressHandler-fm (4 handlers)
- Toolkit server is listening at: 0.0.0.0:9000
- [GIN-debug] Listening and serving HTTP on :9000
接着 ctrl+c 退出来, 然后重新启动 kubekit 的 dashboard 并且放在后台
./kubekit server &
添加一个 node
浏览器访问 ip:9000
创建一个同样安装着 centos 1708 最小化安装的机器, 之后打开修改主机名
hostnamectl set-hostname kubekit-node1
接着点击 web 界面上的 add node, 输入 ssh 账号密码等信息, 最后选中点击 start deploy 就可以了
之后你就会在 kubernetes 的 dashboard 看到这个节点的详细信息了
来源: http://www.jianshu.com/p/8445708423bd