apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-specific-traffic # 給這個 NetworkPolicy 取一個名
namespace: dev # 指定這個 NetworkPolicyNamespace
spec:
podSelector: # 定義此 NetworkPolicy 針對的 Pod 範圍
matchLabels:
role: backend # 只針對標籤為 "role=backend" 的 Pod 應用此策略
policyTypes:
- Ingress # 指定該 NetworkPolicy 的類型為 Ingress,表示控制進入這些 Pod 的流量
ingress:
- from: # 定義允許哪些流量進入這些 Pod
- podSelector: # 允許來自特定 Pod 的流量
matchLabels:
role: frontend # 允許來自標籤為 "role=frontend" 的 Pod 的流量
ports: # 指定允許進入的端口
- protocol: TCP # 指定允許的協議為 TCP
port: 8080 # 指定允許的端口號為 8080
https://kubernetes.io/docs/concepts/services-networking/network-policies/
https://godleon.github.io/blog/Kubernetes/k8s-Network-Policy-Overview/
https://earthly.dev/blog/kubernetes-network-policies/