Cka Zhenti 演習 (3) ネットワーク ポリシーの構成 Networkpolicy

トピック 3 ネットワーク ポリシー        

        名前空間 my-app に allow-port-from-namespace の新しい networkpolicy を作成し、新しい NetwoekPolicy が名前空間 big-corp の Pod が名前空間 my-app の Pod のポート 8080 に接続できるようにします。

Networkolicy のさらなる確認:

8080 でリッスンしていない Pod へのアクセスを許可しない

名前空間 my-app 以外からの Pod へのアクセスを許可しない


答え:

テスト環境の切り替え

kubectl config use-context (スイッチ環境)

kubectl label 名前空間 big-corp name=big-corp #namespace label

#ビジターの名前空間にラベル label がない場合は、手動で入力する必要があります。独自のラベルラベルがあれば、直接使用することもできます

vim networkpolicy.yaml

#k8s公式で次の対応する位置を見つけ、次のコンテンツをコピーします。下にコピーがあります。直接使用できます

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: default
spec:
  podSelector:
    matchLabels:
      role: db
  policyTypes:
    - Ingress
    - Egress
  ingress:
    - from:
        - ipBlock:
            cidr: 172.17.0.0/16
            except:
              - 172.17.1.0/24
        - namespaceSelector:
            matchLabels:
              project: myproject
        - podSelector:
            matchLabels:
              role: frontend
      ports:
        - protocol: TCP
          port: 6379
  egress:
    - to:
        - ipBlock:
            cidr: 10.0.0.0/24
      ports:
        - protocol: TCP
          port: 5978

 トピックの必要に応じてコンテンツを変更します

修正前

 修正後

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-port-from-namespace
  namespace: my-app
spec:
  podSelector:
    matchLabels: {}
  policyTypes:
    - Ingress
  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              project:  big-corp
      ports:
        - protocol: TCP
          port: 8080

kubectl apply -f networkpolicy.yaml

確認:

kubectl describe networkpolicy -n my-app

おすすめ

転載: blog.csdn.net/m0_65307735/article/details/129556648