Configuração do complemento Advanced Cluster Management

O complemento Advanced Cluster Management (ACM) oferece aos clientes uma maneira simplificada de gerenciar o monitoramento, o posicionamento da carga de trabalho e as políticas de segurança em vários clusters.

A instalação do ACM a partir de OperatorHub não é compatível com os clusters IBM Cloud. Para instalar o ACM, siga as instruções desta página.

O cluster no qual você instala o ACM é o cluster do hub. Durante ou após a instalação, você pode especificar vários clusters gerenciados para gerenciar com o ACM.

Antes de Iniciar

Analise as seguintes etapas e informações de pré-requisitos antes de instalar o complemento ACM.

  1. Certifique-se de que seus clusters atendam aos seguintes requisitos.
    • Seu cluster de hub deve ser um cluster VPC com pelo menos 3 nós de trabalho que executam o RHCOS e um mínimo de 6 VCPU e 64GB RAM. Para obter alta disponibilidade, certifique-se de que seu cluster tenha pelo menos um nó de trabalho por zona em 3 zonas.
    • Cada cluster gerenciado deve ter pelo menos 3 nós de trabalho que executam o RHCOS e um mínimo de 6 VCPU e 64GB RAM.
  2. Analise os operadores que são instalados automaticamente pelo complemento ACM e os operadores opcionais que você pode instalar como aprimoramentos.
  3. Você deve ter a função de acesso à plataforma Administrator e a função de acesso ao serviço Manager para o cluster em IBM Cloud Kubernetes Service.
  4. É necessário ter um cluster VPC com pelo menos 3 nós de trabalho. Cada nó de trabalho deve ter, no mínimo, 4 CPUs e um 16GB s de RAM. Para obter alta disponibilidade, certifique-se de que seu cluster tenha pelo menos um nó de trabalho por zona em 3 zonas.
  5. Crie um perfil confiável em seu cluster para usar no ACM.
  6. Para cada cluster que você deseja gerenciar com o ACM, é necessário criar um segredo no cluster do hub com o token de acesso do cluster gerenciado e o servidor URL. Essa etapa pode ser concluída antes ou depois da instalação. Consulte Preparando segredos para a ACM.
  7. Instalar ou atualizar a CLI.

Criar um perfil confiável para a ACM

Siga as etapas para criar um perfil confiável a ser usado pelo ACM e atribua-o ao cluster de hubs.

Depois de adicionar um perfil confiável a um cluster, ele não pode ser removido e você não poderá voltar a usar uma chave de API para seus recursos. Certifique-se de seguir estas etapas cuidadosamente para garantir que seu perfil de confiança esteja configurado corretamente.

Crie um perfil confiável usando a interface do usuário

  1. Siga as etapas para criar um perfil confiável. Nas Condições para o perfil, certifique-se de especificar o acesso a seguir.

    • Recursos de computação: Red Hat OpenShift
    • Todos os recursos de serviço
    • Permitir acesso quando o Namespace for igual a kube-system
    • Kubernetes Service Funções - Gerente, Editor
  2. Depois de criar o perfil confiável, copie o ID da página Perfis confiáveis no console.

Crie um perfil confiável usando a CLI

  1. Crie o perfil confiável.
    ibmcloud iam trusted-profile-create acm-operator-profile
    
  2. Crie a regra de confiança do recurso de computação, com escopo restrito ao namespace kube-system nos recursos de computação Red Hat OpenShift.
    ibmcloud iam trusted-profile-rule-create acm-operator-profile \
      --name kube-system-rule \
      --type Profile-CR \
      --conditions claim:namespace,operator:EQUALS,value:kube-system \
      --cr-type ROKS_SA
    
  3. Atribua a política de acesso do IAM ao perfil. Substitua CLUSTER_ID pelo ID do seu cluster de hubs.
    ibmcloud iam trusted-profile-policy-create acm-operator-profile \
      --roles Reader,Viewer,Operator,Editor \
      --service-name containers-kubernetes \
      --service-instance CLUSTER_ID
    

