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

Posted lady_killer9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s学习-CKA真题-网络策略NetworkPolicy相关的知识,希望对你有一定的参考价值。

目录


题目

分析

创建一个名字为all-port-from-namespace的NetworkPolicy。
这个NetworkPolicy允许internal命名空间下的Pod访问该命名空间下的9000端口。
不允许不是internal命令空间的下的Pod访问
不允许访问没有监听9000端口的Pod。
注意:这里为了验证结果,后续使用了端口80。

命令

环境搭建

创建命名空间internal

kubectl create ns internal


busy-box-for-internal.yaml

apiVersion: v1
kind: Pod
metadata:
  name: busybox-demo
spec:
  containers:
  - name: busybox
    image: busybox:latest
    imagePullPolicy: IfNotPresent
    command: ['sh','-c','sleep 3600']

在命名空间internal创建pod busy-box

kubectl create busy-box-for-internal.yaml -n internal

nginx-demo-for-internal.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-demo
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80

在命名空间internal创建pod nginx-demo

kubectl create nginx-demo-for-internal.yaml -n internal

解题

all-port-from-namespace.yaml

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: all-port-from-namespace
  namespace: internal
spec:
  podSelector: 
  policyTypes:
    - Ingress
  ingress:
    - from:
      - podSelector: 
      ports:
      - port: 80
        protocol: TCP

创建NetworkPolicy all-port-from-namespace

kubectl create -f all-port-from-namespace.yaml

结果

创建NetworkPolicy之前

创建NetworkPolicy之后

可以看到,创建后,internal之外的Pod无法访问

参考

k8s学习-kubectl命令常用选项详解与实战

更多k8s相关内容,请看文章:k8s学习-思维导图与学习笔记

以上是关于k8s学习-CKA真题-网络策略NetworkPolicy的主要内容,如果未能解决你的问题,请参考以下文章

k8s学习-CKA真题-Deployment扩缩容

k8s学习-CKA真题-Deployment扩缩容

k8s学习-CKA真题-sidecar代理

k8s学习-CKA真题-k8s升级(kubeadmkubeletkubectl等)

k8s学习-CKA真题-k8s升级(kubeadmkubeletkubectl等)

k8s学习-CKA真题-监控Pod日志