Kubernetes-network-policy

提供:Dev Guides
移動先:案内検索

Kubernetes-ネットワークポリシー

ネットワークポリシーは、同じ名前空間内のポッドが相互におよびネットワークエンドポイントと通信する方法を定義します。 APIサーバーのランタイム構成で extensions/v1beta1/networkpolicies を有効にする必要があります。 そのリソースは、ラベルを使用してポッドを選択し、ルールを定義して、ネームスペースで定義されている特定のポッドへのトラフィックを許可します。

まず、名前空間分離ポリシーを構成する必要があります。 基本的に、この種のネットワークポリシーはロードバランサーに必要です。

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