基于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 也可以正常自动启动了