前期准备:
1、作为集群,最起码需要两台以上的服务器或者虚拟机。其中主节点(master)机器最低要求为CPU 2核,从节点(slave)无严格要求,但是建议最好也是2核以上。

2、机器需要全部安装好docker。且docker的版本要求适配kubernetes. 该文档使用的版本是Kubernetes -- 1.22.4,docker -- 20.10.9

3、检查机器的hostname 中不允许带有下划线。

4、关闭防火墙 (所有机器执行)

systemctl stop firewalld

systemctl disable firewalld

5、禁用SELINUX (所有机器执行)

setenforce 0

6、关闭iptables服务 (所有机器执行)

systemctl stop iptables
systemctl disable iptables

7、修改网桥,执行以下代码:

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

重新加载配置

sysctl -p

安装Kubernetes 组件

1、添加kubernetes 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=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
       https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

2、安装kubeadm,kubelet和kubectl (所有机器执行)

注:这里使用的版本和Kubernetes 的版本一致,都是1.22.4

yum install -y kubelet-1.22.4 kubectl-1.22.4 kubeadm-1.22.4 docker-ce

3、配置kubelet的cgroup,这里需要注意,kubelet的cgroup必须与docker的cgroup-driver一致,否则会提示拒绝连接的错误。如果已经一致了,则不需要再做修改了。 (所有机器执行)

编辑/etc/sysconfig/kubelet,添加下面的配置

KUBELET_CGROUP_ARGS="--cgroup-driver=systemd"
KUBE_PROXY_MODE="ipvs"

4、设置kubelet开机自启 (所有机器执行)

systemctl enable kubelet

5、使用kubeadm创建集群 (master机器执行)

执行:

kubeadm init --pod-network-cidr=10.244.0.0/16

该步骤会拉取k8s所需的docker镜像文件,等待执行完成可以看到如下的一些k8s开头的镜像文件,

如:

执行完成后,会看到结果处有一条kubeadm join开头的命令,复制保存这个,slave节点使用该命令去进行加入集群。

6、进入slave机器,执行完前面准备工作后,执行第5步复制刚刚的join命令,执行后即可加入集群。

在任一台机器上执行kubectl get nodes,查看集群的状态。

节点断掉后重新加入步骤:

  1. 先需要在slave节点执行kubeadm reset,
  2. 重新执行join 命令

以上本人亲测可行,如有遗漏或者描述错误的地方,欢迎指正交流~

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