Configure o perfil de confiança para o cluster

  1. Recuperar o ID do perfil confiável.
    ibmcloud iam trusted-profiles
    
  2. Atribua o perfil confiável ao cluster.
    ibmcloud oc experimental trusted-profile set --cluster CLUSTER_NAME_OR_ID --trusted-profile TRUSTED_PROFILE_ID
    

Preparando segredos para a ACM

Para cada cluster que você deseja gerenciar com o ACM, é necessário criar um segredo no cluster do hub que inclua o token de acesso do cluster gerenciado e o servidor URL.

Se você quiser importar clusters gerenciados durante o processo de instalação do complemento ACM, conclua estas etapas antes de iniciar a instalação. Se você optar por criar os segredos e importar clusters gerenciados depois que o complemento for instalado no cluster do hub, poderá fazer isso concluindo etapas adicionais com a CLI.

Siga as etapas a seguir para cada cluster que você deseja gerenciar.

  1. No cluster que você deseja gerenciar com o ACM, execute o comando para localizar o servidor URL. Na saída, localize e anote o valor do Master URL. Este é o servidor URL a ser referenciado no segredo. Você também utilizará este link URL nas etapas a seguir.

    ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID
    

    Exemplo de saída.

    NAME:                           mycluster
    ID:                             1234567
    State:                          normal
    Created:                        2025-01-22T19:22:16+0000
    Location:                       dal10
    Master URL:                     https://c100-e.<region>.containers.cloud.ibm.com:<port>
    ...
    
  2. Recuperar o endereço base URL do servidor OAuth Red Hat OpenShift. Substitua MASTER_URL pelo endereço URL encontrado na etapa anterior. O comando extrai a base URL sem o sufixo /oauth/token.

    curl -sS MASTER_URL/.well-known/oauth-authorization-server | jq -r .token_endpoint | sed 's#/oauth/token##'
    

    Exemplo de saída.

    https://c111-e.us-east.containers.cloud.ibm.com:31282
    
  3. Recupere um token de acesso usando o endpoint obtido na etapa anterior. Execute o seguinte comando cURL, substituindo URL pelo resultado da etapa anterior e API_KEY pela sua chave de API do IBM Cloud. Na saída, localize o parâmetro “ ACCESS_TOKEN ” contido na resposta “Location ”. Esse é o token de acesso a ser incluído no segredo.

    Exemplo de solicitação curl:

    curl -u 'apikey:API_KEY' -H "X-CSRF-Token: a" 'URL/oauth/authorize?client_id=openshift-challenging-client&response_type=token' -vvv
    

    Exemplo de saída. O ACCESS_TOKEN está incluído na string de resposta do Location.

    < HTTP/1.1 302 Found
    < Cache-Control: no-cache, no-store, max-age=0, must-revalidate
    < Cache-Control: no-cache, no-store, max-age=0, must-revalidate
    < Expires: 0
    < Expires: Fri, 01 Jan 2030 00:00:00 GMT
    < Location: TOKEN_ENDPOINT/oauth/token/implicit#access_token=ACCESS_TOKEN&expires_in=86400&scope=user%3Afull&token_type=Bearer
    ...
    
  4. No cluster do hub, crie um segredo que contenha o token de acesso ao cluster e o servidor URL. Para obter informações sobre como criar segredos, consulte Trabalhar com segredos na documentação Kubernetes.

    Exemplo de segredo.

    apiVersion: v1
    kind: Secret
    metadata:
      name: SECRET_NAME
      namespace: SECRET_NAMESPACE  # The namespace that the secret is to be created in
    type: Opaque
    stringData:
      token: ACCESS_TOKEN
      server: SERVER_URL
    

Instalando o ACM pela interface do usuário

