【精品】k8s(kubernetes)的网络策略networkpolicy实例精讲

本文深入探讨了Kubernetes NetworkPolicy的原理,详细介绍了如何创建和应用NetworkPolicy进行流量控制,包括允许特定namespace的Pods访问内部Pods的80端口,以及在namespace内部实现更精细的访问策略。通过实例演示了配置、验证和调整网络策略的方法,强调了正确理解和使用官方文档的重要性。

重点

1、了解networkpolicy的原理
在这里插入图片描述

2、掌握创建networkpolicy实现流量控制的方法


内容一

网络策略是控制pod资源组间以及与其他网络端点如何通信的规范。
实现原理:使用标签来分组pod,并在该组pod之上定义规则来控其流量,从而为kubernetes提供更为精细的流量控制以及租户隔离机制。

内容二

要求:在现有的namespace internal中创建一个名为allow-port-from-namespace的新NetworkPolicy。
确保新的NetworkPolicy允许namespace default中的Pods连接到namespace internal中的Pods的80端口。

分析:
简化要求描述,在名称空间internal中创建网络策略:仅允许default名称空间的pod访问它里面的pod

(1)为default名称空间打个标签,以app=nginx为例(为了便于反向验证,先不打标签)
(2)创建网络策略允许这个标签的名称空间的pod访问internal命名空间中的Pods的80端口。

1、配置清单,如下图:

虽然给定引用未直接提及Kubernetes网络策略的配置方法,但可以从相关信息中推导一些关联要点。 Kubernetes网络策略需要通过网络策略控制器来实施,不同的CNI插件对网络策略的支持和实现方式有所不同。例如Calico通过在每个节点上运行的Felix代理来实施网络策略,而Flannel本身对网络策略的支持相对较弱,通常需要结合其他组件来实现[^3]。 要进行网络策略配置,可参考以下官方及相关资料: - Katacoda的在线Kubernetes沙箱提供了网络策略相关课程,网址为https://www.katacoda.com/courses/kubernetes/networkpolicy [^4]。 - Kubernetes官方NetworkPolicy文档详细介绍策略概念及配置等内容,可访问https://kubernetes.io/docs/concepts/services-networking/network-policies/ [^4]。 - Calico网络策略指南,对于使用Calico作为CNI插件时的策略配置有详细说明,网址是https://docs.projectcalico.org/security/kubernetes-network-policy [^4]。 - Azure网络策略管理器,若在Azure AKS环境,可参考https://learn.microsoft.com/zh-cn/azure/aks/use-network-policies 来配置网络策略 [^4]。 以下是一个简单的Kubernetes网络策略YAML示例: ```yaml apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: test-network-policy namespace: default spec: podSelector: matchLabels: role: db policyTypes: - Ingress - Egress ingress: - from: - ipBlock: cidr: 172.17.0.0/16 except: - 172.17.1.0/24 - namespaceSelector: matchLabels: project: myproject - podSelector: matchLabels: role: frontend ports: - protocol: TCP port: 6379 egress: - to: - ipBlock: cidr: 10.0.0.0/24 ports: - protocol: TCP port: 5978 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术职场教练

您的是我坚持原创免费作品的不懈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值