0
点赞
收藏
分享

微信扫一扫

K8S网络策略示例


apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-internal
spec:
podSelector:
matchLabels:
app: myapp
policyTypes:
- Ingress
- Egress
ingress:
- from:
- podSelector:
matchLabels:
app: myapp
- podSelector:
matchLabels:
app: database
ports:
- protocol: TCP
port: 80
egress:
- to:
- podSelector:
matchLabels:
app: database
ports:
- protocol: TCP
port: 5432

这个策略定义了一个名为​​allow-internal​​​的网络策略,它将流量限制为具有标签​​app: myapp​​​的Pod及​​app: database​​​的Pod。该策略允许来自同一标签的Pod和​​app: database​​​ pod的入站流量,并限制向​​app: database​​ pod的出站流量。限制仅适用于TCP端口80和5432。

apiVersion: API 版本,NetworkPolicy 属于 networking.k8s.io 的 v1 版本。

kind: 声明此 YAML 文件中所描述的 Kubernetes 对象类型为 NetworkPolicy。

metadata: 元数据部分,包含 NetworkPolicy 对象的名称。

spec: NetworkPolicy 对象的规范部分。

podSelector: 用于标识 NetworkPolicy 针对哪些 Pod。本例中,它选择app: myapp 标签的 Pod。

policyTypes: 指定可以应用于 NetworkPolicy 的策略类型。本例中包括入站和出站流量。

ingress: 允许入站流量的规则。

from: 相关源,可以是其他 Pod 或 IP 地址、网段等。

ports: 限制进出网络流量的协议和端口。本例中,限制 TCP 端口 80。

egress: 允许出站流量的规则。

to: 相关目的地,可以是其他 Pod 或 IP 地址、网段等。

ports: 限制进出网络流量的协议和端口。本例中,限制 TCP 端口 5432。


举报

相关推荐

0 条评论