Impostazione del componente aggiuntivo Gestione avanzata dei cluster

Il componente aggiuntivo Advanced Cluster Management (ACM) offre ai clienti un modo semplificato per gestire il monitoraggio, il posizionamento dei carichi di lavoro e i criteri di sicurezza su più cluster.

L'installazione di ACM da OperatorHub non è supportata per i cluster IBM Cloud. Per installare ACM, seguire le istruzioni riportate in questa pagina.

Il cluster su cui si installa ACM è il cluster hub. Durante o dopo l'installazione, è possibile specificare più cluster gestiti da gestire con ACM.

Prima di iniziare

Prima di installare il componente aggiuntivo ACM, esaminare i passaggi e le informazioni sui prerequisiti riportati di seguito.

  1. Assicurarsi che i cluster soddisfino i seguenti requisiti.
    • Il cluster hub deve essere un cluster VPC con almeno 3 nodi worker che eseguono RHCOS e un minimo di 6 VCPU e 64GB RAM. Per l'alta disponibilità, assicurarsi che il cluster abbia almeno un nodo worker per zona su 3 zone.
    • Ogni cluster gestito deve avere almeno 3 nodi worker che eseguono RHCOS e un minimo di 6 VCPU e 64GB RAM.
  2. Esaminare gli operatori installati automaticamente dal componente aggiuntivo ACM e gli operatori opzionali che si possono installare come miglioramenti.
  3. È necessario avere il ruolo di accesso alla piattaforma Administrator e il ruolo di accesso al servizio Manager per il cluster in IBM Cloud Kubernetes Service.
  4. È necessario disporre di un cluster VPC con almeno 3 nodi worker. Ogni nodo worker deve avere un minimo di 4 CPU e 16GB RAM. Per l'alta disponibilità, assicurarsi che il cluster abbia almeno un nodo worker per zona su 3 zone.
  5. Creare un profilo di fiducia sul cluster da utilizzare per ACM.
  6. Facoltativo: se si desidera importare cluster gestiti durante la procedura di installazione del componente aggiuntivo ACM, se si intende importare cluster gestiti tramite la CLI dopo l'installazione oppure se si prevede di aggiornare in un secondo momento le credenziali di connessione di un cluster gestito, è necessario creare un segreto sul cluster hub per ciascun cluster gestito. Vedi la sezione " Preparazione dei segreti per l'ACM ". Questo passaggio non è necessario se si intende importare i cluster gestiti solo dopo l'installazione tramite la console web OpenShift.
  7. Installare o aggiornare la CLI.

Creare un profilo di fiducia per ACM

Segui la procedura indicata per creare un profilo attendibile da utilizzare con ACM e assegnarlo al cluster hub.

Una volta aggiunto un profilo attendibile a un cluster, non è più possibile rimuoverlo né tornare a utilizzare una chiave API per le proprie risorse. Assicurati di seguire attentamente questi passaggi per garantire che il tuo profilo di fiducia sia configurato correttamente.

Crea un profilo attendibile utilizzando l'interfaccia utente

  1. Seguire la procedura per creare un profilo di fiducia. Nelle Condizioni del profilo, accertarsi di specificare i seguenti accessi.

    • Risorse di calcolo: Red Hat OpenShift
    • Tutte le risorse del servizio
    • Consentire l'accesso quando lo spazio dei nomi è uguale a kube-system
    • Kubernetes Service Ruoli - Manager, redattore
  2. Dopo aver creato il profilo di fiducia, copiare l'ID dalla pagina Profili di fiducia della console.

Creare un profilo attendibile tramite la CLI

  1. Crea il profilo attendibile.
    ibmcloud iam trusted-profile-create acm-operator-profile
    
  2. Creare la regola di fiducia per le risorse di calcolo, con ambito limitato allo spazio dei nomi kube-system sulle risorse di calcolo 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. Assegnare la politica di accesso IAM al profilo. Sostituisci " CLUSTER_ID " con l'ID del tuo cluster di hub.
    ibmcloud iam trusted-profile-policy-create acm-operator-profile \
      --roles Reader,Viewer,Operator,Editor \
      --service-name containers-kubernetes \
      --service-instance CLUSTER_ID
    

