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

在这里插入图片描述

完成。

更多推荐