安装过程
前面9步和主节点操作流程相同
1,安装基本软件包
yum install wget net‐tools vim bash‐comp* ‐y
2,设置主机名,管理节点设置主机名为master
hostnamectl set-hostname master
su root
3,配置 Master 和 work 节点的域名
vim /etc/hosts
192.168.1.50 master
192.168.1.51 node1
192.168.1.52 node2
4,关闭 防火墙
systemctl stop firewalld
systemctl disable firewalld
5,关闭 SeLinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
6,关闭 swap
swapoff -a
yes | cp /etc/fstab /etc/fstab_bak
cat /etc/fstab_bak |grep -v swap > /etc/fstab
7,配置Docker, K8S的阿里云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=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
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum clean all
yum repolist
8,安装并启动 docker
yum install -y docker-ce.x86_64 docker-ce-cli.x86_64 containerd.io.x86_64
mkdir /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
9,编辑/usr/lib/systemd/system/docker.service
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
# Restart Docker
systemctl daemon-reload
systemctl enable docker
systemctl restart docker
此时查看 docker info,可以看到默认 Cgroup Driver为 systemd
卸载旧版本
yum remove -y kubelet kubeadm kubectl
安装kubelet、kubeadm、kubectl
yum install -y kubeadm-1.19.3-0 kubectl-1.19.3-0 kubelet-1.19.3-0
重启 docker,并启动 kubelet
systemctl enable kubelet && systemctl start kubelet
将桥接的IPv4流量传递到iptables的链
echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables
vi /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
10,kubadm join 加入集群
这里的token是主节点初始化的时候记录的token,忘记的话需要重新去主节点生成token
kubeadm join 192.168.1.50:6443 --token 9uomuo.5trla2410rvc4yum --discovery-token-ca-cert-hash sha256:e817908582b98d16e92dabecb1d413691676024a5a2e7ba04ed20bd354b0c7a8
默认token的有效期为24小时,当过期之后,该token就不可用了。解决方法如下:重新生成新的token,在master端执行
kubeadm token create --print-join-command
执行完之后回到主节点