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学习-思维导图与学习笔记

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lady_killer9

感谢您的打赏,我会加倍努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值