千家信息网

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 安徽零酒互联网科技有限公司 恒生科技互联网指数十大成分股
0