扫码一下
查看教程更方便
网络策略定义了同一命名空间中的 pod 将如何相互通信以及网络端点。 它需要在 API 服务器的运行时配置中启用 extensions/v1beta1/networkpolicies
。 它的资源使用标签来选择 Pod 并定义规则以允许流量到特定 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\"}}"
创建命名空间后,我们需要创建网络策略。
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