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真题-网络策略精细化控制的主要内容,如果未能解决你的问题,请参考以下文章

k8s学习-CKS真题-secret创建使用

k8s学习-CKS真题-Pod指定ServiceAccount

k8s学习-CKS真题-RoleBinding

k8s学习-CKA真题-网络策略NetworkPolicy

k8s学习-CKA真题-网络策略NetworkPolicy

精品k8s(kubernetes)的网络策略详networkpolicy实例精讲