file

Context

一个默认拒绝(default-deny)的NetworkPolicy可避免在未定义任何其他NetworkPolicy的namespace中意外公开Pod。

Task

为所有类型为 Ingress+Egress 的流量在 namespace testing 中创建一个名为 denypolicy 的新默认拒绝 NetworkPolicy 。 此新的 NetworkPolicy 必须拒绝 namespace testing 中的所有的 Ingress + Egress 流量。 将新创建的默认拒绝 NetworkPolicy 应用在 namespace testing 中运行的所有 Pod 。

你可以在 /cks/net/p1.yaml 找到一个模板清单文件。


参考:

https://kubernetes.io/zh-cn/docs/concepts/services-networking/network-policies/#默认拒绝所有入口和所有出站流量


解答:

切换集群

kubectl config use-context KSCS00101

编辑模板文件 /cks/net/p1.yaml

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: denypolicy     #注意修改name
  namespace: testing   #添加namespace
spec:
  podSelector: {}
  policyTypes:
  - Ingress            #注意看题,是Ingress + Egress(入口+出口),还是只是Ingress或只是Egress。
  - Egress             #在1.25的考试中,只要求拒绝所有Egress流量,那就只写这这个- Egress即可,这种情况就不要写- Ingress了。

创建并检查

kubectl -f /cks/net/p1.yaml create
kubectl -n testing describe networkpolicies denypolicy

file file