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

NetworkPolicy访问控制

   NetworkPolicy是Kubernetes中一种用于控制Pod之间以及Pod与外部网络之间流量的资源对象。它可以帮助你在 IP 地址或端口层面(OSI 第 3 层或第 4 层)控制网络流量。NetworkPolicy 资源使用标签选择 Pod,并定义选定 Pod 所允许的通信规则。它可以控制 Pod 的入站(Ingress)和出站(Egress)流量。

   使用场景

微服务架构:在微服务架构中,不同的服务通常部署在不同的Pod中。使用NetworkPolicy可以控制服务之间的网络访问,提高安全性。

敏感数据保护:对于处理敏感数据的应用,可以使用NetworkPolicy限制对这些Pod的访问,减少数据泄露的风险,特别是一些需要暴露到外网的Pod。

东西向流量控制:在云原生和微服务场景下,内部网络的东西向通信流量剧增。NetworkPolicy可以帮助控制这些流量,确保只有授权的流量可以通过。

基于命名空间的隔离:通过NetworkPolicy,可以基于命名空间的标签来控制网络访问。只允许特定命名空间的Pod访问某些服务。


要在 Kubernetes 中创建一个 NetworkPolicy:

apiVersion: networking.k8s.io/v1  # API 版本
kind: NetworkPolicy  # 资源类型是 NetworkPolicy
metadata:name: example-network-policy  # NetworkPolicy 的名称namespace: default  # NetworkPolicy 所在的命名空间
spec:podSelector:matchLabels:role: db  # 选择具有标签 "role=db" 的 PodpolicyTypes:- Ingress  # 定义入站规则- Egress  # 定义出站规则ingress:- from:- ipBlock:cidr: 172.17.0.0/16  # 允许来自 172.17.0.0/16 网段的流量except:- 172.17.1.0/24  # 但排除 172.17.1.0/24 网段- namespaceSelector:matchLabels:project: myproject  # 允许来自具有标签 "project=myproject" 的命名空间的流量- podSelector:matchLabels:role: frontend  # 允许来自具有标签 "role=frontend" 的 Pod 的流量ports:- protocol: TCP  # 允许的协议是 TCPport: 6379  # 允许的端口是 6379egress:- to:- ipBlock:cidr: 10.0.0.0/24  # 允许流向 10.0.0.0/24 网段ports:- protocol: TCP  # 允许的协议是 TCPport: 5978  # 允许的端口是 5978

应用配置文件: 使用 kubectl 命令将配置文件应用到 Kubernetes 集群中:

kubectl apply -f example-network-policy.yaml

验证 NetworkPolicy: 确认 NetworkPolicy 已正确创建并生效:

kubectl get networkpolicy -n default

http://www.lryc.cn/news/448827.html

相关文章:

  • C++面向对象基础
  • 遥感图像变换检测实践上手(TensorRT+UNet)
  • Transformers 引擎,vLLM 引擎,Llama.cpp 引擎,SGLang 引擎,MLX 引擎
  • 牛顿迭代法求解x 的平方根
  • 端口隔离配置的实验
  • 洛谷 P10456 The Pilots Brothers‘ refrigerator
  • windows+vscode+arm-gcc+openocd+daplink开发arm单片机程序
  • Mysql梳理10——使用SQL99实现7中JOIN操作
  • 24.9.27学习笔记
  • C++第3课——保留小数点、比较运算符、逻辑运算符、布尔类型以及if-else分支语句(含视频讲解)
  • 韩媒专访CertiK首席商务官:持续关注韩国市场,致力于解决Web3安全及合规问题
  • 计算机毕业设计之:宠物服务APP的设计与实现(源码+文档+讲解)
  • 小柴冲刺软考中级嵌入式系统设计师系列二、嵌入式系统硬件基础知识(3)嵌入式系统的存储体系
  • Unity android 接USBCamera
  • 演示:基于WPF的DrawingVisual开发的频谱图和律动图
  • 【数据结构初阶】排序算法(中)快速排序专题
  • Redis缓存双写一致性笔记(上)
  • PCB基础
  • PostgreSQL 17:新特性与性能优化深度解析
  • [Linux#58][HTTP] 自己构建服务器 | 实现网页分离 | 设计思路
  • 7.MySQL内置函数
  • 如何快速自定义一个Spring Boot Starter!!
  • 【音视频】ffmpeg其他常用过滤器filter实现(6-4)
  • 云栖3天,云原生+ AI 多场联动,新产品、新体验、新探索
  • jackson对于对象序列化的时候默认空值和手动传入的null的不同处理
  • L8打卡学习笔记
  • VBA解除Excel工作表保护
  • bash: unzip: 未找到命令,sudo: nano:找不到命令
  • tauri开发配置文件和文件夹访问路径问题
  • 【web安全】——信息收集