当前位置: 首页 > news >正文

kubernetes网络之网络策略-----Network Policies - Default

默认情况下,如果名称空间中没有配置 NetworkPolicy,则该名称空间中,所有Pod的所有入方向流量和所有出方向流量都是被允许的。

那么如果我们想改变名称空间中默认的网络策略,又该怎么做呢?

默认拒绝所有的入方向流量

在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy:

  • 选中所有的 Pod
  • 不允许任何入方向的流量
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: default-deny
spec:podSelector: {}policyTypes:- Ingress
  1. apiVersion: networking.k8s.io/v1: 这是 Kubernetes API 的版本,指定了该配置文件所使用的网络策略 API 版本。在此例中,它使用的是 networking.k8s.io/v1 版本。
  2. kind: NetworkPolicy: 这表明我们正在定义一个网络策略对象。
  3. metadata: 这是网络策略对象的元数据部分,包含关于该策略的信息,比如名称(name)。
  4. name: default-deny: 这是网络策略对象的名称。在这个例子中,它命名为 “default-deny”。
  5. spec: 这是网络策略对象的规范部分,定义了实际的策略规则。
  6. podSelector: {}: 这是策略的一个重要字段,用于选择要应用该策略的 Pod。在这里,{} 表示选择所有的 Pod,因为它是一个空的标签选择器,没有指定任何特定的标签。这意味着该策略将应用于所有的 Pod。
  7. policyTypes: - Ingress: 这是策略的另一个重要字段,用于指定策略的类型。在这里,它指定了该策略只影响入站(Ingress)流量,也就是控制其他 Pod 访问本 Pod 的流量。

此 NetworkPolicy 将确保名称空间中所有的入方向流量都被限制,同时,不改变出方向的流量.

默认允许所有的入方向流量

在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy 允许名称空间中所有 Pod 的所有入方向网络流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: allow-all
spec:podSelector: {}ingress:- {}policyTypes:- Ingress
  1. apiVersion: networking.k8s.io/v1: 这指定了使用的 Kubernetes API 版本,表示该配置文件遵循的网络策略 API 的版本。
  2. kind: NetworkPolicy: 这表明我们正在定义一个网络策略对象。
  3. metadata: 这是网络策略对象的元数据部分,包含关于该策略的信息,比如名称(name)。
  4. name: allow-all: 这是网络策略对象的名称。在这个例子中,它命名为 “allow-all”。
  5. spec: 这是网络策略对象的规范部分,定义了实际的策略规则。
  6. podSelector: {}: 这是策略的一个重要字段,用于选择要应用该策略的 Pod。在这里,{} 表示选择所有的 Pod,因为它是一个空的标签选择器,没有指定任何特定的标签。这意味着该策略将应用于所有的 Pod。
  7. ingress: - {}: 这是策略的另一个重要字段,用于指定入站流量的规则。在这里,{} 表示没有明确指定任何入站规则。空的 ingress 规则表示允许所有的入站流量,因为没有明确指定任何限制条件。
  8. policyTypes: - Ingress: 这是策略的最后一个字段,用于指定策略的类型。在这里,它指定了该策略只影响入站(Ingress)流量,也就是控制其他 Pod 访问本 Pod 的流量。

默认允许所有出方向流量

在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy 允许名称空间中所有 Pod 的所有出方向网络流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: allow-all
spec:podSelector: {}egress:- {}policyTypes:- Egress
  1. apiVersion: networking.k8s.io/v1: 这指定了使用的 Kubernetes API 版本,表示该配置文件遵循的网络策略 API 的版本。
  2. kind: NetworkPolicy: 这表明我们正在定义一个网络策略对象。
  3. metadata: 这是网络策略对象的元数据部分,包含关于该策略的信息,比如名称(name)。
  4. name: allow-all: 这是网络策略对象的名称。在这个例子中,它命名为 “allow-all”。
  5. spec: 这是网络策略对象的规范部分,定义了实际的策略规则。
  6. podSelector: {}: 这是策略的一个重要字段,用于选择要应用该策略的 Pod。在这里,{} 表示选择所有的 Pod,因为它是一个空的标签选择器,没有指定任何特定的标签。这意味着该策略将应用于所有的 Pod。
  7. egress: - {}: 这是策略的另一个重要字段,用于指定出站流量的规则。在这里,{} 表示没有明确指定任何出站规则。空的 egress 规则表示允许所有的出站流量,因为没有明确指定任何限制条件。
  8. policyTypes: - Egress: 这是策略的最后一个字段,用于指定策略的类型。在这里,它指定了该策略只影响出站(Egress)流量,也就是控制本 Pod 访问其他 Pod 的流量。

