k83 calico 网络策略
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,常见的CNI网络插件包含以下几种:Flannel:为Kubernetes提供叠加网络的网络插件,基于TUN/TAP隧道技术,使用UDP封装IP报文进行创建叠 加网络,借助etcd维护网络的分配情况,缺
千家信息网最后更新 2025年01月25日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安全错误
数据库的锁怎样保障安全
c 服务器设计
1151针最强服务器cpu
远程服务器主机配置
派出所dna输入数据库
中国生物医学数据库注册
租游戏服务器怎么赚钱
服务器架构ppt素材
操作系统与网络安全
武汉直销软件开发公司
大屏幕控制服务器
河南晨曦网络技术
数据库gbk和utf8区别
网络安全培训机构开班讲话
网络安全小视屏
药易通无法打开数据库
node创建web服务器
应用服务器有什么缺点
菜鸟网络科技算互联网还是物流
空间数据库索引和空间数据引擎
量化机器人软件开发排行
数据库课程s
数据库备份怎么建立
向另一个数据库传输不能访问
西安软件开发本科工资待遇
华为网络技术 学院
v3700装数据库
谈谈网络安全的看法400字
松下服务器err272报警
数据库如何表示外码
创建服务器之前需要注意什么