Configura balanceadores de cargas externos

Los balanceadores de cargas externos (ELB) exponen servicios fuera del proyecto desde las direcciones IP de un grupo asignado al proyecto desde el grupo más grande de IPs externas de instancias.

Las direcciones IP virtuales (VIP) de ELB no entran en conflicto entre las organizaciones y son únicas en todas las organizaciones. Por este motivo, debes usar los servicios de ELB solo para los servicios a los que los clientes externos al proyecto necesariamente deben acceder.

Las cargas de trabajo que se ejecutan dentro del proyecto pueden acceder a los servicios de ELB siempre que habilites las cargas de trabajo para que salgan del proyecto. Este patrón de tráfico requiere de manera efectiva tráfico saliente del proyecto antes de regresar al servicio interno.

Antes de comenzar

Para configurar los servicios de ELB, debes tener lo siguiente:

  • Ser propietario del proyecto para el que configuras el balanceador de cargas Para obtener más información, consulta Cómo crear un proyecto.
  • Una política de entrada ProjectNetworkPolicy (PNP) personalizada para permitir el tráfico a este servicio de ELB. Para obtener más información, consulta Configura PNP para permitir el tráfico al ELB.
  • Los roles de identidad y acceso necesarios son los siguientes:

    • Administrador de NetworkPolicy del proyecto: Tiene acceso para administrar las políticas de red del proyecto en el espacio de nombres del proyecto. Pídele al administrador de IAM de la organización que te otorgue el rol de administrador de NetworkPolicy del proyecto (project-networkpolicy-admin).
    • Administrador de balanceador de cargas: Pídele al administrador de IAM de tu organización que te otorgue el rol de administrador de balanceador de cargas (load-balancer-admin).

Configura PNP para permitir el tráfico al ELB

Para que los servicios de ELB funcionen, debes configurar y aplicar tu propia política de entrada ProjectNetworkPolicy personalizada para permitir el tráfico a este servicio de ELB. Especifica la dirección CIDR externa para permitir el tráfico a este ELB:

kubectl --kubeconfig MANAGEMENT_API_SERVER apply -f - <<EOF
apiVersion: networking.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT
  name: allow-inbound-traffic-from-external
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - ipBlock:
        cidr: CIDR
    ports:
    - protocol: TCP
      port: PORT
EOF

Reemplaza lo siguiente:

  • MANAGEMENT_API_SERVER: Es la ruta de acceso de kubeconfig del servidor de la API de administración. Si aún no generaste un archivo kubeconfig para el servidor de la API en la zona de destino, consulta Acceder para obtener más detalles.
  • PROJECT: Es el nombre de tu proyecto de GDC.
  • CIDR: Es el CIDR externo desde el que se debe acceder al ELB. Esta política es obligatoria, ya que el balanceador de cargas externo usa el retorno directo del servidor (DSR), que conserva la dirección IP externa de origen y omite el balanceador de cargas en la ruta de retorno.
  • PORT: Es el puerto de backend en los Pods detrás del balanceador de cargas. Este valor se encuentra en el campo .spec.ports[].targetPort del manifiesto del recurso Service.

Crea un balanceador de cargas externo

Crea ELB con tres métodos diferentes en GDC:

Puedes segmentar las cargas de trabajo de pods o VM con la API de KRM y la CLI de gdcloud. Solo puedes segmentar cargas de trabajo en el clúster en el que se crea el objeto Service cuando usas el servicio de Kubernetes directamente en el clúster de Kubernetes.