Agregar clústeres a Anthos Service Mesh local

En esta guía, se explica cómo configurar Anthos Service Mesh con varios GKE en VMware. Puedes ampliar este proceso para incorporar cualquier cantidad de clústeres en la malla.

Una configuración de Anthos Service Mesh de varios clústeres puede resolver varias situaciones empresariales fundamentales, como el escalamiento, la ubicación y el aislamiento. Para obtener más información, consulta Casos de uso de varios clústeres. Además, debes optimizar las aplicaciones para aprovechar la malla de servicios al máximo. Si deseas obtener más información, consulta Prepara una aplicación para Anthos Service Mesh.

Si tienes instalada una versión anterior de Anthos Service Mesh, consulta Actualiza Anthos Service Mesh de GKE en VMware. Esta instalación habilita las funciones admitidas en el clúster.

Requisitos

Antes de comenzar, en esta guía se supone que usas clústeres nuevos o existentes que se crearon con los pasos descritos en Instala Anthos Service Mesh de forma local.

  • Los requisitos de esta guía se agregan a los que se describen en Instala Anthos Service Mesh de manera local.

  • Anthos Service Mesh versión 1.8 o posterior instalada en los clústeres. Consulta Instala Anthos Service Mesh de forma local para instalar o actualizar tus clústeres a la versión requerida.

    gkectl version

    Si no tienes gkectl instalado, consulta Descargas de GKE On-Prem.

  • Todos los clústeres se ejecutan en GKE On-Prem en vSphere.

  • Necesitarás el paquete de configuración que se usó antes para instalar Anthos Service Mesh en tu clúster. Si necesitas otra copia, puedes descargarla usando el siguiente comando:

    kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.8-asm .

    No es necesario que establezcas valores en el paquete de configuración.

Instala la puerta de enlace este-oeste

  1. Instala una puerta de enlace en cluster1 que esté dedicada al tráfico este-oeste. De forma predeterminada, esta puerta de enlace será pública en Internet. Los sistemas de producción pueden requerir restricciones de acceso adicionales, por ejemplo, reglas de firewall, para evitar ataques externos.

    asm/istio/expansion/gen-eastwest-gateway.sh \
    --mesh mesh1 --cluster cluster1 --network network1 --revision asm-186-8 | \
    istioctl --context="${CTX_CLUSTER1}" install -y -f -
    
  2. Instala una puerta de enlace en el cluster2 que esté dedicada al tráfico este-oeste para el cluster1.

    /asm/istio/expansion/gen-eastwest-gateway.sh \
    --mesh mesh1 --cluster cluster2 --network network2 | \
    istioctl --context="${CTX_CLUSTER2}" install -y -f -
    

Servicios expuestos

Como los clústeres se encuentran en redes separadas, deberás exponer todos los servicios (*.local) en la puerta de enlace este-oeste en ambos clústeres. Aunque esta puerta de enlace es pública en Internet, solo los servicios que tengan un certificado mTLS y un ID de carga de trabajo de confianza podrán acceder a los servicios subyacentes, como si estuvieran en la misma red.

  1. Expón servicios a través de la puerta de enlace este-oeste para el cluster1.

    kubectl --context="${CTX_CLUSTER1}" apply -n istio-system -f \
    asm/istio/expansion/expose-services.yaml
    
  2. Expón servicios a través de la puerta de enlace este-oeste para el cluster2.

    kubectl --context="${CTX_CLUSTER2}" apply -n istio-system -f \
    asm/istio/expansion/expose-services.yaml
    

Habilita la detección de extremos

  1. Instala un secreto remoto en el cluster2 que proporcione acceso al servidor de API del cluster1.

    istioctl x create-remote-secret \
    --context="${CTX_CLUSTER1}" \
    --name=cluster1 | \
    kubectl apply -f - --context="${CTX_CLUSTER2}"
    
  2. Instala un secreto remoto en el cluster2 que proporcione acceso al servidor de API del cluster2.

    istioctl x create-remote-secret \
    --context="${CTX_CLUSTER2}" \
    --name=cluster2 | \
    kubectl apply -f - --context="${CTX_CLUSTER1}"
    

Próximos pasos