文章目录
- 搭建k8s集群
- 1.推荐配置
- 2.使用`Kuboard-Spray`安装k8s集群
-
- 2.1.配置要求
- 2.2.操作系统兼容性
- [2.3.安装 Kuboard-Spray](#2.3.安装 Kuboard-Spray)
- 2.4.加载离线资源包
- 2.5.规划并安装集群
- 2.6.安装成功
- 2.7.访问集群
- 3.涉及的命令
- 4.问题汇总
搭建k8s集群
前提是各节点已经安装了docker
1.推荐配置
1.1.服务器配置
节点 | 服务 | 配置 | 备注 |
---|---|---|---|
node1 | 192.168.33.102 | 2C4G | kuboard-spray、kuboard |
node2 | 192.168.33.103 | 2C4G | master、etcd、worker |
node3 | 192.168.33.104 | 2C4G | master、etcd、worker |
node4 | 192.168.33.105 | 2C4G | master、etcd、worker |
node5 | 192.168.33.106 | 2C4G | worker |
1.2.软件版本
软件 | 版本 | 备注 |
---|---|---|
Docker | 20.10.9, | |
Kubernetes | v1.23.4 | |
kuboard-spray | v1.2.4-amd64 | k8s 集群安装工具 |
kuboard | v3.3.0.0 | k8s集群管理工具 |
2.使用Kuboard-Spray
安装k8s集群
使用Kuboard-Spray安装k8s
Kuboard-Spray 是一款可以在图形界面引导下完成 Kubernetes 高可用集群离线安装的工具
2.1.配置要求
- 至少 2 台 2核4G 的服务器
- 本文档中,CPU 必须为 x86 架构,暂时未适配 arm 架构的 CPU
CentOS 7.8
、CentOS 7.9
或Ubuntu 20.04
2.2.操作系统兼容性
Centos版本 | 本文档是否兼容 | 备注 |
---|---|---|
Centos 7.8 | ✔ | 已验证 |
Centos 7.9 | ✔ | 已验证 |
Ubuntu 20.04 | ✔ | 已验证 |
2.3.安装 Kuboard-Spray
-
取一台服务器或虚拟机,执行一条命令,即可完成
Kuboard-Spray
的安装。 -
对这台服务器的最低要求为:
1核2G
不少于 10G 磁盘空余空间
已经安装好 docker
-
待执行的命令如下:
shell
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
界面
2.4.加载离线资源包
因为我们的容器引擎是 docker20,所以选这个(
按需加载资源包
)如果不想自己踩坑,建议和我一样:如下资源包 ↓
- 在 Kuboard-Spray 界面中,导航到 系统设置 --> 资源包管理 界面,可以看到已经等候您多时的 Kuboard-Spray 离线资源包,如下图所示
- 点击 导 入 按钮,在界面的引导下完成资源包的加载。
注意:这里有个坑,切莫使用当前大版本中最新小版本:
- 比如最开始我导入的资源包如下 适用于
docker20.10
的最新版本kuborad-spray
,结果最后安装k8s集群的时候,死活装不上
- 最终使用如下版本,成功完成安装(
建议大家在尝试新玩具时,最好别用最新的,节省时间,珍爱生命
)
- 权限问题
- 导入资源包时,可能会碰到
no such file or directory
或者permission denied
之类的错误提示,通常是因为您开启了SELinux
,导致kuboard-spray
不能读取映射到容器/data
的路径- 离线导入
- 如果您处在内网环境,上图中的列表默认将是空的,请注意其中的 离线加载资源包 按钮,它可以引导您轻松完成资源包的离线加载过程。
2.5.规划并安装集群
-
在
Kuboard-Spray
界面中,导航到 集群管理 界面,点击界面中的 添加集群安装计划 按钮,填写表单如下:- 集群名称: 自定义名称,本文中填写为 kuboard123;
- 资源包:选择前面步骤中导入的离线资源包。
- 点击上图对话框中的 确定 按钮后,将进入集群规划页面,在该界面中添加您每个集群节点的连接参数并设置节点的角色,如下图所示:
重要: kuboard-spray 所在机器不能当做 K8S 集群的一个节点,因为安装过程中会重启集群节点的容器引擎,这会导致 kuboard-spray 被重启掉。
- 点击上图的 保存 按钮,再点击 执行 按钮,可以启动集群的离线安装过程,如下图所示:
2.6.安装成功
2.7.访问集群
-
如果集群日志界面提示您集群已经安装成功,此时您可以返回到集群规划页面,此界面将自动切换到 访问集群 标签页,如下图所示:
界面给出了三种方式可以访问 kubernetes 集群:
- 在集群主节点上执行 kubectl 命令
- 获取集群的 .kubeconfig 文件
- 将集群导入到 kuboard管理界面
3.涉及的命令
3.1.linux
-
查看操作系统是centos还是ubuntu
shellcat /etc/redhat-release
4.问题汇总
Q1:启动离线集群安装报错
解决:安装
v1.2.4-amd64
这个版本docker hub
最新的
shell
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
Q2.操作系统不支持(升级内核)
芭比Q了 所有节点重装系统? no、no、no 别着急,我们直接升级内核就行,看下面操作
解决:升级 centos内核,把7.5 升级到最新 7.9即可解决
yum
会把下载的软件包和eader
存储在cache
中,而不自动删除。所以需要先使用yum clean all
命令清除缓存。
shellyum clean all
然后使用
yum update
命令升级所有包、软件和系统内核。该操作有风险,请注意备份数据
shellyum update
期间会有询问你是否安装,有三个选项供你选择,输入
y
即可,然后开始自动下载安装更新安装完后,重启系统
shellreboot
验证
shell# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)