Instalar o Anthos Management Center

Esta página é destinada a operadores de infraestrutura.

Nesta página, descrevemos como instalar o Anthos Management Center e receber o URL.

Instalar o centro de gerenciamento

Nesta seção, você instalará um cluster de administrador em máquinas bare metal e instalará o Management Center sobre o 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 como https://REGISTRY_HOST/v2/library. Observe que é necessário o /v2/ entre REGISTRY_HOST e IMAGE_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. Se estiver usando uma implantação de alta disponibilidade, especifique três endereços IP, por exemplo:

    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
        - address: 10.200.0.4
        - address: 10.200.0.5
    
  • 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 o controlPlaneVIP para identificar um pool de endereços IP virtuais (VIP) para expor o servidor da API Kubernetes e o addressPools 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
      # Layer 7 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é-requisitos

    nodeAccess:
      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. Consulte Problemas conhecidos se você tiver problemas para criar o cluster de administrador.

cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin

Depois de criar o cluster de administração, verifique se você tem acesso a ele.

export ADMIN_KUBECONFIG=$(pwd)/actl-workspace/admin/admin-kubeconfig

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

Opcional: registrar recursos

É possível editar o arquivo de configuração ./managementcenter/management-center.yaml para registrar automaticamente os recursos para que eles estejam disponíveis quando a instalação for concluída. Você também pode pular esta seção e registrar manualmente seus recursos após terminar de instalar o Management Center.

Abra o arquivo ./managementcenter/management-center.yaml para personalizar a instalação do Management Center.

vi ./managementcenter/management-center.yaml

No editor de arquivos, adicione as seguintes seções:

Registrar máquinas de inventário

Registrar máquinas de inventário no cluster de administrador para que o administrador da plataforma use posteriormente para criar um cluster de usuário.

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.

Registrar pool de endereços IP virtual (VIP)

Registre um AddressPool no cluster de administrador para usar mais tarde para criar clusters de usuário.

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.

  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. Adicione a seguinte seção ao arquivo ./managementcenter/management-center.yaml para criar 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.

Instalar o centro de gerenciamento

Instale o Management Center no cluster de administração.

Configuração padrão

Estas instruções instalam o Management Center com uma configuração padrão mínima.

cd ~/anthos-baremetal-private-mode
actl platform management-center create

Configuração personalizada

Estas instruções instalam o Management Center usando uma configuração personalizada. Com isso, é possível personalizar as configurações antes de instalar o Management Center. Para fazer isso, atualize o arquivo ./managementcenter/management-center.yaml para personalizar a instalação do Centro de gerenciamento.

vi ./managementcenter/management-center.yaml

Instale o Management Center usando a configuração personalizada.

cd ~/anthos-baremetal-private-mode
actl platform management-center create --config managementcenter/management-center.yaml

Acesse o URL do Management Center

O URL do Management Center é impresso após a instalação do Management Center, mas também pode ser recuperado executando o seguinte comando:

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}

Compartilhe o URL retornado com um administrador da plataforma para que ele acesse o Management Center.

Configurar o nome de domínio para acessar o Management Center

Para configurar seu próprio nome de domínio e acessar o Management Center:

Adicione um A record à configuração do domínio DNS e defina-o como o endereço IP retornado pelo seguinte comando:

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}

A seguir