Kubernetes(K8S) 网络策略
-
Kubernetes 网络策略
网络策略定义相同名称空间中的Pod如何相互通信以及与网络端点进行通信。它要求在API服务器的运行时配置中启用extensions/v1beta1/networkpolicies。它的资源使用标签来选择Pod,并定义规则以允许流量进入特定Pod,此外还需要在命名空间中进行定义。首先,我们需要配置命名空间隔离策略。基本上,负载均衡器需要这种网络策略。kind: Namespace apiVersion: v1 metadata: annotations: net.beta.kubernetes.io/network-policy: | { "ingress": { "isolation": "DefaultDeny" } }
$ kubectl annotate ns <namespace> "net.beta.kubernetes.io/network-policy = {\"ingress\": {\"isolation\": \"DefaultDeny\"}}"
创建名称空间后,我们需要创建网络策略。 -
网络策略Yaml
kind: NetworkPolicy apiVersion: extensions/v1beta1 metadata: name: allow-frontend namespace: myns spec: podSelector: matchLabels: role: backend ingress: - from: - podSelector: matchLabels: role: frontend ports: - protocol: TCP port: 6379