CKS-CN 考试知识点分享(7) 网络策略 Deny和Allow
考试版本:cks-cn v1.33
Context
您必须实施NetworkPolicy来控制现有的Deployments跨namespace的流量。
Taks
首先,为了阻止所有入口流量,在prod namespace中创建一个名为deny-policy的NetworkPolicy。
PS: prod namespace被标记为 env: prod
然后,为了仅允许来自prod namespace中Pod的入口流量,在data namespace中创建一个名为allow-from-prod的NetworkPolicy。
使用prod namespace的标签来允许流量。
PS: data namespace被标记为 env: data
注意:请勿修改或删除任何namespace或Pod。仅创建必须得NetworkPolicy。
参考链接:https://kubernetes.io/zh-cn/docs/concepts/services-networking/network-policies/
Answer
vim deny-policy.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: deny-policynamespace: prod
spec:podSelector: {}policyTypes:- Ingress
vim allow-from-prod.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: allow-from-prodnamespace: data
spec:podSelector: {}policyTypes:- Ingressingress:- from:- namespaceSelector:matchLabels:env: prod
使用策略:
kubectl apply -f deny-policy.yaml
kubectl apply -f allow-from-prod.yaml