k8s集群加入一个新的node节点

  • Post author:
  • Post category:其他


实验目的:在已有的k8s集群中加入一个新的node节点,并正常工作。

已有的k8s集群节点信息:

centos7.9 kubeadm 安装kubernetes集群


192.168.206.130 master

192.168.206.131 k8s-node1

192.168.206.136 k8s-node2

新加入一个节点:

192.168.206.138 k8s-node3

kubectl get nodes

kubectl get nodes -o wide

在进行下面的步骤之前,要找到最初创建k8s集群时,系统提示的用来将新节点加入集群的语句:

kubeadm join 192.168.206.130:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:97a177b891f75f92f07e61aedbfc8a34cd35d6785d55b9cc829dcf532e1de5b9

下面正式开始:

第一步:初始化系统参数 ,修改hosts和hostname

1,,130,131,136,分别写入hosts:

echo "192.168.206.138 k8s-node3" >>/etc/hosts

2,新节点138如下:

#修改hosts和hostname
echo "192.168.206.130 master" >>/etc/hosts
echo "192.168.206.131 k8s-node1" >>/etc/hosts
echo "192.168.206.136 k8s-node2" >>/etc/hosts
echo "192.168.206.138 k8s-node3" >>/etc/hosts
hostname k8s-node3
echo k8s-node3 > /etc/hostname

#修改系统参数
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
swapoff -a
yes | cp /etc/fstab /etc/fstab_bak 
cat /etc/fstab_bak |grep -v swap > /etc/fstab
 
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
 
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
 
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
 
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF


#配置yum源:
cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/repo/Centos-7.repo 

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum clean all
yum makecache fast

#安装docker
yum -y install docker
cat  << EOF  > /etc/docker/daemon.json 
{
    "registry-mirrors": ["https://wyrsf017.mirror.aliyuncs.com"]
}
EOF
systemctl start docker
systemctl enable docker
docker version

安装kubelet-1.19.0 kubeadm-1.19.0 kubectl-1.19.0(建议和master节点的版本一致)

yum -y install kubelet-1.19.0 kubeadm-1.19.0 
systemctl restart kubelet
systemctl enable kubelet
systemctl daemon-reload
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

最后一步:将138接入到集群中

kubeadm join 192.168.206.130:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:97a177b891f75f92f07e61aedbfc8a34cd35d6785d55b9cc829dcf532e1de5b9

3,130 master节点上查看集群信息:

kubectl get nodes -o wide

实验成功!



版权声明:本文为fenglei2020原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。