diff --git a/helm/APP_NAME/templates/networkpolicy.yaml b/helm/APP_NAME/templates/networkpolicy.yaml index 309309a..46a8ac0 100644 --- a/helm/APP_NAME/templates/networkpolicy.yaml +++ b/helm/APP_NAME/templates/networkpolicy.yaml @@ -76,13 +76,24 @@ spec: port: 3306 - protocol: TCP port: 6033 - # kube-apiserver (10.43.0.1:443) y Harbor pull (registro de imágenes). - # 0.0.0.0/0:443 cubre ambos. El InitContainer wait-for-secret del Job - # Alembic necesita egress al apiserver para hacer GET secret via REST API. + # kube-apiserver + Harbor pull (registro externo). + # + # NOTA RKE2/DO: el Service `kubernetes` (ns default) tiene endpoint hacia + # la IP PUBLICA del Droplet en port 6443 (no ClusterIP intra-cluster). Por + # eso namespaceSelector "default" NO funciona — kube-proxy DNATea + # 10.43.0.1:443 a la public IP:6443 del nodo. Calico aplica la regla NP + # contra la IP de destino post-DNAT, asi que requiere ipBlock que cubra + # la public IP. + # + # ipBlock 0.0.0.0/0 cubre ambos: apiserver public IP:6443 + Harbor:443. + # El InitContainer wait-for-secret del Job Alembic necesita esto para + # REST API call. - to: - ipBlock: cidr: 0.0.0.0/0 ports: - protocol: TCP port: 443 + - protocol: TCP + port: 6443 {{- end }}