目录
3、网络策略 NetworkPolicy
免费获取题库配套 CKA_v1.31_模拟系统
题目:
您必须在以下Cluster/Node上完成此考题:
Cluster Master node Worker node
dk8s master node01
.
设置配置环境:
[candidate@node01]$ kubectl config use-context dk8s
.
Context
指定网络策略限制外部流量对命名空间内运行Pod的访问
.
Task
在现有的namespace my-app中创建一个名为allow-port-from-namespace的新NetworkPolicy。确保新的NetworkPolicy允许namespace echo中的Pods连接到namespace my-app中的Pods的9000端口。进一步确保新的NetworkPolicy:
.
不允许对没有在监听 端口9000的Pods的访问
不允许非来自 namespace echo中的Pods的访问
开始操作:
1)、切换集群
# 考试时有多套集群环境,以免答题环境相互干扰。
# 所以考试时务必按照题目要求先切换到所对应的集群环境,才是正确答题的前提,非常重要
# 请务必确认现在所处节点为node01,否则无法切换集群而报错
kubectl config use-context dk8s
2)、检查标签
# 查看 命名空间的 标签
kubectl get ns --show-labels
# 如果访问者的namespace没有标签label,则需要手动打一个。如果有一个独特的标签label,则也可以直接使用
kubectl label ns echo project=echo
CKA模拟环境操作截图
3)、官网查找模板
登录官网,然后左边搜索框输入“networkpolicy”,点enter键
找到“网络策略”这个关键词,尤其在下面“2”处简略描述中有我们需要的模板,点击“网络策略”
进入页面后点击右侧标签,然后点击红框2位置右侧复制按钮(重叠的方框),复制Yaml文件模板
编辑Yaml文件时将下图红框部分全部删除,蓝色字体是按照题目要求需要修改和添加的部分
4)、编辑网络策略
#从官网复制网络策略模板粘贴到此处进行编辑
vim networkpolicy.yaml
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-port-from-namespace # 题目指定的名字
namespace: my-app # 被访问者命名空间
spec:
podSelector:
matchLabels: {} # 这两行必须写,也可写成 podSelector: {}
policyTypes:
- Ingress # 策略影响入栈流量
ingress:
- from:
- namespaceSelector:
matchLabels:
project: echo #访问者的命名空间标签
ports:
- protocol: TCP
port: 9000 # 被访问者的 端口
一定要保证原先的格式不变,CKA模拟环境操作截图:
如ingress策略里面from需要和ports及name前的那个小黄线需要对齐,否则会有如下报错。
5)、应用网络策略
kubectl apply -f networkpolicy.yaml
6)、检查网络策略
kubectl describe networkpolicy -n my-app
CKA模拟环境操作截图
CKA高仿真环境简短视频演示