Kubernetes(简称K8s)作为现代容器编排平台,其收集战略(Network Policy)功能为集群外部供给了细粒度的收集保险把持。本文将深刻探究K8s收集战略,从入门到粗通,并分享一些设置技能。
Kubernetes默许情况下,全部Pod之间都是可能相互通信的。这在开辟情况中可能并无大年夜碍,但在出产情况中,这可能招致潜伏的保险伤害,比方敏感数据泄漏或横向攻击分散。收集战略经由过程定义白名单规矩,实现零信赖收集模型,默许拒绝全部流量,仅容许明白申明的通信。
收集战略由抉择器(Selector)跟规矩范例(PolicyTypes)两部分构成:
以下是一个简单的收集战略设置示例:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend-traffic
namespace: my-namespace
spec:
podSelector:
matchLabels:
app: frontend
ingress:
- from:
podSelector:
matchLabels:
app: backend
ports:
- protocol: TCP
port: 8080
此设置容许命名空间my-namespace
中带有app: frontend
标签的Pod拜访带有app: backend
标签的Pod的8080端口。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-internal-traffic
namespace: my-namespace
spec:
podSelector:
matchLabels:
app: frontend
ingress:
- from:
ipBlock:
cidr: 192.168.1.0/24
ports:
- protocol: TCP
port: 8080
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-namespace-traffic
namespace: my-namespace
spec:
podSelector:
matchLabels:
app: frontend
ingress:
- from:
namespaceSelector:
matchLabels:
name: backend-namespace
ports:
- protocol: TCP
port: 8080
Kubernetes收集战略为集群外部供给了富强的收集保险把持功能。经由过程懂得收集战略的基本不雅点跟设置技能,你可能更好地保护你的Kubernetes集群。