RKE 支持为 worker、controlplane、etcd 主机添加或删除节点。

您可以通过修改cluster.yml文件的内容,添加额外的节点,并指定它们在 Kubernetes 集群中的角色;或从cluster.yml中的节点列表中删除节点信息,以达到删除节点的目的。

具体安装步骤参考:Kubernetes rke 集群安装

添加或删除 worker 节点。

通过运行rke up --update-only,只添加或删除工作节点。这将会忽略除了cluster.yml中的工作节点以外的其他内容。

注意

使用--update-only添加或删除 worker 节点时,可能会触发插件或其他组件的重新部署或更新。


以下为添加worker节点具体操作

  • 现有系统环境
操作系统 IP hostnAme
Centos7 64.115.4.23 k8s-master
Centos7 64.115.5.100 k8s-node1
Centos7 64.115.4.200 k8s-node2
  • 添加两台worker节点
操作系统 IP hostnAme
Centos7 64.115.5.111 K8s-node3
Centos7 64.115.5.222 K8s-node4

1.初始化服务器

对新增的服务器进行初始化操作,简单写了个脚本,脚本内容如下,部分参数需根据自己环境进行修改。

#!/bin/bash
set -x 
#k8s集群安装服务器初始化脚本

#安装依赖包
yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wgetvimnet-tools git
#设置防火墙为 Iptables 并设置空规则
systemctl stop firewalld && systemctl disable firewalld
yum -y install iptables-services && systemctl start iptables && systemctl enable iptables&& iptables -F && service iptables save
#关闭 SELINUX
swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab && setenforce 0 && sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#同步时间
ntpdate ntp3.aliyun.com
#调整系统时区
#设置系统时区为中国/上海
timedatectl set-timezone Asia/Shanghai
#将当前的 UTC 时间写入硬件时钟
timedatectl set-local-rtc 0
#重启依赖于系统时间的服务
systemctl restart rsyslog
systemctl restart crond
#配置域名解析
cat >>  EOF > /etc/hosts 
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
64.115.4.23 k8s-master
64.115.5.100 k8s-node1
64.115.5.200 k8s-node2
64.115.5.111 k8s-node3
64.115.5.222 k8s-node4
EOF
#修改主机名
hostnamectl set-hostname  k8s-node3
# docker阿里云源
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

### Install required packages for docker.
yum install -y device-mapper-persistent-data lvm2
yum install -y docker-ce-19.03.8

## Create /etc/docker directory.
mkdir /etc/docker

# Setup daemon.
```bash
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://lqetgo1f.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn/"]
}
EOF
```
mkdir -p /etc/systemd/system/docker.service.d

# Restart Docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker

#重启服务器
reboot
  • 重启后配置
#创建 rke 用户
#useradd rke 
#将rke用户加入docker组
#usermod -aG docker  rke
#免密登录(以下master主机操作)
#su rke
#sh-keygen -t rsa
#ssh-copy-id -i /home/rke/.ssh/id_rsa.pub rke@k8s-master
#ssh-copy-id -i /home/rke/.ssh/id_rsa.pub rke@k8s-node1
#ssh-copy-id -i /home/rke/.ssh/id_rsa.pub rke@k8s-node2
#ssh-copy-id -i /home/rke/.ssh/id_rsa.pub rke@k8s-node3
#ssh-copy-id -i /home/rke/.ssh/id_rsa.pub rke@k8s-node4

2.修改cluster.yml 配置文件

主要修改内容是在原有配置文件基础之上添加两台work节点相关配置。

完整配置文件详情参考:Kubernetes rke 集群安装

image-20220211165136267

3.更新集群

rke up --update-only cluster.yml

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据