Como configurar um cluster de processamento no Google Cloud para cargas de trabalho do Linux

Neste tópico, descrevemos como configurar um cluster do Google Kubernetes Engine (GKE) ou Anthos no Google Cloud como um cluster de processamento. Você usará esse último item para gerar artefatos de contêiner migrados, além de operar e monitorar a transferência.

Antes de começar

Antes de criar um cluster de processamento, você precisará:

Configurar regras de firewall

Se você estiver migrando de uma plataforma de origem diferente do Compute Engine, será preciso criar duas regras de firewall para sub-redes que armazenam clusters do GKE usados para migrar as cargas de trabalho. Adicione as regras de firewall a seguir no Console do Cloud.

Tipo Origem Destinos Protocolo Porta
Entrada Sub-rede da VPN ou tag da rede do cluster. Por exemplo, pode ser fw-workload, conforme descrito na configuração de rede do Migrate for Compute Engine. Isso se aplica aos nós do cluster do GKE. Sub-rede da Cloud Extension do Migrate for Compute Engine na tag de rede de nós do Google Cloud ou da Cloud Extension. Por exemplo, fw-migration-cloud-extension, conforme descrito em Configuração de rede do Migrate for Compute Engine. iSCSI TCP/3260
Entrada Sub-rede da VPN ou tag da rede do cluster. Por exemplo, pode ser fw-workload, conforme descrito na configuração de rede do Migrate for Compute Engine. Isso se aplica aos nós do cluster do GKE.

Para essa regra ou como uma regra extra, adicione também os intervalos de IP do pod como uma origem de rede, conforme configurado no cluster do GKE.

Sub-rede do Migrate for Compute Engine Manager no Google Cloud ou tag de rede. Por exemplo, fw-migration-manager, conforme descrito em Configuração de rede do Migrate for Compute Engine. HTTPS TCP/443

Definir os padrões do projeto

Antes de começar, veja se você realizou as seguintes tarefas:

Defina as configurações padrão da gcloud usando um dos métodos a seguir:

  • Use gcloud init se quiser orientações para definir os padrões.
  • Use gcloud config para definir individualmente a região, a zona e o ID do projeto.

Como usar o gcloud init

Se você receber o erro One of [--zone, --region] must be supplied: Please specify location, conclua esta seção.

  1. Execute gcloud init e siga as instruções:

    gcloud init

    Se você estiver usando SSH em um servidor remoto, utilize a sinalização --console-only para impedir que o comando inicie um navegador:

    gcloud init --console-only
  2. Siga as instruções para autorizar a gcloud a usar sua conta do Google Cloud.
  3. Crie uma nova configuração ou selecione uma atual.
  4. Escolha um projeto do Google Cloud.
  5. Escolha uma zona padrão do Compute Engine para clusters zonais ou uma região para clusters regionais ou de Autopilot.

Como usar o gcloud config

  • Defina o ID do projeto padrão:
    gcloud config set project PROJECT_ID
  • Se você estiver trabalhando com clusters zonais, defina a zona do Compute padrão:
    gcloud config set compute/zone COMPUTE_ZONE
  • Se você estiver trabalhando com clusters de Autopilot ou regionais, defina a região do Compute padrão:
    gcloud config set compute/region COMPUTE_REGION
  • Atualize gcloud para a versão mais recente:
    gcloud components update

Criar um cluster para cargas de trabalho do Linux

Use o comando abaixo para criar um cluster zonal para usar como cluster de processamento. Certifique-se de usar as VPCs que estejam executando a instalação do Migrate for Anthos ou conectadas por meio de uma VPC compartilhada.

Migrate for Anthos é compatível apenas com determinados sistemas operacionais para nós. Use a imagem de nó do Ubuntu se os nós exigirem compatibilidade com os pacotes do XFS, CephFS ou Debian.

Sobre clusters e fontes do Compute Engine

