Guia de início rápido da instalação do modo particular do Anthos
Escopo de início rápido do modo particular do Anthos
Neste guia de início rápido, orientamos você na instalação do modo particular do Anthos como um operador de infraestrutura, responsável pela camada de infraestrutura, como máquinas bare metal, rede, armazenamento e sistema operacional. Neste guia de início rápido, você aprenderá a:
- Instale e configure o modo privado do Anthos usando a abordagem de instalação mínima.
- Implantar um cluster de administrador.
- Crie um cluster de usuário e implante um aplicativo nele.
O modo particular do Anthos tem dois tipos de clusters:
- Os clusters de administrador são usados para criar e gerenciar clusters de usuários.
- Os clusters de usuário executam suas cargas de trabalho.
Você também tem uma estação de trabalho de administrador, que é uma única máquina com as ferramentas necessárias para instalar e gerenciar a implantação do modo particular do Anthos.
Antes de começar
Verifique se você atende aos requisitos técnicos do modo particular do Anthos e se tem cinco ou mais máquinas prontas para uso. É necessário ter uma experiência anterior com o Kubernetes e o gerenciamento de sistema para este guia de início rápido.Prepare o ambiente
Acessar o modo privado do Anthos
O Google precisa conceder acesso às versões do modo particular do Anthos. 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 às versões do modo isolado do Anthos, verifique se você tem as permissões para fazer o download das versões do modo isolado do Anthos 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 as versões do modo particular do Anthos, entre em contato com o ponto de contato do Google para receber ajuda.
Fazer o download do modo privado do Anthos
Nesta seção, você faz o download da versão do modo isolado do Anthos, que está contida em vários arquivos de vários gigabytes cada. Dependendo da sua conexão com a Internet, o download pode levar muito tempo.
Fazer o download do modo privado do Anthos
Na estação de trabalho administrativa, execute os seguintes comandos:
# Login with the account granted access to Anthos private mode
gcloud auth login
# Download the script which helps download all the latest components
export VERSION=1.8.5-gke.1
# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.8/installing/infrastructure#download
export INSTALLER_DIGEST=7747774fc4274f330558c647b4268c3ef7fcac355c3f3451d7c6c09b8d91b933
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 modo isolado do Anthos 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"
Não é preciso ter uma conexão de Internet novamente até implantar o app de demonstração.
Configurar o Container Registry local
O modo isolado do Anthos armazena as imagens de contêiner do Anthos em um registro de contêiner local.
Exporte as seguintes variáveis de ambiente.
export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD
# By default, a library public project is created,
# and you can also create other private projects via 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 registro do contêiner do modo isolado do Anthos na estação de trabalho do administrador, use seu endereço IP da estação de trabalho de administrador aqui.REGISTRY_PASSWORD
é o valor definido para a senha do registro.
Configurar o registro de contêiner do modo isolado do Anthos
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.
Se você não tiver seu próprio registro de contêiner particular, instale o registro de contêiner do modo isolado do Anthos.
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
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}
O Container Registry 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.
Faça upload de imagens no Container Registry
Nesta seção, você faz upload das imagens de contêiner do modo particular do Anthos no seu registro de contêiner.
Prepare e faça upload das imagens de contêiner do modo particular do Anthos no seu registro de 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
Instalar o centro de gerenciamento
Nesta seção, você verá como instalar um cluster de administrador do Anthos em máquinas bare metal e, em seguida, instalar o centro de gerenciamento do Anthos no cluster de administrador.
Preparar a configuração do cluster de administrador
Atualize o arquivo ./actl-workspace/admin/admin.yaml
com configurações que correspondam ao seu ambiente.
vi ./actl-workspace/admin/admin.yaml
Preencha os seguintes campos:
O
sshPrivateKeyPath
é a chave usada durante a instalação para acessar os outros nós que farão parte do cluster. Esta é a metade particular da chave pública que você distribuiu aos nós nos pré-requisitos.O
registryMirrors
identifica o local de todos os espelhos de registro em que as imagens do Docker estão armazenadas.registryMirrors.endpoint
é o endpoint do espelho. O formato do endpoint éURL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX
. Por exemplo, se você criou o registro na estação de trabalho, defina o endpoint comohttps://REGISTRY_HOST/v2/library
. Observe que é necessário o/v2/
entreREGISTRY_HOST
eIMAGE_PREFIX
.registryMirrors.pullCredentialConfigPath
é o caminho das credenciais. Geralmente, é algo como/home/USER/.docker/config.json
.O
registryMirrors.caCertPath
é o local da autoridade de certificação que o registro usará para criptografar o tráfego. Esse certificado é distribuído aos nós durante o processo de instalação para permitir que eles extraiam imagens do registro. O caminho costuma ser/etc/docker/certs.d/REGISTRY_HOST/ca.crt
.
A especificação
controlPlane
define quais nós fazem parte do plano de controle.controlPlane: nodePoolSpec: nodes: # Control plane node pools. Typically, this is either a single machine # or 3 machines if using a high availability deployment. - address: 10.200.0.3
A especificação
loadBalancer
define o tipo de balanceador de carga usado. A configuração padrão instala um balanceador de carga no cluster em execução. Nesse caso, no mínimo, você precisa definir ocontrolPlaneVIP
para identificar um pool de endereços IP virtuais (VIP) para expor o servidor da API Kubernetes e oaddressPools
para alocar VIPs. sob demanda aos serviços que os solicitam. Exemplo:loadBalancer: mode: bundled # There are two load balancer VIPs: one for the control plane and one for the # L7 Ingress service. # The VIPs must be in the same subnet as the load balancer nodes. vips: # ControlPlaneVIP specifies the VIP to connect to the Kubernetes API server. # This address must not be in the address pools below. controlPlaneVIP: 10.200.0.50 # AddressPools is a list of non-overlapping IP ranges for the data plane load # balancer. # All addresses must be in the same subnet as the load balancer nodes. # Address pool configuration is only valid for 'bundled' LB mode in non-admin # clusters. addressPools: - name: pool1 addresses: # Each address must be either in the CIDR form (1.2.3.0/24) # or range form (1.2.3.1-1.2.3.5). - 10.200.0.51-10.200.0.59
A última seção da especificação do cluster especifica o
loginUser
. Esse login precisa ter acesso à chave SSH especificada abaixo e é o usuário para o qual a chave foi distribuída nos pré-requisitosnodeAccess: loginUser: LOGIN_USERNAME
Substitua
LOGIN_USERNAME
pelo nome de usuário usado para fazer login no cluster de usuário.A especificação
nodePool
identifica os nós que hospedarão o console do centro de gerenciamento, o Prometheus, o Grafana e outros serviços no cluster de administrador. Esses nós são os nós de trabalho do cluster de administrador. Exemplo:apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-admin spec: # Cannot be changed, must be admin clusterName: admin nodes: - address: 10.200.0.6
Crie o cluster de administrador
Execute o comando a seguir para criar o cluster de administrador. Isso leva aproximadamente 30 minutos.
cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin
Quando o cluster de administração for criado, verifique se você tem acesso a ele.
export ADMIN_KUBECONFIG=$(pwd)/bmctl-workspace/admin/admin-kubeconfig
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl get nodes
Instalar o centro de gerenciamento
Instalar a Central de gerenciamento no cluster de administrador com a configuração padrão.
cd ~/anthos-baremetal-private-mode actl platform management-center create
Acesse o Anthos Management Center no navegador.
actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}
O URL do Centro de Gerenciamento do Anthos é retornado.
Registrar recursos
Registrar máquinas de inventário
Para criar um cluster de usuário, o Anthos precisa de um pool de máquinas inativas disponível. Nesta seção, você registrará máquinas de inventário no cluster de administrador do Anthos para disponibilizá-las.
kubectl apply -f <path/to/example-machine.yaml> --kubeconfig=${ADMIN_KUBECONFIG}
Exemplo:
apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
name: IP_ADDRESS
labels:
"KEY": "VALUE"
spec:
address: IP_ADDRESS
Substitua:
IP_ADDRESS
: o endereço IP da máquina, por exemplo,10.200.0.10
.KEY
:VALUE
: um par de chave-valor, por exemplo,"rack": "r1020"
para indicar um local do rack.
Os labels
são pares de chave-valor de formato livre anexados ao recurso.
Esses rótulos podem ser usados posteriormente no Management Center para filtrar máquinas.
Por exemplo, é possível usar os rótulos para identificar a localização do rack ou configurações especiais
de hardware.
Criar clusters de usuários
Na página Clusters do Management Center, clique em Criar para criar um novo cluster de usuário do Anthos. Depois que o cluster é criado, ele é registrado automaticamente na central de gerenciamento e aparece no painel do cluster imediatamente.
Pode levar até 15 minutos para que a instalação esteja pronta. Enquanto aguarda, verifique o status do cluster de usuário com o seguinte comando:
kubectl get Cluster -n USER_CLUSTER_NAME --kubeconfig=${ADMIN_KUBECONFIG}
Substitua USER_CLUSTER_NAME
pelo nome do cluster que você criou.
Depois que o status estiver pronto, o cluster será criado e registrado no cluster do administrador.
Acessar o cluster de usuários
Depois da criação do cluster de usuário, faça o download do kubeconfig no centro de gerenciamento.
Implantar app de demonstração
É possível explorar o modo particular do Anthos testando o aplicativo de amostra Online Boutique.
Fazer o download da imagem
As etapas nesta seção exigem uma conexão de Internet.
Faça o download do repositório de amostra:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git/ online-boutique
Fazer o download das imagens:
IMAGES=$(cat online-boutique/release/kubernetes-manifests.yaml | grep image | sed "s/ *image: //") actl images save --output online-boutique-images ${IMAGES}
Implante a amostra
Envie as imagens para o registro particular:
actl images push --images online-boutique-images --private-registry=PRIVATE_REGISTRY
Substitua
PRIVATE_REGISTRY
pelo nome do registro particular.Criar um namespace para o aplicativo.
kubectl create namespace demo --kubeconfig=USER_CLUSTER_KUBECONFIG
Substitua
USER_CLUSTER_KUBECONFIG
pelo caminho para o arquivo Kubeconfig do cluster de usuário.Implante a amostra no cluster:
kubectl apply -n demo -f online-boutique/release/ --kubeconfig=USER_CLUSTER_KUBECONFIG
Limpeza
Exclua o cluster de usuário executando o seguinte comando:
kubectl -n cluster-USER_CLUSTER_NAME \
delete Cluster USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG