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-servicename: products-service
spec:containers:- image: nginximagePullPolicy: IfNotPresentname: products-serviceresources: {}dnsPolicy: ClusterFirstrestartPolicy: 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-restrictionnamespace: dev-team
spec:podSelector:matchLabels:run: products-service policyTypes:- Ingressingress:- 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学习-思维导图与学习笔记
上一篇:春日旅游路线