¿Es posible permitir el tráfico de salida solo al servicio específico? Este es mi ingenuo intento de hacer eso:
kind: NetworkPolicy metadata: name: default-deny-all-egress namespace: default spec: podSelector: {} egress: - ports: - protocol: TCP port: 53 - protocol: UDP port: 53 to: - podSelector: matchLabels: k8s-app: kube-dns policyTypes: - EgressNo, hasta donde yo sé, solo puede hacerlo usando podSelector . Sin embargo, si tiene acceso al clúster, creo que aún puede agregar manualmente etiquetas adicionales para los pods necesarios y usar podSelector
Crear políticas de salida le proporciona una buena plantilla de estructura NetworkPolicy . La siguiente política permite el tráfico saliente de pods a otros pods en el mismo espacio de nombres que coinciden con el selector de pods.
kind: NetworkPolicy apiVersion: networking.k8s.io/v1 metadata: name: allow-egress-same-namespace namespace: default spec: podSelector: matchLabels: color: blue egress: - to: - podSelector: matchLabels: color: red ports: - port: 80Sé que puede usar namespaceSelector para ingresar como se muestra a continuación. No estoy seguro de poder usarlo con la salida, no lo he intentado. Pero para acceder a los pods desde otro espacio de nombres, debe señalarlo de alguna manera en la configuración
namespaceSelector: matchLabels: shape: square