Como instalar o Anthos Management Center

Instalar o centro de gerenciamento

Nesta seção, você instalará um cluster de administrador do Anthos em máquinas bare metal. Em seguida, instalará o centro de gerenciamento do modo particular do Anthos na parte superior do cluster de administrador.

Preparar configuração de cluster do administrador

Atualize o arquivo ./bmctl-workspace/admin/admin.yaml com configurações que correspondam ao seu ambiente.

vi ./bmctl-workspace/admin/admin.yaml

Veja abaixo os detalhes dos campos que precisam ser preenchidos, bem como nos comentários do arquivo admin.yaml.

  • 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 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. Se você criou o registro na estação de trabalho seguindo as instruções em Como instalar a infraestrutura, defina o endpoint como https://REGISTRY_HOST/v2/library. Observe que o /v2/ entre REGISTRY_HOST e IMAGE_PREFIX é necessário.

    • 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 o VIP para expor o servidor da API Kubernetes e o addressPools para alocar VIPs sob demanda para os 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 Requisitos

    nodeAccess:
      loginUser: <USER_NAME>
    
  • A especificação nodePool identifica os nós que hospedarão a AdminUI, o Prometheus, o Grafana e outros serviços no 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
      - address: 10.200.0.7
    

Criar o cluster de administrador

Execute o comando a seguir para criar o cluster de administrador. Isso leva aproximadamente 30 minutos. Confira os Problemas conhecidos ao encontrar erros.

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

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

Instale o Centro de gerenciamento

Instale o Centro de gerenciamento no cluster de administração.

Configuração padrão

Estas instruções instalam o Centro de gerenciamento 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 Centro de gerenciamento usando uma configuração personalizada. Com isso, é possível personalizar as configurações antes de instalar o Centro de gerenciamento. 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 Centro de gerenciamento usando a configuração personalizada.

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

Encontrar o URL do Centro de gerenciamento

O URL do centro de gerenciamento do modo particular do Anthos é impresso após a instalação do Centro de gerenciamento, mas também pode ser recuperado por:

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

O URL retornado precisa ser compartilhado com um Administrador da plataforma para configurar o modo particular do Anthos.

Configurar o nome de domínio para acessar o Centro de gerenciamento

Para configurar seu próprio nome de domínio e acessar o centro de gerenciamento do modo particular do Anthos:

  1. Adicione um A record à configuração de domínio DNS e defina-o como o endereço IP retornado por

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