0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【簡単Kubernetes】【CKAD向け】Kubernetes NetworkPolicy入門:PodラベルとIngress/Egress設定のポイント整理

Posted at

こんにちは。今回は Kubernetes の NetworkPolicy における Pod ラベルと Ingress/Egress 設定の基本ポイントについて解説します。


🧩 NetworkPolicyの基本

NetworkPolicy は Kubernetes クラスター内の Pod 間通信や外部からのアクセスを制御するためのリソースです。
特に、Pod のラベルと NetworkPolicy の podSelector.matchLabels が一致していることが重要です。


🔍 Pod と NetworkPolicy のマッチング

  • 対象の Pod が1つしかない場合、その Pod のラベルと NetworkPolicy の podSelector.matchLabels完全に一致している必要があります。
  • これがずれていると、その Pod に対する通信制御が正しく適用されません。

🚪 Ingress と Egress の違い

用語 説明
Ingress 外部(PodやNamespaceなど)から対象 Pod への受信トラフィックの制御
Egress 対象 Pod から外部(他 Pod や外部ネットワーク)への送信トラフィックの制御

⚠️ Ingress(NetworkPolicy)と Kubernetes Ingress の違い

  • Kubernetes の Ingress は外部から Service へのアクセスを管理します。
  • NetworkPolicy の Ingress はクラスター内部の Pod 間の受信通信を制限します。

混同しないように注意が必要です。


🔧 NetworkPolicy の ports 設定時の注意点

NetworkPolicy の ports 設定は YAML の書き方で意味が変わる場合があります。

  • - ports: のようにハイフンがついている場合:OR 条件(いずれかにマッチすれば許可)
  • ハイフンなしの ports: の場合:AND 条件(すべての条件を満たす必要あり)

📌 具体例解説

egress:
  - to:                     # 1つ目の egress ルール(AND 条件のみ)
    - podSelector:          # id=api のラベルを持つ Pod への通信を許可
        matchLabels:
          id: api
    ports:                  # 追加のセレクター(AND 条件)
    - port: 53              # UDP 53番ポート(DNS通信)を許可
      protocol: UDP

この例の意味は:

id: api のラベルを持つ Pod へ、かつ UDP の 53 番ポートへの通信のみ許可する


🔄 OR 条件の例(複数のポートや宛先がある場合)

egress:
  - to:
    - podSelector:
        matchLabels:
          id: api
    - podSelector:
        matchLabels:
          id: db
    ports:
    - port: 53
    - port: 80

この場合は、

  • 宛先が id: api または id: db の Pod
  • ポートが 53 または 80

のいずれかに合致すれば通信許可となります。


📝 まとめ

  • Pod のラベルと NetworkPolicy の podSelector.matchLabels は必ず一致させる
  • NetworkPolicy の Ingress と Kubernetes の Ingress は全く別物なので注意
  • ports の書き方(ハイフンの有無)で AND/OR の意味が変わる
  • 具体例を参考にして、正確な NetworkPolicy 設計を心がけよう

今回の内容が NetworkPolicy 設計の理解に役立てば幸いです。
質問やコメントがあれば、ぜひお気軽にどうぞ 😊

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?