K8S认证|CKS题库+答案| 9. 网络策略 NetworkPolicy

发布于:2025-06-10 ⋅ 阅读:(20) ⋅ 点赞:(0)

目录

9. 网络策略 NetworkPolicy

免费获取并激活 CKA_v1.31_模拟系统 

题目

开始操作:

1)、切换集群

2)、检查 namespace 标签

3)、官网找模板

4)、创建 NetworkPolicy

5)、应用策略

6)、查看策略


9. 网络策略 NetworkPolicy

免费获取并激活 CKA_v1.31_模拟系统 

题目

您必须在以下Cluster/Node上完成此考题:
Cluster                                      Master node                               Worker node
CKS00909                                   master                                         node01
.
设置配置环境:
[candidate@node01]$ kubectl config use-context CKS00909

.

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 找到一个模板清单文件。

开始操作:

1)、切换集群

kubectl config use-context CKS00909

2)、检查 namespace 标签

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

CKS模拟系统截图

检查 pod 标签

#如果 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
kubectl get pod -n dev-team --show-labels

CKS模拟系统截图

3)、官网找模板

官网搜索“networkpolicy”

找到如下位置

 

4)、创建 NetworkPolicy

vim /cks/net/po.yaml

具体内容如下:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: pod-restriction                       #修改
  namespace: dev-team                         #修改
spec:
  podSelector:
    matchLabels:
      nvironment: testing                     #根据题目要求的标签修改,这个写的是 Pod products-service 的标签
  policyTypes:
  - Ingress                                   #注意,不要将 - Egress 也复制进来!
  ingress:
  - 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里的混淆。

5)、应用策略

kubectl apply -f /cks/net/po.yaml

6)、查看策略

kubectl get networkpolicy -n dev-team

CKS模拟系统截图


CKA高仿真环境简单演示视频