附034.Kubernetes_v1.21.0高可用部署架构二 (6)

Contiv 为多种用例提供可配置网络(使用 BGP 的原生 L3,使用 vxlan 的 overlay,经典 L2 和 Cisco-SDN/ACI)和丰富的策略框架。Contiv 项目完全开源。安装工具同时提供基于和不基于 kubeadm 的安装选项。

Flannel 是一个可以用于 Kubernetes 的 overlay 网络提供者。
+Romana 是一个 pod 网络的层 3 解决方案,并且支持 NetworkPolicy API。Kubeadm add-on 安装细节可以在这里找到。

Weave Net 提供了在网络分组两端参与工作的网络和网络策略,并且不需要额外的数据库。

CNI-Genie 使 Kubernetes 无缝连接到一种 CNI 插件,例如:Flannel、Calico、Canal、Romana 或者 Weave。

提示:本方案使用Calico插件。

部署calico

确认相关配置,如MTU,网卡接口,Pod的IP地址段。

[root@master01 ~]# cat kubeadm/calico/calico.yaml | grep -A1 -E 'CALICO_IPV4POOL_CIDR|IP_AUTODETECTION_METHOD|veth_mtu:' #检查配置 …… veth_mtu: "1400" #calico建议为主机MTU减去50, -- - name: IP_AUTODETECTION_METHOD value: "interface=eth.*" #检查节点之间的网卡 -- - name: CALICO_IPV4POOL_CIDR value: "10.10.0.0/16" #检查Pod网段 …… [root@master01 ~]# kubectl apply -f kubeadm/calico/calico.yaml [root@master01 ~]# kubectl get pods --all-namespaces -o wide #查看部署 [root@master01 ~]# kubectl get nodes

003


提示:官方calico参考:https://docs.projectcalico.org/manifests/calico.yaml。

修改node端口范围

默认Kubernetes的端口范围为30000-32767,为便于后期应用,如ingress的80、443端口,建议开放全端口。同时开放全端口范围后,需要注意避开公共端口,如8080。

[root@master01 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml …… - --service-node-port-range=1-65535 ……

提示:如上需要在所有Master节点操作。

开启非安全端口

kube-scheduler和kube-controller-manager的健康检查使用非安全端口,因此建议打开。

root@master01:~# vi /etc/kubernetes/manifests/kube-scheduler.yaml …… # - --port=0 #删掉或注释关闭非安全端口的配置,从而打开非安全端口 …… root@master01:~# vi /etc/kubernetes/manifests/kube-controller-manager.yaml …… # - --port=0 #删掉或注释关闭非安全端口的配置,从而打开非安全端口 ……

提示:如上需在所有Master节点操作。

添加Worker节点 添加Worker节点 [root@master01 ~]# source environment.sh [root@master01 ~]# for node_ip in ${NODE_IPS[@]} do echo ">>> ${node_ip}" ssh root@${node_ip} "kubeadm join 172.24.8.100:16443 --token 6h8ncy.g0lzrgiav8ct7kyo \ --discovery-token-ca-cert-hash sha256:41c1966aa5aaf6108b938daf3bdcf103991be5fd8141854f800a4bbc3df7979a" ssh root@${node_ip} "systemctl enable kubelet.service" done

提示:如上仅需Master01节点操作,从而实现所有Worker节点添加至集群,若添加异常可通过如下方式重置:

[root@worker01 ~]# kubeadm reset [root@worker01 ~]# ifconfig cni0 down [root@worker01 ~]# ip link delete cni0 [root@worker01 ~]# ifconfig flannel.1 down [root@worker01 ~]# ip link delete flannel.1 [root@worker01 ~]# rm -rf /var/lib/cni/ 确认验证 [root@master01 ~]# kubectl get nodes #节点状态 [root@master01 ~]# kubectl get cs #组件状态 [root@master01 ~]# kubectl get serviceaccount #服务账户 [root@master01 ~]# kubectl cluster-info #集群信息 [root@master01 ~]# kubectl get pod -n kube-system -o wide #所有服务状态

004


005

提示:更多Kubetcl使用参考:https://kubernetes.io/docs/reference/kubectl/kubectl/
https://kubernetes.io/docs/reference/kubectl/overview/
更多kubeadm使用参考:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/

Metrics部署 Metrics介绍

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzfyz.html