网络策略是 Kubernetes 中用于控制流量流向和访问权限的重要机制。它允许您指定哪些流量可以进入或离开您的服务,以及哪些流量可以进入或离开特定的端口。

策略类型

  1. 入站策略(Ingress Policies):控制进入集群的流量。
  2. 出站策略(Egress Policies):控制离开集群的流量。
  3. 端点策略(Endpoint Policies):控制访问特定端点的流量。

应用场景

  • 服务间通信:确保只有授权的服务可以互相通信。
  • 限制外部访问:保护集群免受未经授权的外部访问。
  • 合规性:满足特定的安全或合规性要求。

如何使用

  1. 定义网络策略资源。
  2. 应用网络策略到相应的服务或端点。

示例

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: example-policy
spec:
  podSelector:
    matchLabels:
      app: my-app
  policyTypes:
  - Ingress
  - Egress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          role: frontend
    ports:
    - protocol: TCP
      port: 80
  egress:
  - to:
    - podSelector:
        matchLabels:
          role: backend
    ports:
    - protocol: TCP
      port: 8080

扩展阅读

更多关于网络策略的信息,请参阅 Kubernetes 官方文档

[center]Networking Policy Kubernetes