Imposta il profilo attendibile per il cluster

  1. Recupera l'ID del profilo attendibile.
    ibmcloud iam trusted-profiles
    
  2. Assegnare il profilo attendibile al cluster.
    ibmcloud oc experimental trusted-profile set --cluster CLUSTER_NAME_OR_ID --trusted-profile TRUSTED_PROFILE_ID
    
  3. Verificare che il segreto del profilo attendibile sia stato creato nel cluster. L'esecuzione di questo comando può richiedere fino a 10 minuti. Attendi che venga visualizzato il codice segreto prima di procedere all'installazione del componente aggiuntivo ACM. Se si procede prima che la chiave segreta sia stata creata, l'installazione del componente aggiuntivo ACM non andrà a buon fine.
    oc get secrets -n kube-system | grep ibm-cloud-credentials
    

Preparare i segreti per l'ACM

La creazione di segreti per ACM è facoltativa. È necessario compilare questa sezione solo se si desidera importare cluster gestiti durante il processo di installazione del componente aggiuntivo ACM, se si intende utilizzare il servizio " importare i cluster gestiti dopo l'installazione tramite la CLI" oppure se si prevede di utilizzare in seguito il servizio " aggiornare le credenziali di connessione di un cluster gestito ".

Se si prevede di importare cluster gestiti dopo l'installazione tramite la console web OpenShift e non è necessario aggiornare in seguito le credenziali di connessione, non è necessario creare segreti.