默认拒绝所有入方向和出方向的网络流量

在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy 禁止名称空间中所有 Pod 的所有入方向流量和所有出方向流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: default-deny
spec:podSelector: {}policyTypes:- Ingress- Egress
  1. apiVersion: networking.k8s.io/v1: 这指定了使用的 Kubernetes API 版本,表示该配置文件遵循的网络策略 API 的版本。
  2. kind: NetworkPolicy: 这表明我们正在定义一个网络策略对象。
  3. metadata: 这是网络策略对象的元数据部分,包含关于该策略的信息,比如名称(name)。
  4. name: default-deny: 这是网络策略对象的名称。在这个例子中,它命名为 “default-deny”。
  5. spec: 这是网络策略对象的规范部分,定义了实际的策略规则。
  6. podSelector: {}: 这是策略的一个重要字段,用于选择要应用该策略的 Pod。在这里,{} 表示选择所有的 Pod,因为它是一个空的标签选择器,没有指定任何特定的标签。这意味着该策略将应用于所有的 Pod。
  7. policyTypes: - Ingress - Egress: 这是策略的另一个重要字段,用于指定策略的类型。在这里,它指定了该策略同时影响入站(Ingress)和出站(Egress)流量,也就是控制其他 Pod 访问本 Pod 的流量以及本 Pod 访问其他 Pod 的流量。

相关文章:

kubernetes网络之网络策略-----Network Policies - Default

默认情况下,如果名称空间中没有配置 NetworkPolicy,则该名称空间中,所有Pod的所有入方向流量和所有出方向流量都是被允许的。 那么如果我们想改变名称空间中默认的网络策略,又该怎么做呢? 默认拒绝所有的入方向流量 …...

奥威BI系统|秒分析,更适合分析大数据

根据以往的经验,当数据量多到一定程度就容易导致系统卡顿、崩溃。这种现象给企业级数据分析造成了极大的困扰。随着业务发展扩大和分析需求精细化,企业需要一套能秒分析大数据的系统。而奥威BI系统就是这样一款可以秒分析大数据的商业智能系统。 奥威BI…...

安全作业-Race竞争型漏洞、原型链污染

1.race漏洞一直卡在虚拟机安装上(待研究) 2.原型链污染 一、第一题js代码 const express require(express) var hbs require(hbs); var bodyParser require(body-parser); const md5 require(md5); var morganBody require(morgan-body); const app express(); var use…...

对微服务网关的一些总结

对微服务网关的一些总结 一. 什么是网关 网关是位于NGINX(或没有)与真实微服务间的转发服务。 用户通过HTTP接口,连接到NGINX,然后NGINX反向到M个网关。 网关根据[服务注册与发现],进行转发请求到具体的微服务上。 由于网关可编码&#…...

该选择WPF 还是 Winform?

WPF和WinForms都是.NET平台下的桌面应用程序开发框架,它们各有特点,适用于不同的场景和需求。下面是对WPF和WinForms的一些比较和优劣势:WPF(Windows Presentation Foundation):WPF具有强大的图形渲染能力&…...

概念解析 | ChatGPT技术概览

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:ChatGPT技术概览 参考资料:Deng J, Lin Y. The benefits and challenges of ChatGPT: An overview[J]. Frontiers in Computing and Intelligent Systems, 2022, 2(2): 81-83. …...

用Rust实现23种设计模式之 代理模式

关注我,学习Rust不迷路!! 代理模式是一种结构型设计模式,它允许通过代理对象来控制对真实对象的访问。以下是代理模式的优点和使用场景: 优点: 控制访问:代理模式可以控制对真实对象的访问&a…...

【nlp pytorch】基于标注信息从句子中提取命名实体内容

基于标注信息从句子中提取实体内容 1 需求2 代码实现3 代码封装1 需求 给定一个句子和已经通过模型训练标注好的信息,从而提取出句子中的实体内容,如下 输入: (1)句子信息 每个糖尿病患者,无论是病情轻重,不论是注射胰岛素,还是口服降糖药,都必须合理地控制饮食。(2)…...

图为科技加入深圳市智能交通行业协会 ,打 …

图为科技加入深圳市智能交通行业协会,打造智能交通新生态! 交通是国民经济发展的“大动脉”,交通拥堵、事故频发等问题不仅影响了人们的出行体验,也对经济的发展产生了负面影响。安全、高效、便捷的出行,一直是人们的…...

大模型排行榜及相关基础技术

大模型排行榜 测试集CEval中文多个学科测试集排名MMLU大规模多任务语言理解英文排名,介绍斯坦福排行榜 强人工智能AGI相关基础技术 标题简介分类稳定扩散模型The Illustrated Stable Diffusion图示化讲解Jay讲解Stable Diffusion计算机技术资料Transformer图示化讲解…...

