Kubernetes - 網路策略



網路策略定義了同一名稱空間中的 pod 如何相互通訊以及網路端點。它要求在 API 伺服器的執行時配置中啟用 extensions/v1beta1/networkpolicies。其資源使用標籤選擇 pod,並定義除名稱空間中定義的內容之外允許向特定 pod 傳輸流量的規則。

首先,我們需要配置名稱空間隔離策略。基本上,負載平衡器需要這種網路策略。

kind: Namespace
apiVersion: v1
metadata:
   annotations:
      net.beta.kubernetes.io/network-policy: |
      {
         "ingress": 
         {
            "isolation": "DefaultDeny"
         }
      }

$ kubectl annotate ns <namespace> "net.beta.kubernetes.io/network-policy = 
{\"ingress\": {\"isolation\": \"DefaultDeny\"}}"

建立名稱空間後,我們需要建立網路策略。

網路策略 Yaml

kind: NetworkPolicy
apiVersion: extensions/v1beta1
metadata:
   name: allow-frontend
   namespace: myns
spec:
   podSelector:
      matchLabels:
         role: backend
   ingress:
   - from:
      - podSelector:
         matchLabels:
            role: frontend
   ports:
      - protocol: TCP
         port: 6379
廣告