Per ogni cluster che si desidera gestire, eseguire i seguenti passaggi sul cluster hub.

  1. Sul cluster che si vuole gestire con ACM, eseguire il comando per trovare il server URL. Nell'output, individuare e annotare il valore di Master URL. È il server URL a cui fare riferimento nel segreto. Questo URL viene utilizzato anche nelle fasi successive.

    ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID
    

    Output di esempio.

    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. Recupera l' URL e di base del server OAuth Red Hat OpenShift. Sostituisci MASTER_URL con l' URL e individuato nel passaggio precedente. Il comando estrae l'indirizzo di base URL senza il suffisso /oauth/token.

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

    Output di esempio.

    https://c111-e.us-east.containers.cloud.ibm.com:31282
    
  3. Recupera un token di accesso utilizzando l'endpoint ottenuto nel passaggio precedente. Esegui il seguente comando cURL, sostituendo URL con l'output del passaggio precedente e API_KEY con il tuo [IBM Cloud Chiave API](https://cloud.ibm.com/iam/apikeys){: external}. Nell'output, individua l' ACCESS_TOKEN e contenuto nella risposta "Location ". È il token di accesso da includere nel segreto.

    Richiesta curl di esempio:

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

    Output di esempio. L'ACCESS_TOKEN è incluso nella stringa di risposta di 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. Sul cluster hub, creare un segreto che contenga il token di accesso al cluster e il server URL. Per informazioni sulla creazione di segreti, vedere Lavorare con i segreti nella documentazione di Kubernetes.

    Esempio di segreto.

    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
    

Installazione di ACM dall'interfaccia utente

Utilizzare l'interfaccia utente per installare il componente aggiuntivo ACM e l'operatore ACM nel cluster hub.

  1. Se si desidera importare uno o più cluster gestiti da gestire con ACM durante il processo di installazione, seguire i passaggi in Preparazione dei segreti per ACM per creare il segreto richiesto sul cluster hub. Salvare il nome segreto e lo spazio dei nomi. È anche possibile saltare questo passaggio per ora e completarlo dopo il processo di installazione, ma saranno necessari ulteriori passaggi CLI.

  2. Accedere alla console IBM Cloud e navigare nella pagina dei cluster. Fare clic sul cluster su cui si desidera installare ACM.

  3. Nella pagina dei dettagli del cluster, trovare la sezione Componenti aggiuntivi.

  4. In Disponibile per l'installazione, individuare l'opzione Red Hat Advanced Cluster Management e fare clic su Installa.

  5. Nella pagina di installazione, selezionare la versione del componente aggiuntivo ACM da installare.

  6. Scegliere come importare i cluster gestiti. Per importare i cluster dopo l'installazione del componente aggiuntivo, selezionare Importa da CLI. Se sono stati creati i segreti necessari sul cluster hub e si desidera importare ora i cluster gestiti, selezionare Importa ora.

    È possibile utilizzare l'interfaccia utente di IBM Cloud per importare cluster gestiti solo durante il processo di installazione. Una volta installato il componente aggiuntivo ACM sul cluster hub, è possibile utilizzare la CLI o la console web OpenShift per importare i cluster gestiti.

    1. Se è stata selezionata l'opzione Importa ora, fare clic su Importa cluster nel menu a comparsa.
    2. Per importare cluster esistenti nell'account, selezionare il cluster e inserire il nome segreto e lo spazio dei nomi. Poi, fai clic su Avanti.
    3. Per importare cluster esterni o di più conti, specificare l'ID del cluster, il nome del segreto e lo spazio dei nomi del segreto. Quindi, fare clic su " Importa cluster ".
  7. Fai clic su Crea.

  8. Verificare che il componente aggiuntivo sia installato sul cluster.

    1. Accedere a OpenShift Web Console Multicluster Hub.
    2. Dal menu di navigazione a discesa, selezionare Gestione flotta.
    3. Individuare l'elenco dei cluster e verificare che il cluster sia elencato con il tipo di piano di controllo Hub.
  9. Opzionale: Esaminare gli operatori aggiuntivi che si possono installare per migliorare le funzioni dell'ACM.

Installazione di ACM dalla CLI

Utilizzare la CLI per installare il componente aggiuntivo ACM sul cluster hub.

  1. Trovare la versione predefinita del componente aggiuntivo ACM.

    ibmcloud oc cluster addon versions
    
  2. Esaminare le opzioni aggiuntive di ACM. Nel comando, specificare la versione predefinita trovata nel passaggio precedente. Prendere nota delle opzioni che si desidera includere quando si installa il componente aggiuntivo.

    ibmcloud oc cluster addon options --addon acm --version DEFAULT_VERSION
    
  3. Se si desidera importare i cluster da gestire con il componente aggiuntivo e, se non lo si è già fatto, seguire i passaggi in Preparazione dei segreti per ACM. Assicurarsi di salvare l'ID del cluster e il nome e lo spazio dei nomi del segreto creato sul cluster hub. È possibile completare questo processo anche dopo che il componente aggiuntivo è stato installato sul cluster hub, tuttavia sono necessari ulteriori passaggi per importare i cluster gestiti dopo l'installazione.

  4. Eseguire il comando per abilitare il componente aggiuntivo. Assicurarsi di specificare i parametri billingPlan e isLicenseAccepted, nonché il parametro opzionale --managedClusters se si desidera importare i cluster durante il processo di installazione.

    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'
    

    Parametri del comando. Per un esempio di ciascun tipo di parametro, si veda l'esempio di comando riportato di seguito.

    --cluster
    Obbligatorio. L'ID del cluster hub su cui installare il componente aggiuntivo ACM.
    --param 'managedClusters=["]
    Facoltativo. Includere questo parametro una o più volte per importare i cluster gestiti durante il processo di installazione del componente aggiuntivo. È possibile completare questo passaggio anche in un secondo momento. Per ulteriori informazioni, consultare la sezione " Preparazione dei segreti per ACM ".
    Specificare i seguenti valori:
    • clusterid: L'ID del cluster gestito da importare.
    • secretname: il nome del segreto creato sul cluster hub. Questo segreto contiene le credenziali per il cluster gestito.
    • secretnamespace: Lo spazio dei nomi del segreto creato nel cluster hub. Questo segreto contiene le credenziali per il cluster gestito.
    • action:IMPORT: Il parametro che specifica l'azione IMPORT per il cluster gestito.
    --param 'billingPlan='
    Obbligatorio. Il piano di fatturazione che si desidera selezionare per ACM. Specificare KUBERNETES per il piano ACM per Kubernetes.
    --param 'isLicenseAccepted='
    Obbligatorio. Specificate TRUE per accettare il contratto di licenza per il piano di fatturazione selezionato. Accettando questa licenza, l'utente accetta i termini e le condizioni applicabili e dichiara di aver compreso i servizi inclusi nel piano selezionato.
  5. Verificare che il componente aggiuntivo sia stato installato. Potrebbero essere necessari alcuni minuti perché il componente aggiuntivo venga visualizzato nei seguenti output.

    1. Nel cluster hub, verificare che la risorsa acmhub sia stata creata.
        oc get acmhub
        ```
        Output di esempio.
    
        ```sh {: screen}
            NAME       AGE
            acm-auto   1h
        ```
    2. Sul cluster hub, verificare lo stato di `acmhub`.
    
    ```sh {: pre}
        oc describe acmhubstatus
        ```
        Output di esempio.
    
        ```sh {: screen}
        status
            phase: Ready
        ```
    
  6. Opzionale: Esaminare gli operatori aggiuntivi che si possono installare per migliorare le funzioni dell'ACM.

Operatori ACM

Esaminare gli operatori installati automaticamente dal componente aggiuntivo ACM e gli operatori opzionali che si possono installare come miglioramenti.

Operatori installati automaticamente

I seguenti operatori vengono installati automaticamente sul cluster hub o sui cluster gestiti quando si installa il componente aggiuntivo ACM.

Operatori installati automaticamente per ACM.
Operatore Descrizione
Operatore di gestione avanzata dei cluster (ACM) Installato sul cluster di mozzi.
MultiCluster Operatore del motore Installato sui cluster gestiti dall 'operatore ACM.

Operatori opzionali

I seguenti operatori sono opzionali e possono essere installati sia sul cluster hub che sui cluster gestiti per migliorare le funzionalità dell'ACM. Si noti che IBM non è responsabile della gestione di questi operatori.

L'utente è responsabile della gestione di questi operatori, compresi, ma non solo, l'aggiornamento, il monitoraggio, il ripristino e la reinstallazione.

Operatori opzionali per ACM.
Operatore Descrizione Ulteriori informazioni
GitOps Operatore
  • Utilizzare per eseguire le applicazioni Argo-cd dalla console ACM.
  • Installare sul cluster hub e su tutti i cluster gestiti.
GitOps panoramica
Red Hat OpenShift Operatore di virtualizzazione
  • Utilizzare per gestire i carichi di lavoro VM insieme ai carichi di lavoro dei container.
  • Installare su cluster gestiti.
  • Disponibile solo per i cluster bare metal (si applica solo al cluster gestito).
Installazione dell'Operatore di virtualizzazione OpenShift
Submariner Submariner

Importazione dei cluster gestiti dopo l'installazione di ACM

Una volta installato ACM, è possibile importare i cluster gestiti utilizzando la console web OpenShift o la CLI. I metodi basati sulla console non richiedono una chiave segreta. Il metodo CLI richiede un segreto.

Tutti i cluster gestiti da ACM devono appartenere a un insieme di cluster. È possibile creare un nuovo set di cluster o aggiungere cluster al set di cluster Default. Se non viene specificato alcun set di cluster, i cluster gestiti vengono aggiunti all'opzione Default.

Importazione di un cluster gestito utilizzando un comando generato

Utilizza la console web di OpenShift per generare un comando di importazione, quindi esegui tale comando sul cluster in cui desideri effettuare l'importazione.

  1. Apri la console web OpenShift relativa al cluster ACM Hub.

  2. Dal punto di vista della gestione della flotta, fare clic su “Importa cluster ”.

  3. Inserisci il nome del cluster, seleziona un insieme di cluster, se del caso, e inserisci eventuali etichette aggiuntive.

  4. Per la modalità Importa, selezionare “Esegui i comandi di importazione manualmente” e fare clic su Avanti.

  5. Se lo si desidera, selezionare un modello di automazione e fare clic su Avanti.

  6. Controlla i dettagli e fai clic su " Genera comando ". Copia il comando visualizzato.

  7. Accedi al cluster in cui desideri effettuare l'importazione ed esegui il comando copiato configurando kubectl per quel cluster.

Importazione di un cluster gestito utilizzando l' URL e del server e il token API

Recupera il token API e l' URL e del server relativi al cluster che desideri importare, quindi utilizza la console web di OpenShift per importare il cluster.

  1. Ottieni il token API e l' URL e del server relativi al cluster che desideri importare.

    1. Nella console di IBM Cloud, accedi al tuo elenco dei cluster e fai clic sul cluster che desideri importare.

    2. Dalla pagina dei dettagli del cluster, fai clic sulla console web OpenShift.

    3. Fai clic sul menu del nome utente, visualizzato nel formato IAM#username, quindi fai clic su “Copia comando di accesso ”.

    4. Fare clic su " Visualizza token ". Trovate il comando che inizia con oc login e salvate il token API (sha256~XXXX) e il server URL.

  2. Apri la console web OpenShift relativa al cluster ACM Hub.

  3. Dal punto di vista della gestione della flotta, fare clic su “Importa cluster ”.

  4. Inserisci il nome del cluster, seleziona un insieme di cluster, se del caso, e inserisci eventuali etichette aggiuntive.

  5. Per la modalità Importa, seleziona “Inserisci l' URL e del server e il token API del cluster esistente ”. Inserisci l' URL e del server e il token API che hai recuperato, quindi fai clic su Avanti.

  6. Se lo si desidera, selezionare un modello di automazione e fare clic su Avanti.

  7. Controlla i dettagli e clicca su “Importa ”.

Importare un cluster gestito utilizzando kubeconfig

Recupera il file kubeconfig relativo al cluster che desideri importare, quindi utilizza la console web OpenShift per importare il cluster.

  1. Scarica il file kubeconfig relativo al cluster che desideri importare. Dalla CLI di IBM Cloud, esegui il seguente comando e salva l'output.

    ibmcloud ks cluster config --cluster CLUSTER_NAME --admin --output yaml
    
  2. Apri la console web OpenShift relativa al cluster ACM Hub.

  3. Dal punto di vista della gestione della flotta, fare clic su “Importa cluster ”.

  4. Inserisci il nome del cluster, seleziona un insieme di cluster, se del caso, e inserisci eventuali etichette aggiuntive.

  5. Per la modalità Importa, seleziona Kubeconfig e incolla il contenuto del file kubeconfig che hai recuperato, quindi fai clic su Avanti.

  6. Se lo si desidera, selezionare un modello di automazione e fare clic su Avanti.

  7. Controlla i dettagli e clicca su “Importa ”.

Importazione da Cluster Manager di Red Hat OpenShift

La modalità di importazione “Importa da Red Hat OpenShift ” di Cluster Manager è supportata solo per i cluster del servizio “ Red Hat OpenShift ” su AWS ( ROSA ) e non è applicabile ai cluster di IBM Cloud.

Importare un cluster gestito utilizzando la CLI

Il metodo di importazione tramite CLI richiede che sia stato creato un segreto per il cluster gestito sul cluster hub.

Per importare un cluster gestito usando la CLI, modificare la risorsa ACM per includere il cluster da gestire.

  1. Eseguire il comando per modificare la risorsa ACM.

    oc edit acmhub RESOURCE_NAME
    
  2. Nella sezione managedClusters della risorsa, aggiungere l'ID del cluster, il nome del segreto del cluster creato per ACM, lo spazio dei nomi per il segreto e specificare l'azione Import. L'esempio seguente 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. Salvare e applicare le modifiche.

Aggiornamento o rimozione di un cluster gestito

Per rimuovere un cluster gestito da un'istanza ACM oppure per aggiornare le credenziali di connessione di ACM relative a un cluster gestito (ad esempio, dopo la rotazione dei token o una modifica dell' URL e del server), è necessario modificare la sezione " managedClusters " della risorsa personalizzata ACM sul cluster hub. L'azione " Update " aggiorna le credenziali basate su secret che ACM utilizza per comunicare con un cluster gestito. Questo non equivale all'aggiornamento della versione " OpenShift " di un cluster.

Per aggiornare le credenziali di connessione di un cluster gestito è necessario il segreto relativo a quel cluster.

  1. Eseguire il comando per modificare la risorsa ACM.

    oc edit acmhub RESOURCE_NAME
    
  2. Nella sezione managedClusters della risorsa, aggiungere l'ID del cluster, il nome del segreto del cluster creato per ACM, lo spazio dei nomi per il segreto e l'azione che si desidera implementare per il cluster. Per la formattazione, vedere l'esempio seguente. Per l'azione, specificare Delete o Update. Si noti che per eliminare un cluster non sono necessari il segreto o lo spazio dei nomi segreto.

    L'esempio seguente elimina CLUSTER_ID_1 e aggiorna 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. Salvare e applicare le modifiche.

Aggiornamento della versione di ACM

Eseguire il comando per aggiornare il componente aggiuntivo a una nuova versione.

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

Per verificare che il componente aggiuntivo sia stato aggiornato, elencare i componenti aggiuntivi del cluster. Nell'output, cercare i dettagli del componente aggiuntivo ACM.

ibmcloud oc cluster addon ls --cluster CLUSTER_ID

Eliminazione del componente aggiuntivo ACM

Seguire la procedura per eliminare il componente aggiuntivo ACM.

  1. Eliminare la risorsa ACM dal cluster hub.

    oc delete acmhub RESOURCE_NAME
    
  2. Dopo aver eliminato la risorsa, rimuovere il componente aggiuntivo ACM. Specificare lo stesso ID del cluster.

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