Kubernetes-ネットワークポリシー
ネットワークポリシーは、同じ名前空間内のポッドが相互に通信する方法とネットワークエンドポイントを定義します。必要ですextensions/v1beta1/networkpoliciesAPIサーバーのランタイム構成で有効になります。そのリソースは、ラベルを使用してポッドを選択し、名前空間で定義されていることに加えて、特定のポッドへのトラフィックを許可するルールを定義します。
まず、名前空間分離ポリシーを構成する必要があります。基本的に、この種のネットワークポリシーはロードバランサーに必要です。
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