养老院网站建设,重庆市建立网站的网络公司,iis发布网站无法访问,装修网站排名前十不等更新题库
CKS 题库 9、网络策略 NetworkPolicy 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 nameqaqa
kubectl label pod products-service environmenttesting -n dev-team创建NetworkPolicy
vi /cks/net/po.yamlmetadata: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里的混淆。创建 检查
kubectl apply -f /cks/net/po.yaml
kubectl get networkpolicy -n dev-team