Esta página é destinada a operadores de infraestrutura.
Depois de instalar o Anthos Management Center, registre as máquinas, o pool de endereços e os serviços de inicialização. Se você já registrou seus recursos editando o arquivo de configuração do Centro de gerenciamento antes de instalar o Centro de gerenciamento, ignore esta página, a menos que esteja registrando recursos adicionais.
Registrar máquinas de inventário
Para que um administrador de plataforma crie um cluster de usuário, o Anthos em execução no modo desconectado precisa de um pool de máquinas ociosas disponíveis. Nesta seção, você registra máquinas de inventário no cluster do administrador do Anthos para que o administrador da plataforma use-as posteriormente para criar um cluster de usuário. Essas máquinas precisam atender aos mesmos requisitos dos nós do cluster do administrador.
kubectl apply -f path/to/example-machine.yaml --kubeconfig=ADMIN_KUBECONFIG
Exemplo de arquivo example-machine.yaml
:
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.
Opcional: usar chaves SSH diferentes para máquinas de inventário
Por padrão, o Anthos em execução no modo desconectado usa a chave SSH fornecida por
sshPrivateKeyPath
, usada para acessar máquinas para o cluster de administrador, para acessar essas
máquinas de inventário. Para ter melhor isolamento entre máquinas de cluster de administrador e máquinas de inventário (usadas para clusters de usuário), você pode usar uma chave ssh diferente para máquinas de inventário. Crie as chaves SSH antes de criar os clusters de usuário que precisam dessas chaves.
Distribua a chave pública SSH para todas as máquinas de inventário.
Armazene a chave privada SSH como secret no cluster de administrador, por exemplo,
user-cluster-ssh-key
kubectl create secret generic user-cluster-ssh-key -n anthos-creds --kubeconfig=ADMIN_KUBECONFIG \ --from-file=id_rsa=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
Substitua
/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
pelo caminho para gerar o par de chaves.Ao criar clusters de usuários, especifique o secret criado na etapa 1, como
user-cluster-ssh-key
, no namespaceanthos-creds
.Isso é aceito apenas quando são criados clusters com a API. Adicione a chave SSH na definição do cluster dentro do arquivo yaml do cluster do usuário como
sshKeySecret
e especifiqueimagePullSecret
, por exemplo:apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: CLUSTER_NAME namespace: cluster-CLUSTER_NAME spec: type: user credentials: sshKeySecret: name: user-cluster-ssh-key namespace: anthos-creds .... nodeAccess: loginUser: LOGIN_USERNAME ....
Substitua:
CLUSTER_NAME
: o nome do cluster.LOGIN_USERNAME
: o nome de usuário usado para fazer login no cluster de usuário.
Registrar pool de endereços VIP
Para que o administrador da plataforma crie um cluster de usuário, diferente de InventoryMachines
, o Anthos precisa de um pool de todos os endereços IP virtuais (VIPs) disponíveis. Esse pool é usado pelo Console do Centro de Gerenciamento para mostrar ao
administrador da plataforma quais VIPs estão disponíveis e validar a disponibilidade do VIP
durante a criação do cluster de usuário.
Nesta seção, você registrará um AddressPool
no cluster de administrador do Anthos para usar posteriormente para criar clusters de usuário. Você precisa criar apenas um pool de endereços usando o nome anthos-addresspool-default
. Cada cluster de usuário é necessário para usar VIPs desse pool de endereços e não pode reutilizar o mesmo intervalo de VIPs. Os VIPs precisam atender aos mesmos requisitos dos VIPs usados para o cluster de administrador e não podem se sobrepor aos endereços IP dos nós.
kubectl apply -f path/to/ADDRESS_POOL_FILENAME --kubeconfig=ADMIN_KUBECONFIG
Substitua path/to/ADDRESS_POOL_FILENAME
pelo caminho para o arquivo de pool de endereços, por exemplo, example-addresspool.yaml
.
Exemplo de arquivo example-addresspool.yaml
:
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: AddressPool
metadata:
name: anthos-addresspool-default
spec:
description: DESCRIPTION
addresses:
- VIP_ADDRESS_POOL
Substitua:
DESCRIPTION
: insira instruções adicionais que queira exibir no console do Management Center.VIP_ADDRESS_POOL
: o intervalo do pool de endereços VIP, por exemplo,10.200.0.100-10.200.0.200
.
Registrar serviço de inicialização
O serviço de inicialização é um mecanismo usado para pré-instalar recursos adicionais, como os serviços de armazenamento e os drivers de GPU, nos clusters do usuário, depois de criados para disponibilizá-los imediatamente para uso. Crie os serviços de inicialização antes de criar os clusters de usuário que precisam desses serviços.
Crie o configmap que contém todos os manifestos necessários para instalar o serviço.
kubectl create configmap <configmap-name> --kubeconfig=ADMIN_KUBECONFIG \ --from-file=path/to/MANIFESTS --namespace=anthos-management-center
Substitua
path/to/MANIFESTS
pelo caminho para os arquivos de manifesto.Crie o objeto de serviço de inicialização que se refere ao configmap:
apiVersion: managementcenter.anthos.cloud.google.com/v1 kind: BootstrapService metadata: name: BOOTSTRAP_SERVICE_NAME namespace: anthos-management-center spec: # If set to True, this configuration can be applied to many user clusters, # e.g. a GPU driver configuration. If False, this configuration can only be # applied to a single user cluster, e.g. a CSI Driver + StorageClass # combination which is intended for exclusive use by a single user cluster. # Defaults to False. isReusable: False configMapRef: name: CONFIGMAP_NAME namespace: anthos-management-center
Substitua:
BOOTSTRAP_SERVICE_NAME
: o nome do serviço de inicialização.CONFIGMAP_NAME
: o nome do configmap que você criou na etapa anterior.
Repita essas etapas se mais serviços de inicialização forem necessários.