Uma origem de migração representa a plataforma de origem a ser migrada. Por exemplo, VMware, AWS, Azure ou Compute Engine. Como parte da migração, o Migrate for Anthos cria um snapshot das imagens de disco de uma VM em execução na plataforma de origem.

Quando a plataforma de origem é Compute Engine, só é possível tirar um snapshot em um disco específico no máximo uma vez a cada 10 minutos ou 6 vezes por hora. Para evitar atingir esse limite, recomendamos que você crie o cluster na mesma zona da VM do Compute Engine. Quando o cluster está na mesma zona da VM, o Migrate for Anthos pode clonar o disco em vez de criar um snapshot, que é um processo mais eficiente e ignora o limite de snapshots.

Consulte Como criar snapshots frequentes com eficiência para saber mais.

Como criar o cluster

O exemplo abaixo cria um cluster de processamento simples para você começar a usar o Migrate for Anthos. Para opções mais avançadas, consulte:

O comando gcloud oferece muitas opções de configuração que talvez você queira usar. Elas incluem a escolha de tipos de máquina de nó, especificar --network e --subnetwork e ativar endereços IP de alias. Veja mais informações em gcloud container clusters create.

  1. Crie o cluster:

    gcloud container clusters create cluster-name \
     --project project-name \
     --zone=gcp-zone \
     --num-nodes 1 \
     --machine-type "n1-standard-4"  \
     --image-type "UBUNTU_CONTAINERD" \
     --enable-stackdriver-kubernetes \
     --network network \
     --subnetwork subnetwork \
     --tags="tag-value"
    

    Edite os parâmetros nos exemplos de comando de acordo com suas próprias necessidades. Por exemplo, defina project como o nome do projeto do Google Cloud e defina zone como a zona do Compute.

    Recomendamos um machine-type "n1-standard-4" ou maior. Consulte Tipos de clusters para mais informações.

  2. Conecte-se ao cluster:

    gcloud container clusters get-credentials cluster-name \
     --zone gcp-zone --project project-name
    

Como criar um cluster em uma VPC compartilhada

Um ambiente comum cria clusters com uma VPC compartilhada. Com a VPC compartilhada, você designa um projeto como host e pode anexar outros a ele, os chamados projetos de serviço.

Veja abaixo um exemplo de comando para criar um cluster em um ambiente de VPC compartilhada:

gcloud container clusters create cluster-name \
  --project project-name \
  --zone=gcp-zone \
  --machine-type "n1-standard-4" \
  --image-type "UBUNTU_CONTAINERD" \
  --num-nodes "1" \
  --enable-ip-alias \
  --username "admin" \
  --enable-stackdriver-kubernetes \
  --cluster-ipv4-cidr=cluster-ipRange \
  --services-ipv4-cidr=services-ipRange \
  --cluster-secondary-range-name pods-range \
  --services-secondary-range-name svc-range \
  --network projects/projectId/global/networks/vpcId \
  --subnetwork projects/projectId/regions/region/subnetworks/subnetwork \
  --addons HorizontalPodAutoscaling,HttpLoadBalancing \
  --no-enable-autoupgrade \
  --no-enable-autorepair \
  --tags networkTags \   # optional
  --labels key=value     # optional

Para uma descrição completa desse comando e das opções disponíveis, consulte Como configurar clusters com a VPC compartilhada.

Como criar um cluster privado

Com os clusters particulares, você isola os nós, evitando a conectividade de entrada e de saída com a Internet pública. Esse isolamento é alcançado já que os nós têm apenas endereços IP internos.

O Migrate for Anthos aceita o uso de clusters particulares. Porém, ao usar um cluster privado, o nó do plano de controle precisa ser capaz de alcançar o pod de infraestrutura do Migrate for Anthos na porta 9443.

Portanto, é preciso adicionar a porta 9443 às regras de firewall do nó do plano de controle. Para mais informações, consulte Como criar um cluster particular.

Próximas etapas