k83 calico 网络策略
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,常见的CNI网络插件包含以下几种:Flannel:为Kubernetes提供叠加网络的网络插件,基于TUN/TAP隧道技术,使用UDP封装IP报文进行创建叠 加网络,借助etcd维护网络的分配情况,缺
千家信息网最后更新 2025年12月02日k83 calico 网络策略
常见的CNI网络插件包含以下几种:
Flannel:为Kubernetes提供叠加网络的网络插件,基于TUN/TAP隧道技术,使用UDP封装IP报文进行创建叠 加网络,借助etcd维护网络的分配情况,缺点:无法支持网络策略访问控制。
Calico:基于BGP的三层网络插件,也支持网络策略进而实现网络的访问控制;它在每台主机上都运行一个虚拟路由,利用Linux内核转发网络数据包,并借助iptables实现防火墙功能。实际上Calico最后的实现就是将每台主机都变成了一台路由器,将各个网络进行连接起来,实现跨主机通信的功能。
Canal:由Flannel和Calico联合发布的一个统一网络插件,提供CNI网络插件,并支持网络策略实现。
其他的还包括Weave Net、Contiv、OpenContrail、Romana、NSX-T、kube-router等等。而Flannel和Calico是目前最流行的选择方案。
1.全部拒绝
apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: deny-all-egress namespace: cs1 #应用于cs1 名称空间,不写名称空间对default应用spec: podSelector: {} ingress: egress: #定义出站规则,这里没有写任何策略,表示全部拒绝。 policyTypes: - Egress - Ingress #这里面有Egress就表示要定义出站规则,不写Egress就是默认通行,Ingress是入站原理一样 #建议大家把两个都写上去 然后使用"podSelector:" 来控制是否能通行2.全部允许
apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: allow-all-egress namespace: cs1spec: podSelector: {} ingress: - {} #这样表示"ingress"方向的全部允许通行 egress: - {} #这样表示"egress"方向的全部允许通行 policyTypes: - Egress - Ingress这个网络策略只对名称空间起效,宿主机依然可以访问
3.作用范围
apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: deny-all namespace: default #只作用于 default 名称空间spec: podSelector: #匹配pod 范围 如果匹配该名称空间的所有POD 输入"{}" 即可 matchLabels: access: "true" #匹配POD中有 access=true的标签 policyTypes: - Ingress - Egress ingress: egress:4.限制IP策略
#上图每个cs容器的IP
apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: deny-allspec: podSelector: {} policyTypes: - Egress - Ingress ingress: egress: - to: #注意:egress用to,ingress用from - ipBlock: cidr: 192.168.0.0/16 #放行192.168.0.0/16网络 except: - 192.168.94.134/32 #但不包括这个ip
exec进入pod 能看见ping192.168.94.134 这个IP是不通的
5.基于名称空间label限制
apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: namespace-allow namespace: defaultspec: policyTypes: ["Ingress"] podSelector: {} ingress: - from: - namespaceSelector: matchLabels: name: cs1 #表示只有打了"name=cs1"的名称空间才允许进6.基于名称空间label限制满足多个条件
apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: namespace-allow namespace: defaultspec: policyTypes: ["Ingress","Egress"] podSelector: {} ingress: - from: - namespaceSelector: matchExpressions: - key: name operator: In values: ["cs1","cs2"] #中括号里面的可以 与default名称空间 ingress通信 #表示,名称空间有标签name=cs1,name=cs2 的 可以与default名称空间通信7基于pod label
apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: namespace-allow namespace: defaultspec: policyTypes: ["Ingress"] podSelector: {} ingress: - from: - podSelector: matchLabels: access: "true" #允许pod 便签有 access=true的通行#基于pod label 实验没成功不知道啥问题
网络
名称
空间
策略
插件
主机
控制
支持
通信
限制
作用
功能
就是
方向
标签
范围
规则
路由
应用
上图
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
实现数据库安全
湖北通信软件开发推广
网络安全领导组的职责
数据库回滚上一步操作
电池放电数据库结构
网络安全快车
全程电子化服务器异常404
留下了网络安全隐患
深圳互联网科技产品有哪些
安卓后台数据库
it网络技术员岗们职责
网络安全能公司做个人业务吗
网络安全教育网络欺凌
防火墙开放服务器ip进入
税控服务器管理系统进不去
青灵网络技术有限公司
贵港市公安局网络安全宣传
网络安全到底还能去学么
软件开发文档通用要求GB
北京麻将软件开发哪家快
江山农商银行转账服务器异常
产品数据库软件
员工信息表数据库
小牛网络技术深圳有限公司
烟台软件开发高手
服务器安全的重要性
山西放心软件开发设施参考价格
江苏进口软件开发平均价格
c 怎么远程连接数据库
应用软件开发安全编码研究