K8S加入新的node节点实现方式
作者:lee_yanyi
文章主要介绍了基于kubeadm安装的k8s集群加入新的节点的过程,包括初始化节点、安装Docker和相关组件、配置镜像下载加速器、添加软件源、安装组件、上传和解压镜像、加入新的节点并查看节点状态等步骤
基于kubeadm安装的k8s集群加入新的节点。
节点服务器名称:node1
1、初始化新的node1节点服务器
# 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭selinux sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久 setenforce 0 # 临时 # 关闭swap swapoff -a # 临时 sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久 # 根据规划设置主机名 node1 # hostnamectl set-hostname <hostname> hostnamectl set-hostname node1 # 在新的node1修改hosts ,并同步到原有的master,node上 cat >> /etc/hosts << EOF 192.168.136.131 master 192.168.136.132 node 192.168.136.136 node1 EOF #设置免密登陆,在master上执行 ssh-copy-id node1 # 将桥接的IPv4流量传递到iptables的链 cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system # 生效 # 时间同步 yum install ntpdate -y ntpdate time.windows.com
2、安装Docker、kubelet、kubeadm
2.1 安装Docker
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum -y install docker-ce systemctl enable docker && systemctl start docker
配置镜像下载加速器:
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF重启docker:
systemctl daemon-reload systemctl restart docker docker info
2.2 添加阿里云YUM软件源
cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
2.3 安装kubeadm,kubelet
这里指定与原有的版本号一致的版本部署:
yum install -y kubelet-1.20.4 kubeadm-1.20.4 systemctl enable kubelet
3、上传calico镜像
解压镜像文件
docker load -i k8s-images-v1.20.4.tar.gz
查看docker镜像
docker images

4、加入node1节点
4.1查询加入节点的命令,在master上执行
kubeadm token create --print-join-command
![]()
4.2在node1上执行以上加入命令
kubeadm join 192.168.136.131:6443 --token 7419pd.7f1t458gunw31062 --discovery-token-ca-cert-hash sha256:e2426645cc62d3ef06e722d9cc464ecdb32bdb840a3a88d6d8989eb8cf5b1835

4.3在master查看节点信息
kubectl get nodes

状态显示为Ready 表示添加成功。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
