基于kubeadm部署kubernetes集群(二)

一、本文接着上文继续进行node1节点的添加

因为有许多和上次相同的步骤,故此处通过脚本来执行

#停止firewalld服务
systemctl stop firewalld && systemctl disable firewalld

#关闭selinux
sed -i 's/^SELINUX=enforing$/SELINUX=disabled' /etc/selinux/config && setenforce 0

#关闭swap设置
swapoff -a
yes | cp /etc/fstab /etc/fstab_bak
cat /etc/fstab_bak |grep -v swap > /etc/fstab

#解决流量路径不正确问题
cat <<EOF > /etc/sysctl.d/k8s.conf
vm.swappiness = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
#使配置生效
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf

#更改hosts文件
cat >> /etc/hosts <<EOF
192.168.0.1 master.example.com
192.168.0.2 node1.example.com
EOF
#安装docker
yum -y install docker
systemctl enable docker && systemctl start docker

配置阿里k8s源
cat >> /etc/yum.repos.d/k8s.repo <<EOF
[kubernetes]
name=kubernetes repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
EOF

#安装kubelet/kubeadm/kubectl
#这里需要注意,如果你直接运行指令yum -y install kubelet kubeadm kubectl,这里将会自动为你下载最新版本,我们这里为了和视频教程保持一致采用低版本(1.13.0)进行安装(因为随后进行的镜像拉取为低版本镜像)
yum -y install kubelet-1.13.0 kubeadm-1.13.0 kubernetes-cni-0.6.0 kubectl-1.13.0
systemctl enable kubelet && systemctl start kubelet

二、随后进行镜像拉取(与master节点操作相同)

使用上一篇文中的脚本拉取镜像

三、输入创建master节点时的正句token

kubeadm join 192.168.0.175:6443 --token vatur3.j0y4md12rz4h04mp --discovery-token-ca-cert-hash sha256:f684729944a449a5ab20d40a664b1b3fca99a8d33c09fb5db8e1ce125c6e4632

四、随后进行安装kube-flannel,重启docker即可(与master节点操作一致)

五、kubectl get nodes 即可看到node1节点已经安装完毕

六、但是!当博主关闭电脑再次打开虚拟机的时候,k8s并没有正常启动,由于 K8s 必须保持全程关闭交换内存,之前我安装是只是使用 swapoff -a 命令暂时关闭 swap。而机器重启后,swap 还是会自动启用,从而导致 kubelet 无法启动。

(1)首先执行如下命令关闭 swap

(2)接着编辑 /etc/fstab 文件。

(3)将 /dev/mapper/centos-swap swap swap default 0 0 这一行前面加个 # 号将其注释掉。

(4)编辑完毕后保存退出。这样机器重启后 kubelet 也可以正常自动启动了

猜你喜欢

转载自www.cnblogs.com/weisunblog/p/12287513.html