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. Opcional: Se você quiser importar clusters gerenciados durante o processo de instalação do complemento ACM, se planeja importar clusters gerenciados usando a CLI após a instalação ou se planeja atualizar as credenciais de conexão de um cluster gerenciado posteriormente, é necessário criar um segredo no cluster hub para cada cluster gerenciado. Consulte “Preparação de segredos para o ACM ”. Essa etapa não é necessária se você pretender importar apenas clusters gerenciados após a instalação, por meio do console da web do OpenShift.
  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
    

Se esse comando falhar ou não for reconhecido, talvez o plug-in do Kubernetes Service esteja desatualizado. Execute o comando ibmcloud plugin update ks para atualizá-lo para a versão mais recente e, em seguida, tente novamente.

  1. Verifique se o segredo do perfil confiável foi criado no cluster. Esse comando pode levar até 10 minutos para ser executado. Aguarde até que o segredo seja exibido antes de prosseguir com a instalação do complemento ACM. Se você continuar antes que o segredo seja criado, a instalação do complemento ACM falhará.
    oc get secrets -n kube-system | grep ibm-cloud-credentials
    

Preparando segredos para a ACM

A criação de segredos para o ACM é opcional. Você só precisa preencher esta seção se quiser importar clusters gerenciados durante o processo de instalação do complemento ACM, se planeja importar clusters gerenciados após a instalação usando a CLI ou se planeja atualizar as credenciais de conexão de um cluster gerenciado posteriormente.

Se você planeja importar clusters gerenciados após a instalação usando o console da web do OpenShift e não precisar atualizar as credenciais de conexão posteriormente, não será necessário criar segredos.

Para cada cluster que você deseja gerenciar, execute as etapas a seguir no cluster hub.

  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 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 do hub, você poderá usar a CLI ou o console da web 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

É possível importar clusters gerenciados após a instalação do ACM, utilizando o console da web do OpenShift ou a CLI. Os métodos baseados no console não exigem um segredo. O método CLI requer um segredo.

Todos os clusters gerenciados pela 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 um comando gerado

Use o console da web do OpenShift para gerar um comando de importação e, em seguida, execute esse comando no cluster para o qual deseja importar.

  1. Abra o console da web do OpenShift para o cluster do hub ACM.

  2. Na seção “Gerenciamento de frota ”, clique em “Importar cluster ”.

  3. Digite o nome do cluster, selecione um conjunto de clusters, se for o caso, e insira rótulos adicionais, se for o caso.

  4. No modo Importação, selecione “Executar comandos de importação manualmente ” e clique em “Avançar ”.

  5. Opcionalmente, selecione um modelo de automação e clique em “Avançar ”.

  6. Verifique os detalhes e clique no botão “Gerar comando ”. Copie o comando exibido.

  7. Faça login no cluster para o qual deseja importar e execute o comando copiado com o parâmetro kubectl configurado para esse cluster.

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

Obtenha o token da API e o endereço URL do servidor do cluster que você deseja importar e, em seguida, use o console da web OpenShift para importar o cluster.

  1. Obtenha o token da API e o endereço do servidor URL para o cluster que você deseja importar.

    1. No console do IBM Cloud, acesse seu lista de clusters e clique no cluster que você deseja importar.

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

    3. Clique no menu do nome de usuário, exibido no formato IAM#username, e, em seguida, clique em “Copiar comando de login ”.

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

  2. Abra o console da web do OpenShift para o cluster do hub ACM.

  3. Na seção “Gerenciamento de frota ”, clique em “Importar cluster ”.

  4. Digite o nome do cluster, selecione um conjunto de clusters, se for o caso, e insira rótulos adicionais, se for o caso.

  5. No modo Importação, selecione “Insira o endereço do servidor URL e o token da API do cluster existente ”. Insira o endereço do servidor URL e o token da API que você obteve e, em seguida, clique em Avançar.

  6. Opcionalmente, selecione um modelo de automação e clique em “Avançar ”.

  7. Verifique os detalhes e clique em “Importar ”.

Importação de um cluster gerenciado usando o kubeconfig

Reúna o arquivo kubeconfig do cluster que você deseja importar e, em seguida, use o console da web OpenShift para importar o cluster.

  1. Obtenha o arquivo kubeconfig do cluster que você deseja importar. Na interface de linha de comando (CLI) do IBM Cloud, execute o comando a seguir e salve o resultado.

    ibmcloud ks cluster config --cluster CLUSTER_NAME --admin --output yaml
    
  2. Abra o console da web do OpenShift para o cluster do hub ACM.

  3. Na seção “Gerenciamento de frota ”, clique em “Importar cluster ”.

  4. Digite o nome do cluster, selecione um conjunto de clusters, se for o caso, e insira rótulos adicionais, se for o caso.

  5. No modo Importar, selecione Kubeconfig e cole o conteúdo do kubeconfig que você recuperou; em seguida, clique em Avançar.

  6. Opcionalmente, selecione um modelo de automação e clique em “Avançar ”.

  7. Verifique os detalhes e clique em “Importar ”.

Importar do Gerenciador de Clusters da Red Hat OpenShift

O modo de importação “Importar do Red Hat OpenShift ” do Cluster Manager é compatível apenas com clusters do Red Hat OpenShift Service no AWS ( ROSA ) e não se aplica a clusters do IBM Cloud.

Importação de um cluster gerenciado usando a CLI

O método de importação via CLI exige que você tenha criado um segredo para o cluster gerenciado no cluster hub.

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. O exemplo a seguir importa CLUSTER_ID_1.

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

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

Para remover um cluster gerenciado de uma instância do ACM ou para atualizar as credenciais de conexão do ACM para um cluster gerenciado (por exemplo, após a rotação de tokens ou uma alteração no servidor URL ), é necessário editar a seção managedClusters do recurso personalizado do ACM no cluster hub. A ação “ Update ” atualiza as credenciais baseadas em segredos que o ACM utiliza para se comunicar com um cluster gerenciado. Isso não é o mesmo que atualizar a versão “ OpenShift ” de um cluster.

Para atualizar as credenciais de conexão de um cluster gerenciado, é necessário o segredo desse cluster.

  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: "SECRET_NAME"
        secretnamespace: "SECRET_NAMESPACE" # 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