Adicionar clusters ao Anthos Service Mesh no local

Neste guia, explicamos como configurar o Anthos Service Mesh com vários GKE no VMware. É possível ampliar esse processo para incorporar qualquer número de clusters à malha.

Uma configuração do Anthos Service Mesh de vários clusters pode resolver várias situações corporativas cruciais, como escala, local e isolamento. Para mais informações, consulte Casos de uso de vários clusters. Além disso, otimize seus aplicativos para aproveitar ao máximo uma malha de serviço. Para mais informações, consulte Como preparar um aplicativo para o Anthos Service Mesh.

Se você tiver uma versão anterior do Anthos Service Mesh instalada, consulte Como fazer upgrade do Anthos Service Mesh no GKE no VMware. Essa instalação ativa os recursos compatíveis no cluster.

Requisitos

Antes de começar, este guia presume que você esteja usando clusters novos ou atuais criados com as etapas descritas em Como instalar o Anthos Service Mesh no local.

  • Os requisitos deste guia são além daqueles listados em Como instalar o Anthos Service Mesh no local.

  • Anthos Service Mesh versão 1.8 ou posterior instalado nos clusters. Consulte Como instalar o Anthos Service Mesh no local para instalar ou fazer upgrade dos clusters para a versão necessária.

    gkectl version

    Se você não tiver gkectl instalado, consulte Downloads do GKE On-Prem.

  • Todos os clusters estão em execução no GKE On-prem no vSphere.

  • Você precisará do pacote de configuração usado anteriormente para instalar o Anthos Service Mesh no cluster. Se você precisar de outra cópia, faça o download usando o comando:

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

    Não é necessário definir nenhum valor no pacote de configuração.

Como instalar o gateway leste-oeste

  1. Instale um gateway no cluster1 que seja dedicado ao tráfego leste-oeste. Por padrão, esse gateway será público na Internet. Os sistemas de produção podem exigir outras restrições de acesso, como regras 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. Instale um gateway no cluster2 que seja dedicado ao tráfego leste-oeste para o cluster1.

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

Como expor serviços

Como os clusters estão em redes separadas, é necessário expor todos os serviços (*.local) no gateway leste-oeste em ambos os clusters. Embora este gateway seja público na Internet, os serviços por trás dele só poderão ser acessados por serviços com um certificado mTLS confiável e um ID de carga de trabalho, como se estivessem na mesma rede.

  1. Exponha os serviços por meio do gateway leste-oeste para o cluster1.

    kubectl --context="${CTX_CLUSTER1}" apply -n istio-system -f \
    asm/istio/expansion/expose-services.yaml
    
  2. Exponha serviços por meio do gateway leste-oeste para o cluster2.

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

Como ativar a descoberta de endpoints

  1. Instale um secret remoto no cluster2 que fornece acesso ao servidor da API do cluster1.

    istioctl x create-remote-secret \
    --context="${CTX_CLUSTER1}" \
    --name=cluster1 | \
    kubectl apply -f - --context="${CTX_CLUSTER2}"
    
  2. Instale um segredo remoto no cluster1 que fornece acesso ao servidor da API do cluster2.

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

A seguir