Scope: 設計・運用で誤りやすい点を優先して整理。SKU/region/limitsは変更されるため、実装時はリンク先のcurrent Microsoft Learnを再確認してください。
Overview
pod→service→node→VNet→egress/ingressをKubernetes/Azure両レイヤで追う。
Key technical points
- kubectl側endpoint/service/network policyとAzure側NSG/UDR/LB/NATを分離する。
- DNS、SNAT exhaustion、CNI route、NetworkPolicy denyを代表原因として確認する。
Design guidance
- Kubernetes objectとAzure network resourceを1対1で混同しない。data pathをnode/pod/service単位で追う。
- pod/node CIDR、service CIDR、VNet/on-prem CIDRの重複を避ける。
- ingress/egress/network policy/observabilityをcluster作成後の追加事項ではなく初期designに含める。
Operations checklist
- kubectlでpod/service/endpoints/network policyを確認する。
- Azure側NSG/UDR/LB/NAT/CNI configを確認する。
- pod→service→node→externalの順でpacket pathを追う。
Common pitfalls
- pod CIDRとon-prem/VNet CIDR overlapを見落とす。
- Kubernetes NetworkPolicy denyをAzure NSG障害と誤認する。
Verification pattern
Control plane
resource state、association、policy、route/BGP configが期待通りかを確認。
resource state、association、policy、route/BGP configが期待通りかを確認。
Data plane
同一5-tupleまたは実application journeyで到達性・latency・security判定を実証。
同一5-tupleまたは実application journeyで到達性・latency・security判定を実証。
Observability
diagnostic logs / flow logs / Network Watcherで実際の判定とpathを残す。
diagnostic logs / flow logs / Network Watcherで実際の判定とpathを残す。
Rollback
設定を戻した後のroute convergence、DNS cache、existing sessionまで確認。
設定を戻した後のroute convergence、DNS cache、existing sessionまで確認。