Registrar recursos

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 da plataforma crie um cluster de usuário, o modo particular do Anthos precisa de um conjunto de máquinas inativas 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 modo particular do Anthos usa a chave SSH fornecida por sshPrivateKeyPath (usado para acessar as máquinas do 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.

  1. Distribua a chave pública SSH para todas as máquinas de inventário.

  2. 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.

  3. Ao criar clusters de usuários, especifique o secret criado na etapa 1, como user-cluster-ssh-key, no namespace anthos-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 especifique imagePullSecret, 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.

  1. 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.

  2. 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.
  3. Repita essas etapas se mais serviços de inicialização forem necessários.

A seguir