kubernetes之NetworkPolicy

一、背景

        如果希望在OSI模型中第三层或第四层控制网络流量,则应该使用NetworkPolicy这个对象;NetworkPolicy以应用为中心,主要用来控制Pod网络流量的进入和流出

二、实例说明

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata: 
  name: network-policy-test
  namespace: luoxianming
spec: 
  podSelector: 
    matchLabels: 
      app: web
  policyTypes: 
    - Ingress
    - Egress
  ingress: 
    - from: 
        - ipBlock: 
            cidr: 172.17.0.0/16
            except: 
              - 172.17.0.0/24
        - namespaceSelector: 
            matchLabels: 
              project: luoxianming
        - podSelector: 
            matchLabels: 
              app: web
      ports: 
        - protocol: TCP
          port: 8080 
  egress: 
    - to: 
        - ipBlock: 
            cidr: 10.0.0.0/24
      ports: 
        - protocol: TCP
          port: 8080

 解释:

1) 当policyTypes中包含了Ingress和Egress,则表明:该范围的Pod是出口和入口都有进行限制,白名单是通过Ingress和egress字段,进行放行

2) 默认Pod的入口和出口都是非隔离的

3) NetworkPolicy 资源依赖于网络插件实现

4) podSelector表明使用NetworkPolicy的Pod,当podSelector为空,表明选择名称空间下素有Pod,选择的名称空间为namespace指定

三、参数解释

podSelector: 每个NetworkPolicy中都包括一个podSelector,表示一组Pod进行选择

policyTypes: 每个NetworkPolicy都包含一个policyTypes列表,其中包含Ingress或Egress或者两者兼有;表示对给定的Pod是控制Ingress还是Egress还是两者兼有

Ingress: Ingress白名单列表

egress: egress白名单列表

四、选择器 

在Ingress或egress部分中,在from或to字段部分可以定义如下四种选择器:

podSelector: 选择特定Pod

namespaceSelector: 选择特定的名称空间,应将所有Pod用于入站流量或出站流量

ipBlock: 选择特定IP,这些IP应该是集群外部IP

namespaceSelecotr和PodSelecotr: 一个指定 namespaceSelector 和 podSelector 的 to/from 条目选择特定名字空间中的特定 Pod

 4.1 选择器to和from的区别

  ingress:- from:- namespaceSelector:matchLabels:user: alicepodSelector:matchLabels:role: client

定义Ingress, from中只有一个元素,表明只允许名称空间标签有user=Alice的并且Pod有标签Role=client的Pod连接

  ingress:- from:- namespaceSelector:matchLabels:user: alice- podSelector:matchLabels:role: client

 有2个元素:允许来自本地名字空间中标有 role=client 的 Pod 的连接,来自任何名字空间中标有 user=alice 的任何 Pod 的连接,采用的是“或”

4.2 拒绝所有入站流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: default-deny-ingress
spec:podSelector: {}policyTypes:- Ingress

4.3 允许所有入站流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: allow-all-ingress
spec:podSelector: {}ingress:- {}policyTypes:- Ingress

4.4 默认拒绝所有出站流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: default-deny-egress
spec:podSelector: {}policyTypes:- Egress

4.5 允许所有出站流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: allow-all-egress
spec:podSelector: {}egress:- {}policyTypes:- Egress

 五、参考文档链接

网络策略 | Kubernetes

仅做学习笔记参考使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cocosCreator 之 2D物理

版本: v3.4.0 简介 cocosCreator 内置了 2D 物理系统 和 3D 物理系统,开发者可以通过项目 -> 项目设置 -> 功能裁切来配置物理系统相关: 本文仅对2D 物理系统 做下说明和遇到的问题汇总。该物理系统在cocosCreator的功能裁切中&#x…

android 如何分析应用的内存(十三)——perfetto

android 如何分析应用的内存(十三) 本篇文章是native内存的最后一篇文章——perfetto perfetto简介 从2018年始,android开发者峰会正式推出perfetto工具。从此perfetto成为安卓最重要的工具之一。在2018年以前,android使用syst…

