📜  Kubernetes-网络策略

📅  最后修改于: 2020-11-01 04:14:55             🧑  作者: Mango


网络策略定义了相同名称空间中的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  "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