实验目的:在已有的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 版权协议,转载请附上原文出处链接和本声明。