转载:CentOS7.9 利用 KubeKey 扩容 Kubernetes v1.26 Worker 节点实战
知识点
定级:入门级
KubeKey 安装部署 KubeSphere 和 Kubernetes
KubeKey 定制化部署集群
KubeSphere v3.4.0 功能概览
Kubernetes 基本操作
CentOS 系统内核升级
演示服务器配置
主机名 | IP | CPU | 内存 | 系统盘 | 数据盘 | 用途 |
---|---|---|---|---|---|---|
ks-master-1 | 192.168.9.91 | 4 | 16 | 40 | 100 | KubeSphere/k8s-master |
ks-master-2 | 192.168.9.92 | 4 | 16 | 40 | 100 | KubeSphere/k8s-master |
ks-master-3 | 192.168.9.93 | 4 | 16 | 40 | 100 | KubeSphere/k8s-master |
ks-worker-1 | 192.168.9.95 | 4 | 16 | 40 | 100 | k8s-worker/CI |
ks-worker-2 | 192.168.9.96 | 4 | 16 | 40 | 100 | k8s-worker |
ks-worker-3 | 192.168.9.97 | 4 | 16 | 40 | 100 | k8s-worker |
ks-storage-1 | 192.168.9.81 | 4 | 16 | 40 | 100/100/100/100/100 | ElasticSearch/GlusterFS/Ceph-Rook/Longhorn/NFS/ |
ks-storage-2 | 192.168.9.82 | 4 | 16 | 40 | 100/100/100/100 | ElasticSearch/GlusterFS/Ceph-Rook/Longhorn/ |
ks-storage-3 | 192.168.9.83 | 4 | 16 | 40 | 100/100/100/100 | ElasticSearch/GlusterFS/Ceph-Rook/Longhorn/ |
registry | 192.168.9.80 | 4 | 8 | 40 | 100 | Sonatype Nexus 3 |
合计 | 10 | 40 | 152 | 400 | 2000 |
实战环境涉及软件版本信息
操作系统:CentOS 7.9 x86_64
KubeSphere:v3.4.0
Kubernetes:v1.26.5
Containerd:1.6.4
KubeKey: v3.0.10
1. 本文简介
上一期,我们实战讲解了使用 KubeKey v3.0.10 自动化部署 3 Master 和 1 Worker 的 Kubernetes 集群和 KubeSphere。
本期我们将模拟真实的生产环境演示如何使用 KubeKey 将新增的 Worker 节点加入到已有的 Kubernetes 集群。
2. 操作系统基础配置
新增加的 Worker 节点,操作系统基础配置与初始化安装部署时 Worker 节点的配置保持一致。
其他节点配置说明:在 Master-1 节点上将 SSH 公钥发送到新增加的 Worker 节点。
请注意, 以下操作无特殊说明时需在所有新增节点上执行。本文只选取 Worker-2 节点作为演示,并假定其余服务器都已按照相同的方式进行配置和设置。
2.1 配置主机名
# 更改主机名 hostnamectl set-hostname ks-worker-2 # 切入新的终端会话,验证主机名修改成功 bash
注意:worker 节点的主机名前缀是 ks-worker-
2.2 配置 DNS
echo "nameserver 114.114.114.114" > /etc/resolv.conf
2.3 配置服务器时区
配置服务器时区为 Asia/Shanghai。
timedatectl set-timezone Asia/Shanghai
2.4 配置时间同步
安装 chrony 作为时间同步软件。
yum install chrony -y
修改配置文件 /etc/chrony.conf,修改 ntp 服务器配置。
vi /etc/chrony.conf # 删除所有的 server 配置 server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst # 增加国内的 ntp 服务器,或是指定其他常用的时间服务器 pool cn.pool.ntp.org iburst # 可以使用 sed 自动替换生成 sed -i '/centos.pool.ntp.org/d' /etc/chrony.conf sed -i "2a pool cn.pool.ntp.org iburst" /etc/chrony.conf
重启并设置 chrony 服务开机自启动。
systemctl enable chronyd --now
验证 chrony 同步状态。
# 执行查看命令 chronyc sourcestats -v # 正常的输出结果如下 [root@ks-worker-2 ~]# chronyc sourcestats -v 210 Number of sources = 4 .- Number of sample points in measurement set. / .- Number of residual runs with same sign. | / .- Length of measurement set (time). | | / .- Est. clock freq error (ppm). | | | / .- Est. error in freq. | | | | / .- Est. offset. | | | | | | On the -. | | | | | | samples. \ | | | | | | | Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev ============================================================================== stratum2-1.ntp.mow01.ru.> 31 15 104m +0.159 1.100 +2357us 3096us tick.ntp.infomaniak.ch 32 16 104m -0.003 2.560 +3440us 5839us 36.110.235.196 32 19 90m -0.074 0.631 -4723us 1107us ntp.ams1.nl.leaseweb.net 29 19 105m +0.099 1.789 +48ms 4333us
2.5 关闭系统防火墙
systemctl stop firewalld && systemctl disable firewalld
2.6 禁用 SELinux
# 使用 sed 修改配置文件,实现彻底的禁用 sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # 使用命令,实现临时禁用,这一步其实不做也行,KubeKey 会自动配置 setenforce 0
2.7 安装系统依赖
在所有节点上,以 root 用户登陆系统,执行下面的命令为 Kubernetes 安装系统基本依赖包。
# 安装 Kubernetes 系统依赖包 yum install curl socat conntrack ebtables ipset ipvsadm -y
2.8 基础配置自动化 Shell 脚本
除配置主机名之外,上述 2-7 步骤的所有操作,都可以整理成自动化配置脚本。
echo "nameserver 114.114.114.114" > /etc/resolv.conf timedatectl set-timezone Asia/Shanghai yum install chrony -y sed -i '/centos.pool.ntp.org/d' /etc/chrony.conf sed -i "2a pool cn.pool.ntp.org iburst" /etc/chrony.conf systemctl enable chronyd --now chronyc sourcestats -v systemctl stop firewalld && systemctl disable firewalld sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 yum install curl socat conntrack ebtables ipset ipvsadm -y
2.9 Master-1 节点额外配置
本小节为可选配置项,只需要在 Master-1 节点执行。如果你使用纯密码的方式作为服务器远程连接认证方式,可以忽略本节内容。
输入以下命令将 SSH 公钥从 Master-1 节点发送到其他节点。命令执行时输入 yes,以接受服务器的 SSH 指纹,然后在出现提示时输入 root 用户的密码。
ssh-copy-id root@192.168.9.96 ssh-copy-id root@192.168.9.97
添加并上传 SSH 公钥后,您现在可以执行下面的命令验证,通过 root 用户连接到所有服务器,无需密码验证。
[root@ks-master-1 ~]# ssh root@192.168.9.96 # 登陆输出结果 略
3. 操作系统磁盘配置
服务器新增一块数据盘 /dev/sdb,用于 Containerd 和 Kubernetes Pod 的持久化存储。
本小节的配置比较简单,因此,下面的内容为无废话实操版。
请注意,以下操作无特殊说明时需在所有新增节点上执行。本文只选取 Worker-2 节点作为演示,并假定其余服务器都已按照相同的方式进行配置和设置。
3.1 使用 LVM 配置磁盘
为了满足部分用户希望在生产上线后,磁盘容量不够时可以实现扩容,本文采用了 LVM 的方式配置磁盘(实际上,本人维护的生产环境,几乎不用 LVM)
创建 PV
pvcreate /dev/sdb
创建 VG
vgcreate data /dev/sdb
创建 LV
# 使用所有空间,VG 名字为 data,LV 名字为 lvdata lvcreate -l 100%VG data -n lvdata
3.2 格式化磁盘
mkfs.xfs /dev/mapper/data-lvdata
3.3 磁盘挂载
手工挂载
mkdir /data mount /dev/mapper/data-lvdata /data/
开机自动挂载
tail -1 /etc/mtab >> /etc/fstab
3.4 创建数据目录
创建 openebs 本地数据根目录
mkdir -p /data/openebs/local
创建 Containerd 数据目录
mkdir -p /data/containerd
创建 Containerd 数据目录软连接
ln -s /data/containerd /var/lib/containerd
说明: KubeKey 不支持在部署的时候更改 Containerd 的数据目录,只能用这种变通的方式(也可以提前手工安装 Containerd,建议)。
3.5 磁盘配置自动化 Shell 脚本
pvcreate /dev/sdb vgcreate data /dev/sdb lvcreate -l 100%VG data -n lvdata mkfs.xfs /dev/mapper/data-lvdata mkdir /data mount /dev/mapper/data-lvdata /data/ tail -1 /etc/mtab >> /etc/fstab mkdir -p /data/openebs/local mkdir -p /data/containerd ln -s /data/containerd /var/lib/containerd
4. 操作系统高级配置
此小节的操作内容为升级 CentOS 7.9 操作系统内核,命令执行过程跟集群其他节点相比有删减,只保留了必须执行的命令。
请注意,以下操作无特殊说明时需在集群所有节点上执行。本文只选取 Worker-2 节点作为演示,并假定其余服务器都已按照相同的方式进行配置和设置。
4.1 增加 ELRepo 软件源
导入 RPM GPG public key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装 ELRepo
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
4.2 安装新版本内核
yum --enablerepo=elrepo-kernel install kernel-lt
注意: 这里我们只安装内核,同时安装其他包,会有包 conflicts 的报错。
4.3 配置新内核引导系统
执行内核升级的命令,正确执行后,系统内核还是默认的版本,如果此时直接执行 reboot
命令,重启后使用的内核版本还是默认的 3.10,不会使用新的 5.4.254 的内核。
修改系统默认内核为新内核
grubby --set-default "/boot/vmlinuz-5.4.254-1.el7.elrepo.x86_64"
注意:命令成功执行,无任何输出。
4.4 重启系统验证新内核并安装其他 Kernel 相关软件包
重启系统,使用新内核引导系统
reboot
安装其他 Kernel 相关软件包
在使用新内核引导系统后,安装其他 Kernel 相关软件包,解决之前出现的依赖冲突问题。
# 卸载旧版本的 kernel-tools 相关软件包,保留 kernel,避免新内核异常无法进入系统 yum remove kernel-tools-3.10.0-1160.71.1.el7.x86_64 kernel-tools-libs-3.10.0-1160.71.1.el7.x86_64 # 安装新版本的 kernel-tools 相关软件包 yum --enablerepo=elrepo-kernel install kernel-lt-tools kernel-lt-tools-libs
4.5 高级配置自动化 Shell 脚本
除重启验证流程之外,上述 1-3 步骤的所有操作,都可以整理成自动化配置脚本。
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm -y yum --enablerepo=elrepo-kernel install kernel-lt -y grubby --set-default "/boot/vmlinuz-5.4.254-1.el7.elrepo.x86_64"
5. 使用 KubeKey 扩容 Worker 节点
接下来我们使用 KubeKey 将新增加的节点加入到 Kubernetes 集群,整个过程比较简单,仅需两步。
修改 KubeKey 部署时使用的集群配置文件
执行增加节点的命令
5.1 修改集群配置文件
通过 SSH 登陆到 master-1 节点,切换到原有的 kubekey 目录,修改原有的集群配置文件,我们实战中使用的名字为 kubesphere-v340-v1265.yaml,请根据实际情况修改 。
主要修改点:
spec.hosts 部分:增加新的 worker 节点的信息。
spec.roleGroups.worker 部分:增加新的 worker 节点的信息
修改后的示例如下:
apiVersion: kubekey.kubesphere.io/v1alpha2 kind: Cluster metadata: name: sample spec: hosts: - {name: ks-master-1, address: 192.168.9.91, internalAddress: 192.168.9.91, port: 22, user: root, password: "P@88w0rd"} - {name: ks-master-2, address: 192.168.9.92, internalAddress: 192.168.9.92, user: root, privateKeyPath: "~/.ssh/id_ed25519"} - {name: ks-master-3, address: 192.168.9.93, internalAddress: 192.168.9.93, user: root, privateKeyPath: "~/.ssh/id_ed25519"} - {name: ks-worker-1, address: 192.168.9.95, internalAddress: 192.168.9.95, user: root, privateKeyPath: "~/.ssh/id_ed25519"} - {name: ks-worker-2, address: 192.168.9.96, internalAddress: 192.168.9.96, user: root, privateKeyPath: "~/.ssh/id_ed25519"} - {name: ks-worker-3, address: 192.168.9.97, internalAddress: 192.168.9.97, user: root, privateKeyPath: "~/.ssh/id_ed25519"} roleGroups: etcd: - ks-master-1 - ks-master-2 - ks-master-3 control-plane: - ks-master-1 - ks-master-2 - ks-master-3 worker: - ks-worker-1 - ks-worker-2 - ks-worker-3 .... # 下面的内容保持不变
5.2 使用 KubeKey 增加节点
在增加节点之前,我们再确认一下当前集群的节点信息。
[root@ks-master-1 kubekey]# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ks-master-1 Ready control-plane 129m v1.26.5 192.168.9.91 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4 ks-master-2 Ready control-plane 129m v1.26.5 192.168.9.92 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4 ks-master-3 Ready control-plane 129m v1.26.5 192.168.9.93 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4 ks-worker-1 Ready worker 128m v1.26.5 192.168.9.95 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4
接下来我们执行下面的命令,使用修改后的配置文件将新增的 Worker 节点加入集群。
export KKZONE=cn ./kk add nodes -f kubesphere-v340-v1265.yaml
注意: export KKZONE=cn 一定要先执行,否则会去 DockerHub 上拉取镜像。
上面的命令执行后,首先 kk 会检查部署 Kubernetes 的依赖及其他详细要求。检查合格后,系统将提示您确认安装。输入 yes 并按 ENTER 继续部署。
[root@ks-master-1 kubekey]# ./kk add nodes -f kubesphere-v340-v1265.yaml _ __ _ _ __ | | / / | | | | / / | |/ / _ _| |__ ___| |/ / ___ _ _ | \| | | | '_ \ / _ \ \ / _ \ | | | | |\ \ |_| | |_) | __/ |\ \ __/ |_| | \_| \_/\__,_|_.__/ \___\_| \_/\___|\__, | __/ | |___/ 11:15:55 CST [GreetingsModule] Greetings 11:15:55 CST message: [ks-master-3] Greetings, KubeKey! 11:15:55 CST message: [ks-worker-3] Greetings, KubeKey! 11:15:56 CST message: [ks-worker-1] Greetings, KubeKey! 11:15:56 CST message: [ks-worker-2] Greetings, KubeKey! 11:15:56 CST message: [ks-master-1] Greetings, KubeKey! 11:15:56 CST message: [ks-master-2] Greetings, KubeKey! 11:15:56 CST success: [ks-master-3] 11:15:56 CST success: [ks-worker-3] 11:15:56 CST success: [ks-worker-1] 11:15:56 CST success: [ks-worker-2] 11:15:56 CST success: [ks-master-1] 11:15:56 CST success: [ks-master-2] 11:15:56 CST [NodePreCheckModule] A pre-check on nodes 11:15:56 CST success: [ks-worker-2] 11:15:56 CST success: [ks-worker-3] 11:15:56 CST success: [ks-worker-1] 11:15:56 CST success: [ks-master-2] 11:15:56 CST success: [ks-master-3] 11:15:56 CST success: [ks-master-1] 11:15:56 CST [ConfirmModule] Display confirmation form +-------------+------+------+---------+----------+-------+-------+---------+-----------+--------+--------+------------+------------+-------------+------------------+--------------+ | name | sudo | curl | openssl | ebtables | socat | ipset | ipvsadm | conntrack | chrony | docker | containerd | nfs client | ceph client | glusterfs client | time | +-------------+------+------+---------+----------+-------+-------+---------+-----------+--------+--------+------------+------------+-------------+------------------+--------------+ | ks-worker-1 | y | y | y | y | y | y | y | y | y | | v1.6.4 | | | | CST 11:15:56 | | ks-worker-2 | y | y | y | y | y | y | y | y | y | | | | | | CST 11:15:56 | | ks-worker-3 | y | y | y | y | y | y | y | y | y | | | | | | CST 11:15:56 | | ks-master-1 | y | y | y | y | y | y | y | y | y | | v1.6.4 | | | | CST 11:15:56 | | ks-master-2 | y | y | y | y | y | y | y | y | y | | v1.6.4 | | | | CST 11:15:56 | | ks-master-3 | y | y | y | y | y | y | y | y | y | | v1.6.4 | | | | CST 11:15:56 | +-------------+------+------+---------+----------+-------+-------+---------+-----------+--------+--------+------------+------------+-------------+------------------+--------------+ This is a simple check of your environment. Before installation, ensure that your machines meet all requirements specified at https://github.com/kubesphere/kubekey#requirements-and-recommendations Continue this installation? [yes/no]:
安装过程日志输出比较多,为了节省篇幅这里就不展示了。
部署完成需要大约 15 分钟左右,具体看网速和机器配置,本次部署完成耗时 7 分钟。
部署完成后,您应该会在终端上看到类似于下面的输出。
11:21:21 CST [AutoRenewCertsModule] Generate k8s certs renew script 11:21:21 CST success: [ks-master-3] 11:21:21 CST success: [ks-master-2] 11:21:21 CST success: [ks-master-1] 11:21:21 CST [AutoRenewCertsModule] Generate k8s certs renew service 11:21:21 CST success: [ks-master-2] 11:21:21 CST success: [ks-master-1] 11:21:21 CST success: [ks-master-3] 11:21:21 CST [AutoRenewCertsModule] Generate k8s certs renew timer 11:21:22 CST success: [ks-master-3] 11:21:22 CST success: [ks-master-1] 11:21:22 CST success: [ks-master-2] 11:21:22 CST [AutoRenewCertsModule] Enable k8s certs renew service 11:21:22 CST success: [ks-master-2] 11:21:22 CST success: [ks-master-3] 11:21:22 CST success: [ks-master-1] 11:21:22 CST Pipeline[AddNodesPipeline] execute successfully
6. 扩容后集群状态验证
6.1 KubeSphere 管理控制台验证集群状态
我们打开浏览器访问 master-1 节点的 IP 地址和端口 30880,登陆 KubeSphere 管理控制台的登录页面。
进入集群管理界面,单击左侧「节点」菜单,点击「集群节点」查看 Kubernetes 集群可用节点的详细信息。
通过上面的图可以看出,最小化部署的 KubeSphere 整体资源消耗并不高,再看两张底层虚拟化(PVE)上 Master-1 和 Worker-1 的资源消耗。
Master-1(4C 16G)
Worker-1(4C 16G)
6.2 Kubectl 命令行验证集群状态
查看集群节点信息
在 master-1 节点运行 kubectl 命令获取 Kubernetes 集群上的可用节点列表。
kubectl get nodes -o wide
在输出结果中可以看到,当前的 Kubernetes 集群内的可用节点、节点的内部 IP、节点角色、节点的 Kubernetes 版本号、容器运行时及版本号、操作系统类型及内核版本等信息。
[root@ks-master-1 kubekey]# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ks-master-1 Ready control-plane 139m v1.26.5 192.168.9.91 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4 ks-master-2 Ready control-plane 139m v1.26.5 192.168.9.92 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4 ks-master-3 Ready control-plane 139m v1.26.5 192.168.9.93 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4 ks-worker-1 Ready worker 138m v1.26.5 192.168.9.95 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4 ks-worker-2 Ready worker 2m45s v1.26.5 192.168.9.96 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4 ks-worker-3 Ready worker 2m44s v1.26.5 192.168.9.97 <none> CentOS Linux 7 (Core) 5.4.254-1.el7.elrepo.x86_64 containerd://1.6.4
查看 Pod 列表
输入以下命令获取在 Kubernetes 集群上运行的 Pod 列表,按工作负载在 NODE 上的分布排序。
kubectl get pods -o wide -A | sort -k 8
注意: 输出结果太多,只展示了新增 Worker 节点上运行的 Pod 信息,请确保所有的 Pod 状态 为 Running。
在输出结果中 (有删减) 可以看到, 新增的两个 Worker 节点上已经运行了 5 个必须的基本组件。
[root@ks-master-1 kubekey]# kubectl get pods -o wide -A | sort -k 8 NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kubesphere-monitoring-system node-exporter-5tzlw 2/2 Running 0 5m19s 192.168.9.96 ks-worker-2 <none> <none> kube-system calico-node-jm56s 1/1 Running 0 5m19s 192.168.9.96 ks-worker-2 <none> <none> kube-system haproxy-ks-worker-2 1/1 Running 0 5m14s 192.168.9.96 ks-worker-2 <none> <none> kube-system kube-proxy-5k4k6 1/1 Running 0 5m19s 192.168.9.96 ks-worker-2 <none> <none> kube-system nodelocaldns-s8fr9 1/1 Running 0 5m19s 192.168.9.96 ks-worker-2 <none> <none> kubesphere-monitoring-system node-exporter-lggbk 2/2 Running 0 5m18s 192.168.9.97 ks-worker-3 <none> <none> kube-system calico-node-vcmb2 1/1 Running 0 5m18s 192.168.9.97 ks-worker-3 <none> <none> kube-system haproxy-ks-worker-3 1/1 Running 0 5m14s 192.168.9.97 ks-worker-3 <none> <none> kube-system kube-proxy-tgmd5 1/1 Running 0 5m18s 192.168.9.97 ks-worker-3 <none> <none> kube-system nodelocaldns-4x77p 1/1 Running 0 5m18s 192.168.9.97 ks-worker-3 <none> <none>
查看 Image 列表
输入以下命令查看在 Worker 节点上已经下载的 Image 列表。
crictl images ls
在新增的 Worker 节点执行,输出结果如下:
[root@ks-worker-2 ~]# crictl images ls IMAGE TAG IMAGE ID SIZE registry.cn-beijing.aliyuncs.com/kubesphereio/cni v3.23.2 a87d3f6f1b8fd 111MB registry.cn-beijing.aliyuncs.com/kubesphereio/coredns 1.9.3 5185b96f0becf 14.8MB registry.cn-beijing.aliyuncs.com/kubesphereio/haproxy 2.3 0ea9253dad7c0 38.5MB registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache 1.15.12 5340ba194ec91 42.1MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controllers v3.23.2 ec95788d0f725 56.4MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy v1.26.5 08440588500d7 21.5MB registry.cn-beijing.aliyuncs.com/kubesphereio/kube-rbac-proxy v0.11.0 29589495df8d9 19.2MB registry.cn-beijing.aliyuncs.com/kubesphereio/node-exporter v1.3.1 1dbe0e9319764 10.3MB registry.cn-beijing.aliyuncs.com/kubesphereio/node v3.23.2 a3447b26d32c7 77.8MB registry.cn-beijing.aliyuncs.com/kubesphereio/pause 3.8 4873874c08efc 310kB registry.cn-beijing.aliyuncs.com/kubesphereio/pod2daemon-flexvol v3.23.2 b21e2d7408a79 8.67MB
注意: 新增节点的 Image 初始数量为 11 个。
至此,我们完成了在已有三个 Master 节点和一个 Worker 节点的 Kubernetes 集群中增加 2 个 Worker 节点的全部任务。
7. 总结
本文主要实战演示了在利用 KubeKey v3.0.10 自动化增加 Worker 节点到已有 Kubernetes 集群的详细过程。
全文总结概括包含以下内容 :
新增节点的操作系统基础配置
新增节点的操作系统数据盘 LVM 配置、磁盘挂载、数据目录创建
新增节点的操作系统内核升级
KubeKey 集群配置文件的修改更新
利用 KubeKey 自动化增加新的节点
增加节点完成后的验证过程
KubeShere 和 最小化 Kubernetes 集群的 CPU、内存消耗情况