亲测:linux系统下搭建k8s服务+可视化dashboard(上)
k8s,linux
前期准备:
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,查看集群的状态。
节点断掉后重新加入步骤:
- 先需要在slave节点执行kubeadm reset,
- 重新执行join 命令
以上本人亲测可行,如有遗漏或者描述错误的地方,欢迎指正交流~
更多推荐
所有评论(0)