k83 calico 网络策略
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,常见的CNI网络插件包含以下几种:Flannel:为Kubernetes提供叠加网络的网络插件,基于TUN/TAP隧道技术,使用UDP封装IP报文进行创建叠 加网络,借助etcd维护网络的分配情况,缺
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
保险科技 互联网保险
金诺互联网科技
上海挚品互联网科技
杭州互联网科技公司
互联网高科技企业
上海亿帐通互联网科技
深圳互联网科技怎么样
中国互联网有什么科技含量
崇明区互联网教育科技诚信经营
互联网公司黑科技创始人
爱医互联网络科技
工业互联网山东科技大学
城市宝互联网科技有限公司
山东大美朱楼互联网科技有限公司
福建互联网展示科技馆设计
互联网科技手机排行榜
长沙渺峰互联网科技有限公司
福仕德教育科技互联网
北京天晋互联网科技有限公司
美国五大互联网科技公司市值多少
华中科技大学互联网
广州紫鲸互联网科技
多迪互联网科技有限公司
浙江互联网科技研学营
国大互联网教育科技有限公司工作
互联网科技创新的路径
南通创西澳互联网科技有限公司
富国互联网科技002692
安徽零酒互联网科技有限公司
恒生科技互联网指数十大成分股