二分查找P1873 [COCI2011-2012#5] EKO / 砍树

P1873 [COCI2011-2012#5] EKO / 砍树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这个题就是给新手练手的&#xff0c;在那个位置上在进行&#xff0c;寻找合适的砍树高度&#xff0c;下面在介绍一个二分查找的模板 int binarySearch(vector<int>& nums, int t…

微信小程序tab加列表demo

一、效果 代码复制即可使用&#xff0c;记得把图标替换成个人工程项目图片。 微信小程序开发经常会遇到各种各样的页面组合&#xff0c;本demo为list列表与tab组合&#xff0c;代码如下&#xff1a; 二、json代码 {"usingComponents": {},"navigationStyle&q…

matlab使用教程(6)—线性方程组的求解

进行科学计算时&#xff0c;最重要的一个问题是对联立线性方程组求解。在矩阵表示法中&#xff0c;常见问题采用以下形式&#xff1a;给定两个矩阵 A 和 b&#xff0c;是否存在一个唯一矩阵 x 使 Ax b 或 xA b&#xff1f; 考虑一维示例具有指导意义。例如&#xff0c;方程 …

20.3 HTML 表格

1. table表格 table标签是HTML中用来创建表格的元素. table标签通常包含以下子标签: - th标签: 表示表格的表头单元格(table header), 用于描述列的标题. - tr标签: 表示表格的行(table row). - td标签: 表示表格的单元格(table data), 通常位于tr标签内, 用于放置单元格中的…

MVC乱码问题

RequestMapping(value "insert",produces {"text/html;charsetutf-8"}) //前端响应回去加响应头&#xff0c;解决乱码问题,这个还跟JSP响应头还不一样&#xff0c;这是响应的字符串&#xff0c;纯文本&#xff0c;那个前端的是out.Writer()对象&#xff…

奥迪A3:最新款奥迪A3内饰设计及智能科技应用

奥迪A3一直以来都是奥迪的入门级车型&#xff0c;但这并不意味着它在科技和内饰方面会有所退步。最新款奥迪A3的内饰设计和智能科技应用让人们再次惊叹奥迪的创新能力。 内饰设计 奥迪A3最新款的内饰设计引入了奥迪最新的设计元素&#xff0c;比如8.8英寸的中控显示屏&#xf…

干货 ,ChatGPT 4.0插件Review Reader,秒杀一切选品神器

Hi! 大家好&#xff0c;我是专注于AI项目实战的赤辰&#xff0c;今天继续跟大家介绍另外一款GPT4.0插件Review Reader&#xff08;评论阅读器&#xff09;。 做电商领域的小伙伴们&#xff0c;都知道选品分析至关重要&#xff0c;可以说选品决定成败&#xff0c;它直接关系到产…

【深度学习】High-Resolution Image Synthesis with Latent Diffusion Models,论文

13 Apr 2022 论文&#xff1a;https://arxiv.org/abs/2112.10752 代码&#xff1a;https://github.com/CompVis/latent-diffusion 文章目录 PS基本概念运作原理 AbstractIntroductionRelated WorkMethodPerceptual Image CompressionLatent Diffusion Models Conditioning Mec…

申请软件著作权都有什么好处?

随着社会的发展&#xff0c;知识产权保护意识对于公司而言尤为重要&#xff0c;对自己的权利进行最大限度的保护&#xff0c;以防止被别有用心的人侵权。那么&#xff0c;申请软著的好处到底是什么?软著有什么用呢? 无形资产软著是一种无形的知识产权&#xff0c;是开发者智慧…

Spark-对RDD的理解

RDD是分布式弹性数据集。 RDD有五大特性&#xff1a; 一组分区&#xff0c;每个RDD都会被分为多个分区&#xff0c;这些分区运行在集群的不同节点上&#xff0c;分区数决定并行计算的数量。一个计算每个分区的函数&#xff0c;就是计算逻辑。RDD之间的依赖关系&#xff0c;就…

大数据技术之Clickhouse---入门篇---数据类型、表引擎

星光下的赶路人star的个人主页 今天没有开始的事&#xff0c;明天绝对不会完成 文章目录 1、数据类型1.1 整型1.2 浮点型1.3 布尔型1.4 Decimal型1.5 字符串1.6 枚举类型1.7 时间类型1.8 数组 2、表引擎2.1 表引擎的使用2.2 TinyLog2.3 Memory2.4 MergeTree2.4.1 Partition by分…

简单分享婚宴预订小程序怎么做

婚宴预订小程序需要具备一些功能&#xff0c;通过这些功能&#xff0c;新人可以更方便地选择婚宴场地、预订服务&#xff0c;并且更好地规划自己的婚礼。 1. 场地浏览与选择 婚宴预订小程序可以展示多个婚宴场地的照片和详细信息&#xff0c;包括容纳人数、场地设施、价格等。…

海外团队和国内团队如何使用 J2L3x 进行沟通协作

在人员分布不同地区或不同国家的情况下&#xff0c;如何进行高效的沟通和协作成为一个重要的问题。J2L3x 是一款专门为团队沟通协作而设计的工具&#xff0c;提供实时消息、语音通话、文件共享、任务管理等多种功能&#xff0c;特别适合海外团队和国内团队的协作。在本文中&…

无涯教程-Lua - Arrays(数组)

数组是对象的有序排列&#xff0c;可以是包含行集合的一维数组&#xff0c;也可以是包含多行和多列的多维数组。 在Lua中&#xff0c;数组是使用带有整数的索引表实现的。数组的大小不是固定的&#xff0c;并且可以根据无涯教程的要求(取决于内存限制)来增长。 一维数组 一维…

8.1作业

文件IO函数实现拷贝文件。子进程先拷贝后半部分&#xff0c;父进程再拷贝前半部分&#xff0c;允许使用sleep函数 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<head.h> int main(int argc, const char *argv[]) {pid_t cpidfo…

指针初阶(1)

文章目录 目录1. 指针是什么2. 指针变量的类型2.1 指针变量-整数2.2 指针变量的解引用 3. 野指针3.1 野指针成因3.2 如何规避野指针 4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算 附&#xff1a; 目录 指针是什么指针变量的类型野指针指针运算指针和数组二级指针…

vb与EXCEL的连接

一、 VB读写EXCEL表&#xff1a; VB本身提自动化功能可以读写EXCEL表&#xff0c;其方法如下&#xff1a; 1、在工程中引用Microsoft Excel类型库&#xff1a; 从"工程"菜单中选择"引用"栏&#xff1b;选择Microsoft Excel 9.0 Object Library&#xff…

Linux下使用I2C接口与AS5600角度传感器

在Linux下使用I2C接口与AS5600角度传感器进行通信的步骤如下&#xff1a; 确保I2C总线驱动程序已加载&#xff1a;在Linux中&#xff0c;使用I2C总线之前需要确保I2C驱动程序已加载。你可以通过运行以下命令来检查是否已加载i2c-dev驱动程序&#xff1a; ls /dev/i2c-*如果没…