使用kubekit搭建k8s集群

概述

其实有时候安装搭建这个东西是费时费力的事情,如果有脚本为什么不能使用脚本呢?花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

到下面这步就说明节点初始化成功了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
[[email protected] 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看到这个节点的详细信息了

欢迎关注Bboysoul的博客www.bboy.app
Have Fun

欢迎关注我的其它发布渠道