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

k8s网络策略

k8s网络策略

    • k8s网络测试概述
      • 查看防火墙策略
    • k8s网络策略网络访问控制案例:
      • 配置k8s网络策略
      • 结果验证
    • k8s网络策略配置示例

k8s网络测试概述

网络策略就是设置防火墙


查看防火墙策略

# 获取当前命名空间下的所有 NetworkPolicy 资源(网络策略)
# NetworkPolicy 用于控制 Pod 之间的网络通信规则
kubectl get networkpolicies

# 获取当前命名空间下的所有 NetworkPolicy 资源(简写命令)
# netpol 是 networkpolicies 的缩写,效果与全称命令等价
kubectl get netpol

k8s网络策略网络访问控制案例:

  • 需求:

只允许dev命名空间中的Pod访问test命名空间pod80端口.

  • 分析:
    一个只有specnetwork policy其他条件,意味着进出流全部禁止.
    只允许指定命名空间中的应用访问.

配置k8s网络策略

# 编辑k8s网络策略配置文件
vim k8s-networkpolicy.yaml

test 命名空间中创建以下 NetworkPolicy

apiVersion: networking.k8s.io/v1  # 指定使用的 Kubernetes API 版本
kind: NetworkPolicy  # 资源类型为 NetworkPolicy,表示这是一个网络策略对象
metadata:
  name: allow-dev-to-test-80  # 设置该网络策略的名称为 'allow-dev-to-test-80'
  namespace: test  # 指定该网络策略适用于 'test' 命名空间
spec:
  podSelector: {}  # Pod 选择器为空对象,表示该策略适用于 'test' 命名空间下的所有 Pod
  policyTypes:
    - Ingress  # 仅应用于入站流量策略
  ingress:
    - from:
        - namespaceSelector:  # 定义流量来源为特定命名空间
            matchLabels:
              name: dev  # 匹配标签为 'name=dev' 的命名空间
      ports:
        - protocol: TCP  # 允许的协议类型为 TCP
          port: 80  # 允许访问的端口号为 80

保存

# 应用网络策略
kubectl apply -f k8s-networkpolicy.yaml

结果验证

# 命名空间打标签
kubectl labdel namespace dev name=dev
# 测试
kubectl run busybox --image=busybox -n dev --sleep 12h

# 可以访问
kubectl exec busybox -n dev --wget ${test命名空间pod的ip}

# 不可以访问
kubectl exec busybox --wget ${test命名空间pod的ip}

k8s网络策略配置示例

官方文档
在这里插入图片描述

protocolports层级下,只能指定tcp/udp/sctp

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  # 网络策略名称
  name: allow-port-from-namespace
  namespace: corp-net
spec:
  # 根据标签筛选pod,{}表示所有
  podSelector: {}
  policyTypes:
    # 流方向
    - Ingress
  # Ingress(入pod流量)+from(从哪来)
  ingress:
    - from:
        # 从哪个ns来
        - namespaceSelector:
            # 匹配的label
            matchLabels:
              name: big-corp
      ports:
        # 允许的协议
        - protocol: TCP
	      # 允许的端口
	      port: 9200

在这里插入图片描述

http://www.dtcms.com/a/98985.html

相关文章:

  • 从零开始搭建Anaconda环境
  • 网易邮箱DolphinScheduler迁移实战:从部署到优化,10倍效率提升的内部经验
  • plantsimulation编辑图标怎么把图标旋转90°
  • 1.3-网站架构、Web源码形式
  • 全局思维与系统思考
  • Python Cookbook-4.14 反转字典
  • Python小练习系列 Vol.8:组合总和(回溯 + 剪枝 + 去重)
  • 自动语音识别(ASR)技术详解
  • VLAN综合实验二
  • Dart的变量以及内建类型
  • Megatron-LM中的deepseek-v3实现
  • 深度学习在测距模型中的应用
  • Redis 源码硬核解析系列专题 - 第三篇:核心数据结构之字典(Dict)
  • 未来村庄智慧灯杆:点亮乡村智慧生活​
  • Python列表(三)
  • 【Linux】B站黑马程序视频学习笔记(一)
  • Python 的未来:在多元变革中持续领跑
  • 第一天 Linux驱动程序简介
  • 考研408第七章:查找总结
  • 如何将 Java 应用做成 EXE 的可执行软件
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例9,TableView16_09 嵌套表格拖拽排序
  • Redis 实现分布式锁详解
  • torch不能使用cuda的解决方案
  • c++位运算总结
  • 使用Process子类创建进程
  • C++编程学习笔记:函数相关特性、引用与编译流程
  • TraeAI结合Proteus实现AI编程并仿真一个复杂工业物联网控制系统的开发(视频)
  • 力扣刷题494. 目标和
  • 【超详细教程】2025年3月最新Pytorch安装教程(同时讲解安装CPU和GPU版本)
  • Python3...(中国工信出版)读书笔记(1)python语言基础补充