[ k8s-002 ] k8s集群搭建(2)

100 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情

本节接上一章节,继续使用脚本的方式,安装我们在容器化部署中所需要的组件

这部分是关于网络插件的安装,网络插件多种多样,这里选择是的flannel,只需要执行以下命令,即可在容器化部署中正常使用网络

# 部署flannel网络
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

# 将kube-flannel.yml中的kube-flannel-ds-arm64、kube-flannel-ds-arm、kube-flannel-ds-ppc64le和kube-flannel-ds-s390x这4个daemonset删除,只保留kube-flannel-ds-amd64,因为一般的实验环境都是amd64架构的

kubectl apply -f kube-flannel.yml
kubectl get all -n kubesystem
# 此时coredns相关的2个服务可以正常启动

kubectl get nodes -o wide
kubectl get all -n kubesystem
kubectl get pod -A
kubectl -n kube-system get po

以下初始化操作只需要在k8s-node1和node2节点操作。

将另外两个节点,加入到k8s集群中,如果不执行此步骤,则在集群无法找到相关节点,也无法进行后续服务的安装

kubeadm join 172.16.17.183:6443 --token ss9zt5.qel4igowljm6573c \
        --discovery-token-ca-cert-hash sha256:590671512e64a67f947038a5386d830b3e0c3ed652cf320d0abdb2cdee39d874 

# 此时两个node节点自动生成/var/lib/kubelet/config.yaml,且报错从config.yaml文件不存在,变成docker cgroup权限不正确

systemctl start kubelet
systemctl status kubelet
kubeadm reset

# 启动成功后再重新join

总结

通过官方文档能够安装完k8s集群,只是万里长征的第一步。真正难点在于,解决各种在实际应用中遇到的难题,这里面不止有难理解的、未知待学习的组件,更有因为简单一个空格或者符号引发的异常。当正真应用到实战当中,经过千锤百炼,终将成为一名合格的yaml工程师。多掌握一门技能,才能在内卷的职场中做最闪亮的仔