Task

创建一个名为 pod-restriction 的 NetworkPolicy 来限制对在 namespace dev-team 中运行的 Pod products-service 的访问。

只运行以下 Pod 连接到 Pod products-service

  • namespace qa 中的 Pod
  • 位于任何 namespace,带有标签 environment:testing 的 Pod

注意: 确保应用 NetworkPolicy。

你可以再 /cks/6/p1.yaml 找到一个模板清单文件。

参考资料

https://kubernetes.io/zh-cn/docs/concepts/services-networking/network-policies/

解答

切换集群

kubectl config use-context KSSH00301

1. 检查 namespace 标签

kubectl get ns --show-labels

查看 pod 标签(environment:testing)

kubectl get pod -n dev-team --show-labels

如果 Pod 或者 Namespace 没有标签,需要打上标签

kubectl label ns qa name=qa

kubectl label pod products-service environment=testing -n dev-team

2. 创建 NetworkPolicy

vim /cks/6/p1.yaml

根据官网修改内容如下:

apiVersion: networking.k8s.io/v1

kind: NetworkPolicy

metadata:

name: pod-restriction

namespace: dev-team

spec:

podSelector:

matchLabels:

environment: testing          # 这个是 pod 的 label 要从show-label中查

policyTypes:

- Ingress

ingress:

- from:

- namespaceSelector:

matchLabels:

name: qa

- from:

- namespaceSelector: {}          # 表示所有命名空间

podSelector:                          # podSelector 前面的 “-”要删除,对齐

matchLabels:

environment: testing          # 这个是所有命名空间有标签的 Pod, 根据题目要求写的 “位于任何 namespace,带有标签 environment:testing 的 Pod”

创建

kubectl apply -f /cks/6/p1.yaml

检查

kubectl get networkpolicy -n dev-team

CKS 考试题整理 (01)-NetworkPolicy的更多相关文章

  1. Java知识系统回顾整理01基础06数组06二维数组

    一.一维数组和二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维数组 ...

  2. linux基础:第三关课前考试题整理

    1.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644, 要求使用命令取得644 这样的数字. [root@server ~]# stat /etc/hosts ...

  3. Java知识系统回顾整理01基础02面向对象01类和对象

    一.面向对象实例--设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女 所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等 这样我们就可以设计一 ...

  4. Java知识系统回顾整理01基础06数组01创建数组

    一.数组定义 定义:数组是一个固定长度的,包含了相同类型数据的 容器 二.声明数组 int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都是一个整数 a 是 ...

  5. Java知识系统回顾整理01基础05控制流程07结束外部循环

    一.break是结束当前循环 二.结束当前循环实例 break; 只能结束当前循环 public class HelloWorld { public static void main(String[] ...

  6. Java知识系统回顾整理01基础05控制流程06break

    一.break break:结束循环 二.练习--直接结束当前for循环 public class HelloWorld { public static void main(String[] args ...

  7. Java知识系统回顾整理01基础05控制流程04 for

    一.for 比较for和while public class HelloWorld { public static void main(String[] args) { //使用while打印0到4 ...

  8. Java知识系统回顾整理01基础05控制流程01if

    一.if if(表达式1){ 表达式2: } 如果表达式1的值是true, 就执行表达式2 public class HelloWorld { public static void main(Stri ...

  9. Java知识系统回顾整理01基础04操作符06三元运算符

    一.三元运算符 表达式?值1:值2 如果表达式为真 返回值1 如果表达式为假 返回值2 if语句学习链接:if语句 public class HelloWorld { public static vo ...

  10. Java知识系统回顾整理01基础04操作符04位操作符

    一.位操作符 位操作符在实际工作中用的并不常见,但是我比较纠结这些位操作.所以实际练习位操作符的每一个操作符的操作实例来理解其具体含义. 建议: 如果确实感兴趣,就看看,个人建议跳过这个章节. 真正工 ...

随机推荐

  1. 这年头,谁的好友列表还没有躺一个ChatGPT啊?

    你要是说这个,我可不困了 大家好,我最近开始使用一款非常有趣的AI机器人,它叫做ChatGPT.ChatGPT是一款独特的聊天机器人,它可以进行智能对话,回答你的问题,还可以学习你的语言习惯,使得对话 ...

  2. 重磅!AWS升级对Apache Hudi的集成

    全球最大云厂商AWS的 Athena 团队又更新了 Athena 与 Apache Hudi 的集成,以支持新功能及最新的 0.8.0 社区版本.早在Apache Hudi还处于孵化阶段时,AWS A ...

  3. 分享一个修改了xml文件再也不用重启的项目mybatis-xmlreload

    自我18年使用 Mybaits 以来,开发环境中如果修改了 xml 文件后,只有重启项目才能生效,如果小项目重启还好,但是对于一个重启需要十几分钟的大型项目来说,这就非常耗时了.开发人员因为修改了xm ...

  4. 迁移学习(DCCL)《Domain Confused Contrastive Learning for Unsupervised Domain Adaptation》

    论文信息 论文标题:Domain Confused Contrastive Learning for Unsupervised Domain Adaptation论文作者:Quanyu Long, T ...

  5. Helm 安装 Kubernetes 监控套件

    Helm 安装 Grafana Prometheus Altermanager 套件 安装helm # 安装helm工具 curl -fsSL -o get_helm.sh https://raw.g ...

  6. [UML]PlantUML安装使用指南

    1 概述 PlantUML 支持在多个平台上安装使用,比如 Eclipse,NetBeans,oneline servlet 等,它也支持多种语言的编辑,例如 C/C++,​ ​PHP​​​,Java ...

  7. InnoDB引擎之flush脏页

    利用 WAL 技术,数据库将随机写转换成了顺序写,大大提升了数据库的性能,由此也带来了内存脏页的问题. 脏页会被后台线程自动 flush,也会由于数据页淘汰而触发 flush,而刷脏页的过程由于会占用 ...

  8. Docker容器核心实践(操作容器)

    镜像和容器是docker中最基础的概念,镜像可以理解为包含应用程序以及其相关依赖的一个基础文件系统,在其启动过程中,以只读的方式被用于创建容器的运行环境,本质上是基于UnionFS文件系统的一组镜像层 ...

  9. 笔记:C++学习之旅 ---string 类、vector和迭代器

    string 类 #include <iostream> #include <string> using namespace std; int main() {         ...

  10. UniApp小程序开发项目创建与运行

    1.准备工作:HbuiderX  +  微信开发者工具下载安装+小程序账号申请开通(这里就不例举了,可以看同账号uniapp小程序开发准备) 2.创建项目 新版本的HbuilderX点击新建项目--选 ...