Instalar a infraestrutura do Anthos em execução no modo desconectado

Esta página é destinada a operadores de infraestrutura.

O Anthos em execução no modo desconectado é uma versão do Anthos que pode ser executada totalmente isolada da Internet em um ambiente com isolamento físico. É possível usar o Anthos em execução no modo desconectado para executar cargas de trabalho altamente regulamentadas em suas instalações e aproveitar as muitas das vantagens de uma infraestrutura nativa da nuvem.

Introdução

A arquitetura do Anthos em execução no modo desconectado é semelhante à arquitetura conectada do Anthos em bare metal: há um cluster de administrador que você usa para criar e gerenciar clusters de usuário. Suas cargas de trabalho são executadas nos clusters de usuários. Você também tem uma estação de trabalho de administrador que é uma única máquina que contém as ferramentas necessárias para instalar e gerenciar o Anthos em execução na implantação no modo desconectado.

Em comparação com a versão conectada do Anthos em bare metal, o Anthos em execução no modo desconectado inclui três componentes extras:

  • um registro de contêiner opcional em execução na estação de trabalho de administrador para armazenar todas as imagens de contêiner do Anthos (necessário caso você não tenha acesso a um registro de contêiner).
  • Uma ferramenta de linha de comando actl que ajuda a instalar o Anthos em execução no modo desconectado e realizar outras tarefas administrativas.
  • Centro de gerenciamento do Anthos que ajuda a gerenciar a autorização e a autenticação, a observabilidade e o gerenciamento de recursos do Anthos de vários clusters. O Centro de gerenciamento inclui um Console baseado na Web em execução no cluster de administrador. A interface do usuário do console da central de gerenciamento, que permite gerenciar todos os recursos que compõem a implantação do Anthos, incluindo máquinas, pools de endereços e clusters de usuários. Também é possível usar o console da central de gerenciamento para gerenciar os recursos do Anthos e monitorar as cargas de trabalho.

Diagrama que descreve a arquitetura do Anthos

Figura: arquitetura do Anthos.

Prepare o ambiente

Tenha acesso à versão do produto, faça o download da versão mais recente e instale todas as dependências.

Antes de começar

Antes de seguir as instruções desta página, você precisa atender aos requisitos técnicos do Anthos em execução no modo desconectado.

Acessar o Anthos em execução no modo desconectado

O Google precisa conceder acesso ao Anthos em execução nas versões no modo desconectado. Forneça ao seu ponto de contato do Google um endereço de e-mail para cada testador, para que possamos conceder acesso ao repositório de download. Esses endereços de e-mail precisam ser contas do Google.

Depois que seu ponto de contato do Google confirmar que você tem acesso ao Anthos em execução nas versões do modo desconectado, verifique se você tem as permissões para fazer o download do Anthos em execução nas versões do modo desconectado executando o seguinte comando:

gsutil ls gs://anthos-private-mode-release/

Se você vir um erro, verifique se a gsutil está usando a mesma conta do Google que você forneceu ao seu ponto de contato do Google executando o comando gcloud auth list.

Se preferir, acesse o bucket de lançamento mais recente para verificar se tem as permissões corretas. Você precisa fazer login com a Conta do Google fornecida anteriormente.

Se você tiver problemas para acessar o Anthos em execução nas versões do modo desconectado, fale com seu ponto de contato do Google para receber ajuda.

Faça o download do Anthos em execução no modo desconectado

Nesta seção, você faz o download do Anthos em execução na versão do modo desconectado, que está contido em vários arquivos de vários gigabytes cada. Dependendo da sua conexão com a Internet, o download pode levar muito tempo.

Faça o download do Anthos em execução no modo desconectado

Na estação de trabalho administrativa, execute os seguintes comandos:

# Login with the account granted access to Anthos running in disconnected mode
gcloud auth login

# Download the script which helps download all the latest components
export VERSION=1.12.0-gke.0

# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.11/installing/infrastructure#download
export INSTALLER_DIGEST=53275103489dd7569a321da5f70d78cad00a9e3b6a550202200ede37d51d4d3e
export INSTALLER=get-anthos-private-mode-$VERSION.sh
gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER .
if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER

# If you are working on a workstation shared with other users,
# we recommend that you revoke your credentials after downloading the release.
gcloud auth revoke YOUR_EMAIL_ADDRESS

Instalar as dependências restantes

Depois que o download do Anthos em modo desconectado for concluído, execute os seguintes comandos:

cd anthos-baremetal-private-mode

# Add actl command line tool and tools directory to the PATH
export PATH=$PWD/bin:$PATH

# Download Harbor offline installer
curl -SL \
  https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz \
  --output "local-registry/harbor-offline-installer.tgz"

# Install docker-compose
curl -SL \
  https://github.com/docker/compose/releases/download/1.28.5/docker-compose-Linux-x86_64 \
  --output "local-registry/docker-compose"

Essas são as únicas duas etapas do processo que exigem uma conexão com a Internet. Uma instalação do Anthos no modo desconectado em um ambiente totalmente isolado da Internet oferece as seguintes vantagens:

  • Primeiro, conecte a estação de trabalho de administrador à Internet e faça o download da versão conforme mostrado acima. Em seguida, desconecte sua estação de trabalho da Internet e conecte-a ao ambiente de rede desconectada.
  • Faça o download da versão a partir de uma estação de trabalho de desenvolvedor conectada à Internet, copie-a para um dispositivo de armazenamento portátil e conecte o dispositivo à estação de trabalho de administrador na rede desconectada.

É possível usar o conteúdo do Anthos em execução na versão de modo desconectado:

