2024 CKS 题库 | 9、网络策略 NetworkPolicy

不等更新题库

CKS 题库 9、网络策略 NetworkPolicy

file

Task

创建一个名为 pod-restriction 的 NetworkPolicy 来限制对在 namespace dev-team 中运行的 Pod products-service 的访问。
只允许以下 Pod 连接到 Pod products-service

  • namespace qaqa 中的 Pod
  • 位于任何 namespace,带有标签 environment: testing 的 Pod
    注意:确保应用 NetworkPolicy。

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


参考

https://kubernetes.io/zh/docs/concepts/services-networking/network-policies/#networkpolicy-resource


解答:

切换集群

kubectl config use-context KSSH00301

检查namespace标签

模拟环境已提前打好标签了,所以你只需要检查标签即可。但为了防止考试时,没有给你打标签,所以还是需要你将下面打标签的命令记住。

# 查看 qaqa 命名空间标签(name: qaqa)
kubectl get ns --show-labels

# 查看 pod 标签(environment: testing)
kubectl get pod -n dev-team --show-labels

如果 Pod 或者 Namespace 没有标签,则需要打上标签。
注意:我这里将pod products-service的标签打成了environment: testing,下面会有解释,不要和题目里要求的“位于任何namespace,带有标签environment: testing的Pod”这句话里的标签混淆了。

kubectl label ns qaqa name=qaqa
kubectl label pod products-service environment=testing -n dev-team

创建NetworkPolicy

vi /cks/net/po.yaml
metadata:
  name: pod-restriction #修改
  namespace: dev-team #修改
spec:
  podSelector:
  matchLabels:
    environment: testing #根据题目要求的标签修改,这个写的是Pod products-service的标签,也就是使用kubectl get pod -n dev-team --show-labels查出来的pod的标签,这个标签不要和题目里要求的“位于任何namespace,带有标签environment: testing的Pod”这句话里的标签混淆了,两个没有关系,所以可不一样。比如你考试时查出来的POD products-service的标签是name: products,那这里的environment: testing就要换成name: products。
  policyTypes:
  - Ingress #注意,这里只写 - Ingress,不要将 - Egress也复制进来!
  ingress:
  - from: #第一个from
    - namespaceSelector:
      matchLabels:
        name: qaqa #命名空间有name: qaqa标签的
  - from: #第二个from
    - namespaceSelector: {} #修改为这样,所有命名空间
      podSelector: #注意,这个podSelector前面的“-” 要删除,换成空格,空格对齐要对。
        matchLabels:
          environment: testing #有environment: testing标签的Pod,这个地方是根据题目要求“Pods with label environment: testing , in any namespace”,这句话里的pod标签写的。不要和上面spec里的混淆。

file

创建 检查

kubectl apply -f /cks/net/po.yaml
kubectl get networkpolicy -n dev-team
  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M·K·T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值