Use a interface do usuário para instalar o complemento ACM e o operador ACM no cluster do hub.

  1. Se você quiser importar um ou mais clusters gerenciados para gerenciar com o ACM durante o processo de instalação, siga as etapas em Preparando segredos para o ACM para criar o segredo necessário no cluster do hub. Salve o nome secreto e o namespace. Você também pode pular essa etapa por enquanto e concluí-la após o processo de instalação, mas serão necessárias etapas adicionais da CLI.

  2. Faça login no console IBM Cloud e navegue até a página Clusters. Clique no cluster em que você deseja instalar o ACM.

  3. Na página de detalhes do cluster, localize a seção Add-ons.

  4. Em Disponível para instalação, localize a opção Red Hat Advanced Cluster Management e clique em Instalar.

  5. Na página de instalação, selecione a versão do complemento ACM a ser instalada.

  6. Escolha como você deseja importar clusters gerenciados. Para importar clusters depois que o complemento for instalado, selecione Importar da CLI. Se você criou os segredos necessários no cluster do hub e deseja importar os clusters gerenciados agora, selecione Importar agora.

    Você só pode usar a interface do usuário do IBM Cloud para importar clusters gerenciados durante o processo de instalação. Depois que o complemento ACM estiver instalado no cluster de hubs, você poderá usar a CLI ou a Consola Web do OpenShift para importar clusters gerenciados.

    1. Se você selecionou a opção Importar agora, clique em Importar cluster no menu pop-up.
    2. Para importar clusters existentes na conta, selecione o cluster e insira o nome secreto e o namespace. Em seguida, clique em Avançar.
    3. Para importar clusters externos ou entre contas, especifique o ID do cluster, o nome do segredo e o namespace do segredo. Em seguida, clique em “Importar cluster ”.
  7. Clique em Criar.

  8. Verifique se o complemento está instalado em seu cluster.

    1. Navegue até o Hub Multicluster do console da Web OpenShift.
    2. No menu de navegação suspenso, selecione Fleet Management (Gerenciamento de frota ).
    3. Localize sua lista de clusters e verifique se o cluster está listado com o tipo de plano de controle Hub.
  9. Opcional: Analise os operadores adicionais que você pode instalar para aprimorar os recursos do ACM.

Instalando o ACM pela CLI

