k8s集群添加node节点
·
k8s集群添加node新节点
环境配置:
系统:debian12
配置:cpu4、内存16、硬盘*50g
基础配置
#修改主机名
#] hostnamectl set-hostname node01
#查看
#] hostname

#配置hosts文件,添加解析【此处为添加节点,可以在master节点添加好,复制到node节点】
#] scp /etc/hosts node01:/etc/hosts
#] cat /etc/hosts
192.168.100.216 master01
192.168.100.217 node01
192.168.100.218 node02
192.168.100.219 node03


#查看并同步节点时区
#] timedatectl
#] timedatectl set-timezone Asia/Shanghai

#安装ipset和ipvsadm模块
#] apt install ipset ipvsadm -y
#配置模块,还是直接从master节点复制
#] scp /etc/modules-load.d/ipvs.conf node01:/etc/modules-load.d/ipvs.conf
#加载模块
#] modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- ip_conntrack

安装容器及配置
#查看已有节点的安装版本,尽量保持一致。
#] docker -v && containerd -v && docker buildx version && docker compose version

#安装依赖
#] apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
#导入秘钥和源
#] curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
#] echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list
#刷新
#] apt update
#安装对应的版本包
#] apt install -y \
docker-ce=5:27.5.1-1~debian.12~bookworm \
docker-ce-cli=5:27.5.1-1~debian.12~bookworm \
containerd.io=1.7.25-1 \
docker-buildx-plugin=0.20.0-1~debian.12~bookworm \
docker-compose-plugin=2.32.4-1~debian.12~bookworm
#验证
#] docker -v && containerd -v && docker buildx version && docker compose version

#containerd配置,从已有节点复制。
#] scp /etc/containerd/conf.toml node01:/etc/containerd/conf.toml
#设置开机自启,重启
#] systemctl enable containerd && systemctl restart containerd && systemctl status containerd
安装kubelet、kubeadm 和 kubectl
#查看已有节点的安装版本,尽量保持一致。

#导入秘钥和源
#] curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
#] echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | tee /etc/apt/sources.list.d/kubernetes.list
#刷新
#] apt update
#安装对应的版本包
#] apt install -y \
kubelet=1.29.15-1.1 \
kubeadm=1.29.15-1.1 \
kubectl=1.29.15-1.1

#锁定版本(防止意外升级,导致版本不一致)
# apt-mark hold docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin kubelet kubeadm kubectl
#解锁升级
#] apt-mark unhold docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin kubelet kubeadm kubectl && apt upgrade
添加节点
#确认 CRI 插件已启用(默认就是 true, 如果是 false,改成 true 并保存)
#] grep -E '^\s*SystemdCgroup\s*=' /etc/containerd/config.toml
#如果文件不存在,可以执行生成
#] mkdir -p /etc/containerd
#] containerd config default | sudo tee /etc/containerd/config.toml
#重启下containerd
#] systemctl restart containerd
#加载内核模块并写入启动参数
# 立即加载
#] modprobe br_netfilter
#] modprobe overlay
# 写入开机自动加载
#] cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
overlay
EOF
# 开启 ipv4 转发与桥接流量透传
#] cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
# 生效
#] sysctl --system
#获取当前有效的 join 命令,拿到node节点执行
#] kubeadm token create --print-join-command

#master节点查看
#] kubectl get nodes

完成。
更多推荐
所有评论(0)