./anthos-baremetal-private-mode
├── actl-workspace
│   └── admin
│       └── admin.yaml
├── baremetal
│   ├── images
│   └── package-spec.yaml
├── bin
│   ├── actl
│   ├── istioctl
│   └── nomos
├── local-registry
│   ├── cleanup.sh
│   ├── docker-compose
│   ├── generate-certs.sh
│   ├── harbor-offline-installer.tgz
│   └── install.sh
├── managementcenter
│   ├── images
│   └── management-center.yaml
├── services
│   ├── anthos-config-management
│   ├── anthos-service-mesh
│   └── images
├── third_party
└── updatecenter
    └── images
  • O diretório local-registry contém os recursos para configurar um registro de contêiner local.
  • Outros diretórios, como managementcenter, services e baremetal, contêm tudo o que é necessário para instalar o cluster de administrador e o Anthos Management Center.

Opcional: ativar preenchimento automático de shell do actl

A ferramenta de linha de comando actl é compatível com o preenchimento automático de shell para Bash, Zsh e Fish. É possível configurar a conclusão no shell seguindo as instruções em actl help completion. Por exemplo, em Ubuntu/Debian, bash:

# One time setup: install bash-completion
sudo apt update && sudo apt install bash-completion

# In ~/.bashrc
source /etc/profile.d/bash_completion.sh
source <(actl completion bash)

Configurar o registro de contêiner

O Anthos em execução no modo desconectado funciona armazenando as imagens de contêiner do Anthos em um registro de contêiner local. É possível usar seu próprio registro de contêiner ou registros de contêiner agrupados no modo isolado do Anthos.

Exporte as seguintes variáveis de ambiente.

export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD

# By default, a public project called 'library' is created,
# and you can also create other public or private projects with the container registry portal.
export PRIVATE_REGISTRY=${REGISTRY_HOST}/library

Substitua:

  • REGISTRY_HOST é o endereço IP do registro. Se você quiser instalar e usar o Anthos em execução no registro do contêiner no modo desconectado na estação de trabalho de administrador, use o endereço IP da estação de trabalho de administrador aqui.

  • REGISTRY_PASSWORD é o valor definido para a senha do registro.

Se você decidir usar seu próprio registro de contêiner, pule para a seção Fazer upload de imagens no registro de contêiner.

Configurar o Anthos em execução no registro de contêiner do modo desconectado

Nesta seção, você configura um registro de contêiner particular na estação de trabalho do administrador. Execute todos os comandos abaixo na estação de trabalho de administrador.

  1. Se você não tiver seu próprio registro de contêiner particular, instale o Anthos em execução no registro de contêiner no modo desconectado.

    cd ~/anthos-baremetal-private-mode
    
    # Move it to a path under $PATH
    chmod a+x local-registry/docker-compose
    sudo cp local-registry/docker-compose /usr/bin
    
    # Install local registry
    ./local-registry/install.sh
    
  2. Faça login no registro para confirmar que você tem acesso. Talvez seja necessário esperar alguns segundos caso receba um erro.

    docker login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    

Observações:

  • O Anthos em execução no registro de contêiner do modo desconectado é usado para instalar o Anthos em execução somente no modo desconectado. Ele ainda não está pronto para uso em produção.
  • O projeto de registro público padrão é library e pode ser usado por padrão. No entanto, você pode fazer login no registro e criar um novo projeto, se quiser.
  • O registro de contêiner estará disponível em https://REGISTRY_HOST/ depois que o serviço for iniciado. As credenciais de login são admin e REGISTRY_PASSWORD para a senha.
  • As credenciais são armazenadas sem criptografia em /home/<USER>/.docker/config.json.

Fazer upload de imagens no registro de contêiner

Nesta seção, mostramos como fazer o upload das imagens de contêiner do Anthos em execução no modo desconectado para o registro do contêiner.

Prepare e faça upload das imagens de contêiner do Anthos em execução no modo desconectado para o registro do contêiner. Se solicitado, escolha a opção Use that credential ou insira as novas credenciais.

actl images push --private-registry=${PRIVATE_REGISTRY} \
    --images ~/anthos-baremetal-private-mode

Observação: se você usar um proxy HTTP na estação de trabalho, talvez seja necessário cancelar a definição das seguintes variáveis de ambiente para que o comando actl images push funcione:

unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY

Opcional: fazer upload de gráficos Helm para o Container Registry

Nesta seção, mostramos como fazer o upload dos gráficos Helm opcionais do Anthos em execução do modo desconectado para seu registro de contêiner. O Anthos em execução no modo desconectado versão 1.10 inclui gráficos Helm agrupados para três soluções do Google Cloud Marketplace: PostgreSQL, Redis e Kafka. Essas famosas pilhas de software de código aberto são empacotadas pelo Google e projetadas para serem executadas em ambientes desconectados.

  1. Prepare e faça upload dos gráficos Helm do Anthos em execução nos modo desconectado para seu registro de contêiner. Se necessário, escolha a opção Use that credential ou insira as novas credenciais.

    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-postgresql/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-redis-ha/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-kafka/package-spec.yaml
    
  2. Para extrair os gráficos Helm do Anthos em execução no modo desconectado do seu registro de contêiner, ative o suporte experimental do OCI do Helm:

    export HELM_EXPERIMENTAL_OCI=1
    
  3. Se o registro particular usar um certificado autoassinado, você também precisará atualizar os certificados da autoridade de certificação (CA, na sigla em inglês) no sistema. Veja mais detalhes neste problema do Helm.

    sudo cp local-registry/ca.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
  4. Faça login no registro para confirmar que você tem acesso:

    helm registry login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    
  5. Extraia e exporte os gráficos Helm do Anthos em execução no modo desconectado do registro de contêiner:

    helm chart pull ${PRIVATE_REGISTRY}/<CHART>:<TAG>
    helm chart export ${PRIVATE_REGISTRY}/<CHART>:<TAG> .
    

A seguir