Use a CLI para instalar o complemento ACM no cluster do hub.

  1. Encontre a versão padrão do complemento ACM.

    ibmcloud oc cluster addon versions
    
  2. Analise as opções de complementos do ACM. No comando, especifique a versão padrão encontrada na etapa anterior. Anote as opções que você deseja incluir ao instalar o complemento.

    ibmcloud oc cluster addon options --addon acm --version DEFAULT_VERSION
    
  3. Se quiser importar clusters para serem gerenciados pelo add-on e, siga as etapas em Preparando segredos para o ACM, caso ainda não tenha feito isso. Certifique-se de salvar o ID do cluster, o nome e o namespace do segredo que você criou no cluster do hub. Você também pode concluir esse processo depois que o add-on for instalado no cluster do hub; no entanto, são necessárias etapas adicionais para importar clusters gerenciados após a instalação.

  4. Execute o comando para ativar o complemento. Certifique-se de especificar os parâmetros billingPlan e isLicenseAccepted, bem como o parâmetro opcional --managedClusters, se quiser importar clusters durante o processo de instalação.

    ibmcloud oc cluster addon enable acm --cluster HUB_CLUSTER_ID --param 'managedClusters=["clusterid:CLUSTER_ID;secretname:SECRET_NAME;secretnamespace:SECRET_NAMESPACE;action:IMPORT"]' --param 'billingPlan=PLAN' --param 'isLicenseAccepted=BOOLEAN'
    

    Parâmetros do comando. Veja o comando de exemplo abaixo para obter um exemplo de cada tipo de parâmetro.

    --cluster
    Obrigatório. O ID do cluster de hub no qual será instalado o complemento ACM.
    --param 'managedClusters=["]
    Opcional. Inclua esse parâmetro uma ou mais vezes para importar clusters gerenciados durante o processo de instalação do add-on. Você também pode concluir essa etapa posteriormente. Para obter mais informações, consulte “Preparação de segredos para o ACM ”.
    Especifique os seguintes valores:
    • clusterid: A ID do cluster gerenciado a ser importado.
    • secretname: o nome do segredo que você criou no cluster do hub. Esse segredo contém as credenciais do cluster gerenciado.
    • secretnamespace: O namespace do segredo que você criou no cluster do hub. Esse segredo contém as credenciais do cluster gerenciado.
    • action:IMPORT: o parâmetro que especifica a ação IMPORT para o cluster gerenciado.
    --param 'billingPlan='
    Obrigatório. O plano de faturamento que você deseja selecionar para a ACM. Especifique KUBERNETES para o plano ACM para Kubernetes.
    --param 'isLicenseAccepted='
    Obrigatório. Especifique TRUE para aceitar o contrato de licença do plano de faturamento selecionado. Ao aceitar esta licença, você concorda com os termos e condições aplicáveis e reconhece sua compreensão dos serviços incluídos no plano selecionado.
  5. Verifique se o add-on está instalado. Pode levar vários minutos para que o complemento seja exibido nos seguintes resultados.

    1. No cluster do hub, verifique se o recurso acmhub foi criado.
        oc get acmhub
        ```
        Exemplo de saída.
    
        ```sh {: screen}
            NAME       AGE
            acm-auto   1h
        ```
    2. No cluster do hub, verifique o status de `acmhub`.
    
    ```sh {: pre}
        oc describe acmhubstatus
        ```
        Exemplo de saída.
    
        ```sh {: screen}
        status
            phase: Ready
        ```
    
  6. Opcional: Analise os operadores adicionais que você pode instalar para aprimorar os recursos do ACM.

Operadores da ACM

Analise os operadores que são instalados automaticamente pelo complemento ACM e os operadores opcionais que você pode instalar como aprimoramentos.

Operadores instalados automaticamente

Os operadores a seguir são instalados automaticamente no cluster do hub ou nos clusters gerenciados quando você instala o complemento ACM.

Operadores instalados automaticamente para ACM.
Operador Descrição
Operador de gerenciamento avançado de cluster (ACM) Instalado no conjunto de cubos.
MultiCluster Operador de motor Instalado em clusters gerenciados pelo operador do ACM.

Operadores opcionais

Os operadores a seguir são opcionais e podem ser instalados no cluster do hub ou nos clusters gerenciados para aprimorar os recursos do ACM. Observe que o site IBM não é responsável pelo gerenciamento dessas operadoras.

Você é responsável pelo gerenciamento desses operadores, incluindo, entre outros, a atualização, o monitoramento, a recuperação e a reinstalação.

Operadores opcionais para ACM.
Operador Descrição Informações Adicionais
GitOps Operador
  • Use para executar os aplicativos Argo-cd a partir do console ACM.
  • Instale no cluster do hub e em todos os clusters gerenciados.
GitOps visão geral
Red Hat OpenShift Operador de virtualização
  • Use para gerenciar cargas de trabalho do VM juntamente com cargas de trabalho de contêineres.
  • Instale em clusters gerenciados.
  • Disponível somente para clusters bare metal (aplica-se somente ao cluster gerenciado).
Instalação do operador de virtualização OpenShift
Submarinista Submarinista

Importação de clusters gerenciados após a instalação do ACM

Há várias maneiras de importar clusters para gerenciar com o ACM. Antes de importar um cluster, certifique-se de ter criado o segredo necessário para o ACM.

Todos os clusters gerenciados pelo ACM devem pertencer a um conjunto de clusters. Você pode criar um novo conjunto de clusters ou adicionar clusters ao conjunto de clusters Default. Se nenhum conjunto de clusters for especificado, os clusters gerenciados serão adicionados à opção Default.

Importação de um cluster gerenciado usando a CLI

Para importar um cluster gerenciado usando a CLI, edite o recurso ACM para incluir o cluster a ser gerenciado.

  1. Execute o comando para editar o recurso ACM.

    oc edit acmhub RESOURCE_NAME
    
  2. Na seção managedClusters do recurso, adicione o ID do cluster, o nome do segredo do cluster criado para ACM, o namespace do segredo e especifique a ação Import. Veja o exemplo abaixo para formatação. O exemplo a seguir importa cluster_id_1.

    managedclusters:
      - clusterid: "cluster_id_1"
        secretname: "managed-secret-1"
        secretnamespace: "managed-namespace" # The namespace that the secret was created in
        action: "Import"
    
  3. Salve e aplique as mudanças.

Importação de um cluster gerenciado usando o token OpenShift e o servidor de API URL

Reúna o token OpenShift e o servidor de API URL para o cluster que deseja importar e, em seguida, use o console do ACM para importar o cluster.

  1. No console IBM Cloud, navegue até a lista de clusters e clique no cluster que deseja importar.

  2. Na página de detalhes do cluster, clique em Console da web do OpenShift.

  3. Clique no menu suspenso do nome de usuário, mostrado no formato IAM#username. No menu suspenso, clique em Copiar comando de login.

  4. Clique em Display token (Exibir token ) para exibir seus comandos de login. Localize o comando que começa com oc login e salve o token da API (sha256~XXXX) e o servidor URL.

  5. Navegue até o console do ACM. Clique em Infraestrutura > Clusters > Importar um cluster existente.

  6. Siga as instruções para importar o cluster e especifique o token da API e o servidor URL na seção de parâmetros.

Importação de um cluster gerenciado usando o kubeconfig

Reúna os detalhes do kubeconfig e, em seguida, use o console do ACM para importar o cluster.

  1. Na CLI do site IBM Cloud, execute o seguinte comando para obter o kubeconfig do cluster que você deseja importar. Salve o conteúdo do arquivo kubeconfig exibido na saída.

    ibmcloud ks cluster config --cluster CLUSTER_NAME --admin --output yaml
    
  2. Navegue até o console do ACM. Clique em Infraestrutura > Clusters > Importar um cluster existente.

  3. Siga as instruções para importar seu cluster e incluir o conteúdo do kubeconfig na seção de parâmetros.

Importação de um cluster gerenciado usando um comando gerado

Use o console do ACM para gerar um comando para importar um cluster e, em seguida, execute esse comando no cluster que deseja importar.

  1. Navegue até o console do ACM. Clique em Infraestrutura > Clusters > Importar um cluster existente.
  2. Selecione a opção para gerar um comando de importação. Copie o comando.
  3. Faça login na CLI do IBM Cloud e execute o comando no cluster que deseja importar.

Atualização ou remoção de um cluster gerenciado

Para remover ou atualizar o cluster gerenciado de uma instância do ACM, é necessário editar a seção managedClusters do recurso personalizado do ACM no cluster do hub.

  1. Execute o comando para editar o recurso ACM.

    oc edit acmhub RESOURCE_NAME
    
  2. Na seção managedClusters do recurso, adicione o ID do cluster, o nome do segredo do cluster criado para o ACM, o namespace do segredo e a ação que deseja implementar no cluster. Veja o exemplo abaixo para formatação. Para a ação, especifique Delete ou Update. Observe que, para excluir um cluster, você não precisa do segredo ou do namespace secreto.

    O exemplo a seguir exclui cluster_id_1 e atualiza cluster_id_2.

    managedclusters:
      - clusterid: "cluster_id_1"
        action: "Delete"
      - clusterid: "cluster_id_2"
        secretname: "managed-secret-2"
        secretnamespace: "managed-namespace-2" # The namespace that the secret was created in
        action: "Update"
    
  3. Salve e aplique as mudanças.

Atualização da versão do ACM

Execute o comando para atualizar o complemento para uma nova versão.

ibmcloud oc cluster addon update acm --cluster CLUSTER_ID --version ADD-ON_VERSION

Para verificar se o complemento foi atualizado, liste os complementos do cluster. No resultado, procure os detalhes do complemento ACM.

ibmcloud oc cluster addon ls --cluster CLUSTER_ID

Exclusão do complemento ACM

Siga as etapas para excluir o complemento ACM.

  1. Exclua o recurso ACM do cluster do hub.

    oc delete acmhub RESOURCE_NAME
    
  2. Depois que o recurso for excluído, remova o complemento ACM. Especifique o mesmo ID do cluster.

    ibmcloud oc cluster addon disable acm -f --cluster CLUSTER_ID