前提是各节点已经安装了docker
节点 | 服务 | 配置 | 备注 |
---|---|---|---|
node1 | 192.168.33.102 | 2C4G | kuboard-spray、kuboard |
node2 | 192.168.33.103 | 2C4G | master、etcd、worker |
node3 | 192.168.33.104 | 2C2G | master、etcd、worker |
node4 | 192.168.33.105 | 2C2G | master、etcd、worker |
node5 | 192.168.33.106 | 2C2G | worker |
软件 | 版本 | 备注 |
---|---|---|
Docker | 20.10.9, | |
Kubernetes | v1.23.4 | |
kuboard-spray | v1.2.4-amd64 | k8s 集群安装工具 |
kuboard | v3.3.0.0 | k8s集群管理工具 |
Kuboard-Spray
安装k8s集群使用Kuboard-Spray安装k8s
Kuboard-Spray 是一款可以在图形界面引导下完成 Kubernetes 高可用集群离线安装的工具
- 至少 2 台 2核4G 的服务器
- 本文档中,CPU 必须为 x86 架构,暂时未适配 arm 架构的 CPU
CentOS 7.8
、CentOS 7.9
或Ubuntu 20.04
Centos版本 | 本文档是否兼容 | 备注 |
---|---|---|
Centos 7.8 | ? | 已验证 |
Centos 7.9 | ? | 已验证 |
Ubuntu 20.04 | ? | 已验证 |
Kuboard-Spray
的安装。1核2G
不少于 10G 磁盘空余空间
已经安装好 docker
docker run -d \
--restart=unless-stopped \
--name=kuboard-spray \
-p 80:80/tcp \
-e TZ=Asia/Shanghai \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/kuboard-spray-data:/data \
eipwork/kuboard-spray:v1.2.4-amd64
# 如果抓不到这个镜像,可以尝试一下这个备用地址:
# swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard-spray:latest-amd64
持久化
KuboardSpray
的信息保存在容器的/data
路径,请将其映射到一个您认为安全的地方,上面的命令中,将其映射到了~/kuboard-spray-data
路径;- 只要此路径的内容不受损坏,重启、升级、重新安装
Kuboard-Spray
,或者将数据及Kuboard-Spray
迁移到另外一台机器上,> 您都可以找回到原来的信息。
注意: 这里为何使用eipwork/kuboard-spray:v1.2.4-amd64
这个版本?因为官网推荐的版本安装失败–问题Q1
http://这台机器的IP
,输入用户名 admin
,默认密码 Kuboard123
,即可登录 Kuboard-Spray
界面因为我们的容器引擎是 docker20,所以选这个(
按需加载资源包
)
如果不想自己踩坑,建议和我一样:如下资源包 ↓
注意:这里有个坑,切莫使用当前大版本中最新小版本:
- 比如最开始我导入的资源包如下 适用于
docker20.10
的最新版本kuborad-spray
,结果最后安装k8s集群的时候,死活装不上
- 最终使用如下版本,成功完成安装(
建议大家在尝试新玩具时,最好别用最新的,节省时间,珍爱生命
)
- 权限问题
- 导入资源包时,可能会碰到
no such file or directory
或者permission denied
之类的错误提示,通常是因为您开启了SELinux
,导致kuboard-spray
不能读取映射到容器/data
的路径- 离线导入
- 如果您处在内网环境,上图中的列表默认将是空的,请注意其中的 离线加载资源包 按钮,它可以引导您轻松完成资源包的离线加载过程。
在 Kuboard-Spray
界面中,导航到 集群管理 界面,点击界面中的 添加集群安装计划 按钮,填写表单如下:
重要: kuboard-spray 所在机器不能当做 K8S 集群的一个节点,因为安装过程中会重启集群节点的容器引擎,这会导致 kuboard-spray 被重启掉。
如果集群日志界面提示您集群已经安装成功,此时您可以返回到集群规划页面,此界面将自动切换到 访问集群 标签页,如下图所示:
界面给出了三种方式可以访问 kubernetes 集群:
cat /etc/redhat-release
解决:安装
v1.2.4-amd64
这个版本docker hub
最新的
docker run -d \
--restart=unless-stopped \
--name=kuboard-spray \
-p 80:80/tcp \
-e TZ=Asia/Shanghai \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/kuboard-spray-data:/data \
eipwork/kuboard-spray:v1.2.4-amd64
# 如果抓不到这个镜像,可以尝试一下这个备用地址:
# swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard-spray:latest-amd64
芭比Q了 所有节点重装系统? no、no、no 别着急,我们直接升级内核就行,看下面操作
解决:升级 centos内核,把7.5 升级到最新 7.9即可解决
yum
会把下载的软件包和eader
存储在cache
中,而不自动删除。所以需要先使用yum clean all
命令清除缓存。yum clean all
- 然后使用
yum update
命令升级所有包、软件和系统内核。该操作有风险,请注意备份数据yum update
- 期间会有询问你是否安装,有三个选项供你选择,输入
y
即可,然后开始自动下载安装- 更新安装完后,重启系统
reboot
- 验证
# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)