使用Kuboard快速部署Kubernetes集群
之前的文章中提到过如何在CentOS上手动部署Kubernetes集群,这种方式需要修改大量系统参数,并且需要自行安装大量软件比较麻烦;
而KuboardSpray提供了图形化界面,可以迅速的安装并管理Kubernetes集群;
系列文章:
官方文档:
使用Kuboard快速部署Kubernetes集群
前言
本次要部署的Kubernetes集群配置如下:
- control-plane: ubuntu-1
- worker: ubuntu-2
- worker: ubuntu-3
同时,还需要一台机器安装 Kuboard-Spray,以执行 Ansible 脚本进行安装;
这里使用的操作系统都是 Ubuntu 22.04.3;
注意:需要使用 Kuboard-Spray 支持的操作系统进行安装,否则 Ansible 检测会报错!
例如:不能使用 Debian!
前期准备
安装 Kuboard-Spray
对于安装 Kuboard-Spray 的机器,只需要安装 Docker,并且创建 Kuboard-Spray 容器即可:
1 2 3 4 5 6 7 8 9 10
| docker run -d \ --privileged \ --restart=unless-stopped \ --name=kuboard-spray \ -p 80:80/tcp \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/kuboard-spray-data:/data \ eipwork/kuboard-spray:latest-amd64 # 如果抓不到这个镜像,可以尝试一下这个备用地址: # swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard-spray:latest-amd64
|
在浏览器打开地址 http://这台机器的IP,输入用户名 admin,默认密码 Kuboard123,即可登录 Kuboard-Spray 界面;
创建Ubuntu集群机器
这里的 Ubuntu 集群机器可以是真实的物理机,也可以是 VMWare 或者 KVM 创建的虚拟机;
需要保证三台机器为:
- 静态 IP
- 互相能 ping 通
- 修改了各自的 hostname
- 在 hosts 中添加了解析
以 ubuntu-1 为例:
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
| # 1:静态IP $ cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity' network: ethernets: ens33: addresses: - 192.168.31.201/24 nameservers: addresses: - 8.8.8.8 search: - 8.8.8.8 routes: - to: default via: 192.168.31.1 version: 2 # 2:修改hostname $ cat /etc/hostname
ubuntu-1
# 3:hosts添加解析 cat /etc/hosts 127.0.0.1 localhost localhost.localdomain 127.0.1.1 ubuntu-1
# The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback localhost6 localhost6.localdomain fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
192.168.31.201 ubuntu-1 192.168.31.202 ubuntu-2 192.168.31.203 ubuntu-3
|
测试 ping:
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
| root@ubuntu-1:~# ping ubuntu-1 PING ubuntu-1 (127.0.1.1) 56(84) bytes of data. 64 bytes from ubuntu-1 (127.0.1.1): icmp_seq=1 ttl=64 time=0.050 ms 64 bytes from ubuntu-1 (127.0.1.1): icmp_seq=2 ttl=64 time=0.030 ms ^C --- ubuntu-1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1015ms rtt min/avg/max/mdev = 0.030/0.040/0.050/0.010 ms
root@ubuntu-1:~# ping ubuntu-2 PING ubuntu-2 (192.168.31.202) 56(84) bytes of data. 64 bytes from ubuntu-2 (192.168.31.202): icmp_seq=1 ttl=64 time=0.215 ms 64 bytes from ubuntu-2 (192.168.31.202): icmp_seq=2 ttl=64 time=0.168 ms ^C --- ubuntu-2 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1012ms rtt min/avg/max/mdev = 0.168/0.191/0.215/0.023 ms
root@ubuntu-1:~# ping ubuntu-3 PING ubuntu-3 (192.168.31.203) 56(84) bytes of data. 64 bytes from ubuntu-3 (192.168.31.203): icmp_seq=1 ttl=64 time=0.189 ms 64 bytes from ubuntu-3 (192.168.31.203): icmp_seq=2 ttl=64 time=0.152 ms ^C --- ubuntu-3 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1019ms rtt min/avg/max/mdev = 0.152/0.170/0.189/0.018 ms
|
保证这些即可,其他配置都不需要修改,kubeadm 等工具也会由 Ansible 脚本安装!
正式安装
加载离线资源包
根据官方文档导入 Kuboard-Spray 离线资源包即可!
官方文档:
规划并安装集群
在 Kuboard-Spray 界面中,导航到 集群管理 界面,点击 添加集群安装计划 按钮;
配置集群名称、资源包;
然后根据文档配置节点信息,最后保存并执行即可!
官方文档:
安装完成
等待 Ansible 执行结束,Kubernetes 集群就部署完成了!
可以通过在 Kuboard-Spray 访问集群 标签页查看访问集群的方式;
我使用的是访问 control-plane 上部署的 Kuboard 的方式,访问:
http://<control-plane-ip> 即可!
如下:

即完成了 Kubernetes 的集群部署;
Have fun!
附录
系列文章:
官方文档: