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

目录

[9. 网络策略 NetworkPolicy](#9. 网络策略 NetworkPolicy)

[免费获取并激活 CKA_v1.31_模拟系统](#免费获取并激活 CKA_v1.31_模拟系统)

题目

开始操作:

1)、切换集群

[2)、检查 namespace 标签](#2)、检查 namespace 标签)

3)、官网找模板

[4)、创建 NetworkPolicy](#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)、切换集群

bash 复制代码
kubectl config use-context CKS00909

2)、检查 namespace 标签

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

CKS模拟系统截图

检查 pod 标签

bash 复制代码
#如果 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

bash 复制代码
vim /cks/net/po.yaml

具体内容如下:

bash 复制代码
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)、应用策略

bash 复制代码
kubectl apply -f /cks/net/po.yaml

6)、查看策略

bash 复制代码
kubectl get networkpolicy -n dev-team

CKS模拟系统截图


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

相关推荐
阿里云云原生2 小时前
AI 开发新常态:当 Cursor、Claude、Codex 并行,如何统一管理散落的 Skill 资产?
云原生·ai编程
探索云原生8 小时前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Suroy9 小时前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭9 小时前
运行你的第一个Docker容器
后端·docker·容器
Java之美10 小时前
从edge-trigger到level-trigger,谈谈 Kubernetes controller 的开发范式
云原生
阿里云云原生1 天前
深度解构:当 Append-only 的 SLS 遇上 Update/Delete,是如何实现设计权衡的?
云原生
Web3探索者1 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo1 天前
Linux系统中网线与USB网络共享冲突
linux
荣--1 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森1 天前
动手实战学 Docker — 从零到集群编排完全指南
运维