k8s学习-CKS真题-网络策略精细化控制
Posted lady_killer9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s学习-CKS真题-网络策略精细化控制相关的知识,希望对你有一定的参考价值。
目录
题目
Task
创建一个名为 pod-restriction 的 NetworkPolicy 来限制对在 namespace dev-team 中运行的 Pod products-service 的访问。
只允许以下 Pod 连接到 Pod products-service:
namespace qaqa 中的 Pod
位于任何 namespace,带有标签 environment: testing 的 Pod
注意:确保应用 NetworkPolicy。
环境搭建
创建命名空间
命令
kubectl create ns dev-team
kubectl create ns qaqa
截图
创建products-service
命令
kubectl run products-service --image=nginx --dry-run=clinet -o yaml>products-service.yaml
修改products-service.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
run: products-service
name: products-service
spec:
containers:
- image: nginx
imagePullPolicy: IfNotPresent
name: products-service
resources:
dnsPolicy: ClusterFirst
restartPolicy: Always
status:
命令
kubectl create -f products-service.yaml -n dev-team
截图
pod打标签(default下的busybox-demo,请读者自行创建)
命令
kubectl label po busybox-demo environment=testing
截图
解题
pod-restriction.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: pod-restriction
namespace: dev-team
spec:
podSelector:
matchLabels:
run: products-service
policyTypes:
- Ingress
ingress:
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: qaqa
- from:
- podSelector:
matchLabels:
environment: testing
解释:对于dev-team命名空间下标签打了run=products-service的Pod的如流量进行限制,打了kubernetes.io/metadata.name=qaqa标签的命名空间下的Pod都可以访问,打了environment=testing标签的Pod都可以访问。
参考
k8s-网络策略
k8s学习-网络策略NetworkPolicy(概念、模版、创建、删除等)
k8s学习-CKA真题-网络策略NetworkPolicy
更多k8s相关内容,请看文章:k8s学习-思维导图与学习笔记
以上是关于k8s学习-CKS真题-网络策略精细化控制的主要内容,如果未能解决你的问题,请参考以下文章