Python入门【​try和except结构、常见异常、with上下文管理 、traceback模块和生成异常日志、自定义异常类】(十八)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白 📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 📧如果文章知识点有错误…...

windows脚本获取管理员权限修改host

很多时候我们常常需要通过管理员权限执行脚本,脚本可能涉及到一些受保护信息的访问,我们写个简单的脚本来更改host文件,host文件就是需要管理员权限才能访问的启动脚本时先检查是否有管理员权限,如果没有就调用授权脚本进行管理员…...

Flask简介与基础入门

一、了解框架 Flask作为Web框架,它的作用主要是为了开发Web应用程序。那么我们首先来了解下Web应用程序。Web应用程序 (World Wide Web)诞生最初的目的,是为了利用互联网交流工作文档。 1、一切从客户端发起请求开始。 所有Flask程序都必须创建一个程序…...

Stable Diffusion 硬核生存指南:WebUI 中的 GFPGAN

本篇文章聊聊 Stable Diffusion WebUI 中的核心组件,强壮的人脸图像面部画面修复模型 GFPGAN 相关的事情。 写在前面 本篇文章的主角是开源项目 TencentARC/GFPGAN,和上一篇文章《Stable Diffusion 硬核生存指南:WebUI 中的 CodeFormer》提…...

IO模型-信号驱动IO

linux内核中存在一个信号SIGIO,这个信号就是用于实现信号驱动IO的。当应用程序中想要以信号驱动IO的模型读写硬件数据时,首先注册一个SIGIO信号的信号处理函数,当硬件数据就绪,硬件会发起一个中断,在硬件的中断处理函数中向当前进…...

每日一题——回文链表

回文链表 题目链接 回文结构即字符串正序逆序完全一致,如“1 2 3 4 3 2 1”,那么我们就要想办法同时比较链表头和链表尾的元素,看其是否相等。 下面介绍一种最常用的方法: 思路 如果我们仔细观察回文结构,就会得到一…...

OPENCV C++(一) 二进制和灰度原理 处理每个像素点值的方法

#include <opencv2/opencv.hpp> using namespace std; using namespace cv;必须包含的头文件&#xff01; 才能开始编写代码 读取相片 一般来说加个保护程序 不至于出error和卡死 Mat image imread("test.webp"); //存放自己图像的路径 if (image.empty()){p…...

Python GUI编程(Tkinter)

Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库&#xff0c;几个常用 Python GUI 库如下&#xff1a; Tkinter&#xff1a; Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows …...

K8S简介

目录 前言K8S 简介K8S 是什么作用Kubernetes 主要功能如下&#xff1a;Kubernetes 集群架构与组件 核心组件Master 组件Kube-apiserverKube-controller-managerKube-scheduler配置存储中心 etcd Node 组件KubeletKube-Proxydocker 或 rocket Kubernetes 核心概念PodPod控制器La…...

策略模式——算法的封装与切换

1、简介 1.1、概述 在软件开发中&#xff0c;常常会遇到这种情况&#xff0c;实现某一个功能有多条途径。每一条途径对应一种算法&#xff0c;此时可以使用一种设计模式来实现灵活地选择解决途径&#xff0c;也能够方便地增加新的解决途径。为了适应算法灵活性而产生的设计模…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)

第一篇&#xff1a;Liunx环境下搭建PaddlePaddle 3.0基础环境&#xff08;Liunx Centos8.5安装Python3.10pip3.10&#xff09; 一&#xff1a;前言二&#xff1a;安装编译依赖二&#xff1a;安装Python3.10三&#xff1a;安装PIP3.10四&#xff1a;安装Paddlepaddle基础框架4.1…...

xmind转换为markdown

文章目录 解锁思维导图新姿势&#xff1a;将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件&#xff08;ZIP处理&#xff09;2.解析JSON数据结构3&#xff1a;递归转换树形结构4&#xff1a;Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码&#xff1a;冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

数据库——redis

一、Redis 介绍 1. 概述 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的、高性能的内存键值数据库系统&#xff0c;具有以下核心特点&#xff1a; 内存存储架构&#xff1a;数据主要存储在内存中&#xff0c;提供微秒级的读写响应 多数据结构支持&…...

day51 python CBAM注意力

目录 一、CBAM 模块简介 二、CBAM 模块的实现 &#xff08;一&#xff09;通道注意力模块 &#xff08;二&#xff09;空间注意力模块 &#xff08;三&#xff09;CBAM 模块的组合 三、CBAM 模块的特性 四、CBAM 模块在 CNN 中的应用 一、CBAM 模块简介 在之前的探索中…...