简历中建设网站的项目经历,h5制作工具手机版,专业seo站长工具全面查询网站,北京便宜网站建设一、背景 如果希望在OSI模型中第三层或第四层控制网络流量#xff0c;则应该使用NetworkPolicy这个对象#xff1b;NetworkPolicy以应用为中心#xff0c;主要用来控制Pod网络流量的进入和流出
二、实例说明 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadat…一、背景 如果希望在OSI模型中第三层或第四层控制网络流量则应该使用NetworkPolicy这个对象NetworkPolicy以应用为中心主要用来控制Pod网络流量的进入和流出
二、实例说明 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: network-policy-test namespace: luoxianming spec: podSelector: matchLabels: app: web policyTypes: - Ingress - Egress ingress: - from: - ipBlock: cidr: 172.17.0.0/16 except: - 172.17.0.0/24 - namespaceSelector: matchLabels: project: luoxianming - podSelector: matchLabels: app: web ports: - protocol: TCP port: 8080 egress: - to: - ipBlock: cidr: 10.0.0.0/24 ports: - protocol: TCP port: 8080 解释 1 当policyTypes中包含了Ingress和Egress则表明该范围的Pod是出口和入口都有进行限制白名单是通过Ingress和egress字段进行放行 2 默认Pod的入口和出口都是非隔离的 3 NetworkPolicy 资源依赖于网络插件实现 4 podSelector表明使用NetworkPolicy的Pod当podSelector为空表明选择名称空间下素有Pod选择的名称空间为namespace指定 三、参数解释 podSelector: 每个NetworkPolicy中都包括一个podSelector表示一组Pod进行选择 policyTypes: 每个NetworkPolicy都包含一个policyTypes列表其中包含Ingress或Egress或者两者兼有表示对给定的Pod是控制Ingress还是Egress还是两者兼有 Ingress Ingress白名单列表 egress: egress白名单列表 四、选择器 在Ingress或egress部分中在from或to字段部分可以定义如下四种选择器 podSelector: 选择特定Pod namespaceSelector: 选择特定的名称空间应将所有Pod用于入站流量或出站流量 ipBlock: 选择特定IP这些IP应该是集群外部IP namespaceSelecotr和PodSelecotr: 一个指定 namespaceSelector 和 podSelector 的 to/from 条目选择特定名字空间中的特定 Pod 4.1 选择器to和from的区别 ingress:- from:- namespaceSelector:matchLabels:user: alicepodSelector:matchLabels:role: client 定义Ingress from中只有一个元素表明只允许名称空间标签有userAlice的并且Pod有标签Roleclient的Pod连接 ingress:- from:- namespaceSelector:matchLabels:user: alice- podSelector:matchLabels:role: client 有2个元素允许来自本地名字空间中标有 roleclient 的 Pod 的连接或来自任何名字空间中标有 useralice 的任何 Pod 的连接采用的是“或”
4.2 拒绝所有入站流量 apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: default-deny-ingress
spec:podSelector: {}policyTypes:- Ingress 4.3 允许所有入站流量 apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: allow-all-ingress
spec:podSelector: {}ingress:- {}policyTypes:- Ingress 4.4 默认拒绝所有出站流量 apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: default-deny-egress
spec:podSelector: {}policyTypes:- Egress 4.5 允许所有出站流量 apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: allow-all-egress
spec:podSelector: {}egress:- {}policyTypes:- Egress 五、参考文档链接
网络策略 | Kubernetes
仅做学习笔记参考使用