一、Kubernetes集群收集基本
1.1 Kubernetes收集模型
Kubernetes的收集模型基於IP-per-Pod,每個Pod都被分配一個唯一的IP地點,這使得Pod之間可能在集群外部直接經由過程IP停止通信。
1.2 效勞發明與負載均衡
效勞(Service)是Kubernetes頂用於拜訪Pod的一種抽象。Service經由過程虛擬IP(VIP)將客戶端懇求負載均衡到後端的Pods。
二、Kubernetes收集插件
2.1 Flannel
Flannel是一個簡單的覆蓋收集插件,它經由過程VXLAN技巧實現Pod之間的跨節點通信。
2.2 Calico
Calico是一個基於BGP的路由跟戰略管理東西,實用於大年夜型集群,供給富強的收集戰略支撐。
三、Kubernetes收集設置實戰
3.1 設置Flannel
apiVersion: kubenetwork.k8s.io/v1
kind: Pod
metadata:
name: flannel-pod
spec:
containers:
- name: flannel
image: flannel
command:
- /bin/sh
- -c
- 'flanneld --ip-masq & sleep infinity'
3.2 設置Calico
apiVersion: kubenetwork.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all
spec:
podSelector: {}
policyTypes:
- Ingress
- Egress
四、Kubernetes收集戰略
4.1 收集戰略概述
收集戰略用於把持Pod之間的通信,它定義了哪些通信是被容許的,哪些是被拒絕的。
4.2 創建收集戰略
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-icp
spec:
podSelector:
matchLabels:
app: icp
policyTypes:
- Ingress
- Egress
五、Kubernetes收集毛病排查
5.1 Pod無法拜訪外部收集
- 檢查Pod的收集設置,利用
kubectl exec
進入Pod外部,履行ip route
命令檢查路由表。 - 檢查DNS設置,經由過程
cat /etc/resolv.conf
檢查DNS效勞器地點,實驗在Pod內利用nslookup
命令剖析外部域名。
5.2 Service無法拜訪
- 檢查Service的設置,經由過程
kubectl get svc
檢查Service的IP地點、端口及關聯的Endpoint能否正常。 - 檢查kube-proxy組件的運轉狀況,可經由過程
kubectl get pods -n kube-system grep kube-proxy
檢查kube-proxy Pod能否正常運轉。
六、Kubernetes收集設置最佳現實
6.1 利用CNI插件
CNI插件是實現Kubernetes收集設置的關鍵組件,抉擇合適的CNI插件可能進步收集機能跟牢固性。
6.2 收集戰略與保險
公道設置收集戰略,可能保證集群的保險性。
6.3 監控與日記
對Kubernetes集群的收集停止監控跟日記記錄,可能幫助疾速定位跟處理成績。
經由過程以上內容,妳可能對Kubernetes集群收集設置有一個單方面的懂得。在現實過程中,碰到成績時,可能結合現真相況跟本文中的技能停止排查跟處理。