Perché non posso creare o eliminare i cluster o i nodi di lavoro?

Risolvere i problemi che si verificano durante la creazione o l'eliminazione dei cluster.

Non è possibile eseguire comandi relativi all'infrastruttura sul proprio cluster, come ad esempio:

  • Aggiunta di nodi di lavoro in un cluster esistente o durante la creazione di un nuovo cluster.
  • Rimozione dei nodi di lavoro.
  • Ricaricamento o riavvio dei nodi di lavoro.
  • Ridimensionamento dei pool di lavoro.
  • Aggiornamento del tuo cluster.
  • Eliminazione del tuo cluster.

Rivedi i messaggi di errore nelle seguenti sezioni per risolvere i problemi relativi all'infrastruttura causati da autorizzazioni cluster non corrette, cluster orfani in altri account dell'infrastruttura o un passcode monouso basato sul tempo(TOTP)sull'account.

Impossibile creare o eliminare i cluster o i nodi di lavoro a causa di errori di autorizzazione e credenziali

Non è possibile gestire i nodi worker per il cluster e si riceve un messaggio di errore che menziona permissions, credentials, SoftLayer, API keys o role.

Rivedete le informazioni su Errore di ammissione e di credenziali e seguite i passaggi pertinenti.

Impossibile creare o eliminare i nodi di lavoro a causa di un errore di account non corretto

Infrastrutture classiche

Non è possibile gestire i nodi worker per il cluster o visualizzare i nodi worker del cluster nell'account dell'infrastruttura classica IBM Cloud. Tuttavia, puoi aggiornare e gestire altri cluster nell'account.

Inoltre, hai verificato di disporre delle credenziali di infrastruttura appropriate.

Potresti ricevere un messaggio di errore nello stato del tuo nodo di lavoro simile al seguente esempio.

incorrect account for worker - The 'classic' infrastructure user credentials changed and no longer match the worker node instance infrastructure account.

Il provisioning del cluster potrebbe essere stato eseguito in un account dell'infrastruttura IBM Cloud classica che non è più collegato al tuo account Red Hat OpenShift on IBM Cloud. Il cluster è orfano. Poiché le risorse si trovano in un account diverso, non disponi delle credenziali di infrastruttura necessarie per modificarle.

Si consideri il seguente scenario di esempio per comprendere in che modo i cluster possano diventare "orfani".

  1. Hai un account Pagamento a consumo IBM Cloud.
  2. Crei un cluster denominato Cluster1. I nodi di lavoro e altre risorse dell'infrastruttura vengono forniti nell'account dell'infrastruttura fornito con il tuo account Pagamento a consumo.
  3. Successivamente, scopri che il tuo team utilizza un account legacy o condiviso dell'infrastruttura IBM Cloud classica. Utilizzi il comando ibmcloud oc credential set per modificare le credenziali dell'infrastruttura IBM Cloud per utilizzare l'account del tuo team.
  4. Crei un altro cluster denominato Cluster2. I nodi di lavoro e altre risorse dell'infrastruttura vengono forniti nell'account dell'infrastruttura del team.
  5. Noti che Cluster1 richiede un aggiornamento del nodo di lavoro, un ricaricamento del nodo di lavoro o semplicemente vuoi cancellarlo eliminandolo. Tuttavia, poiché Cluster1 è stato configurato in un account di infrastruttura diverso, non è possibile modificare le relative risorse di infrastruttura. Cluster1 è rimasto orfano.
  6. Segui la procedura di risoluzione descritta nella sezione seguente, ma non reimpostare le credenziali dell'infrastruttura sull'account del tuo team. Puoi eliminare Cluster1, ma adesso Cluster2 è orfano.
  7. Modifichi le tue credenziali dell'infrastruttura nell'account del team che ha creato Cluster2. Adesso, non hai più un cluster orfano.

Segui la procedura per esaminare le tue credenziali dell'infrastruttura e determinare perché stai visualizzando l'errore delle credenziali.

  1. Accedi alla console.

  2. Accesso al cluster Red Hat OpenShift.

  3. Verifica quale account dell'infrastruttura utilizza la regione in cui si trova attualmente il tuo cluster per eseguire il provisioning dei cluster. Sostituisci REGION con la regione IBM Cloud in cui si trova il cluster.

    ibmcloud oc credential get --region REGION
    

    Se visualizzi un messaggio simile al seguente, l'account utilizza l'account dell'infrastruttura collegato predefinito.

    No credentials set for resource group <resource group>.: The user credentials could not be found.
    
  4. Verifica quale account dell'infrastruttura è stato utilizzato per eseguire il provisioning del cluster.

    1. Nella scheda Nodi di lavoro, seleziona un nodo di lavoro e prendi nota del suo ID.
    2. Aprire il menu Icona menu e fare clic su Infrastruttura > Infrastruttura classica.
    3. Dal riquadro di navigazione delle infrastrutture, fare clic su Dispositivi > Elenco dispositivi.
    4. Cerca l'ID nodo di lavoro di cui hai precedentemente preso nota.
    5. Se non riesci a trovare l'ID del nodo di lavoro, significa che il nodo di lavoro non è stato configurato in questo account dell'infrastruttura. Passa a un altro account dell'infrastruttura e riprova.
  5. Confrontare gli account dell'infrastruttura.

    • Se i nodi di lavoro si trovano nell'account dell'infrastruttura collegato: utilizza il ibmcloud oc credential unset comando per riprendere a utilizzare le credenziali dell'infrastruttura predefinite che sono collegate al tuo account Pagamento a consumo.

    • Se i nodi di lavoro si trovano in un account dell'infrastruttura diversa: utilizza il ibmcloud oc credential set comando per modificare le tue credenziali dell'infrastruttura nell'account in cui viene eseguito il provisioning dei nodi di lavoro del cluster, che hai trovato nel passo precedente.

      Se non si ha più accesso alle credenziali dell'infrastruttura, è possibile aprire un caso di assistenza IBM Cloud per determinare l'indirizzo e-mail dell'amministratore dell'altro account dell'infrastruttura. Tuttavia, il supporto di IBM Cloud non può rimuovere il cluster orfano per voi e dovete contattare l'amministratore dell'altro account per ottenere le credenziali dell'infrastruttura.

    • Se gli account dell'infrastruttura corrispondono: controlla il resto dei nodi di lavoro nel cluster e vedi se alcuni sono assegnati a un account dell'infrastruttura differente. Assicurati di aver controllato i nodi di lavoro nel cluster con il problema delle credenziali. Rivedi altri problemi di credenziali dell'infrastruttura comune.

  6. Ora che le credenziali dell'infrastruttura sono aggiornate, ritenta l'azione bloccata, come l'aggiornamento o l'eliminazione di un nodo di lavoro e verifica che l'azione abbia esito positivo.

  7. Se hai altri cluster nella stessa regione e risorsa che richiedono le credenziali dell'infrastruttura precedenti, ripeti il passo 3 per reimpostare le credenziali dell'infrastruttura sull'account precedente. Nota che se hai creato dei cluster con un account dell'infrastruttura diverso dall'account a cui passi, potresti rendere orfani tali cluster.

    Sei stanco di cambiare account dell'infrastruttura ogni volta che hai bisogno di eseguire un'azione del cluster o del nodo di lavoro? Prendi in considerazione la possibilità di ricreare tutti i cluster nella regione e il gruppo di risorse nello stesso account dell'infrastruttura. Quindi, migra i tuoi carichi di lavoro e rimuovi i vecchi cluster dal diverso account dell'infrastruttura.

Impossibile creare o eliminare i nodi di lavoro a causa di un errore degli endpoint

Non puoi gestire i nodi di lavoro per il tuo cluster e ricevi un messaggio di errore simile a uno dei seguenti.

Worker deploy failed due to network communications failing to master or registry endpoints. Please verify your network setup is allowing traffic from this subnet then attempt a worker replace on this worker
Pending endpoint gateway creation

I nodi worker possono comunicare con il master Kubernetes attraverso il virtual private endpoint (VPE) del cluster.

Viene creata una risorsa gateway VPE per cluster nel tuo VPC. Se il gateway VPE per il tuo cluster non viene creato correttamente nel tuo VPC, il gateway VPE viene eliminato dal tuo VPC o l'indirizzo IP riservato per il tuo VPE viene eliminato dalla tua sottorete VPC, i nodi di lavoro perdono la connettività con il master Kubernetes.

Ristabilire la connessione VPE tra i nodi worker e il master Kubernetes.

  1. Per controllare il gateway VPE per il tuo cluster nella console dell'infrastruttura VPC, apri il Gateway endpoint privato virtuale per il dashboard VPC e cerca il gateway VPE nel formato iks-<cluster_ID>.

  2. Aggiorna il master cluster. Se il gateway VPE non è presente nel tuo VPC, viene creato e la connettività agli indirizzi IP riservati sulle sottoreti a cui sono connessi i tuoi nodi di lavoro viene ristabilita. Dopo aver aggiornato il cluster, attendi alcuni minuti per consentire il completamento dell'operazione.

    ibmcloud oc cluster master refresh -c <cluster_name_or_ID>
    
  3. Verifica che il gateway VPE per il tuo cluster sia creato aprendo il Gateway endpoint privato virtuale per il dashboard VPC e cercando il gateway VPE nel formato iks-<cluster_ID>.

  4. Se ancora non puoi gestire i nodi di lavoro dopo l'aggiornamento del master cluster, sostituisci i nodi di lavoro a cui non puoi accedere.

    1. Elenca tutti i nodi di lavoro presenti nel tuo cluster e prendi nota del nome del nodo di lavoro che vuoi sostituire.
        oc get nodes
        ```
         Il **nome** che viene restituito in questo comando è l'indirizzo IP privato che è assegnato al tuo nodo di lavoro. Per ottenere ulteriori informazioni sul proprio nodo di lavoro, è sufficiente eseguire il comando ` `ibmcloud oc worker ls --cluster <cluster_name_or_ID>` ` e individuare il nodo di lavoro con lo stesso indirizzo **IP privato**.
    
    2. Sostituisci il nodo di lavoro. Come parte del processo di sostituzione, i pod che vengono eseguiti sul nodo di lavoro vengono svuotati e ripianificati sui nodi di lavoro rimanenti nel cluster. Il nodo di lavoro viene inoltre delimitato o contrassegnato come non disponibile per la futura pianificazione dei pod. Utilizza l'ID del nodo di lavoro restituito dal comando ` `ibmcloud oc worker ls --cluster <cluster_name_or_ID>` `.
    ```sh {: pre}
        ibmcloud oc worker replace --cluster <cluster_name_or_ID> --worker <worker_node_ID>
        ```
    3. Verifica che il nodo di lavoro venga sostituito.
    ```sh {: pre}
        ibmcloud oc worker ls --cluster <cluster_name_or_ID>
        ```
    

Impossibile creare o eliminare i nodi di lavoro a causa di un errore di account a pagamento o di una password unica

Infrastrutture classiche

Non puoi gestire i nodi di lavoro per il tuo cluster e ricevi un messaggio di errore simile a uno dei seguenti esempi.

Unable to connect to the IBM Cloud account. Ensure that you have a paid account.
can't authenticate the infrastructure user: Time-based One Time Password authentication is required to log in with this user.

Il tuo account IBM Cloud utilizza una sua infrastruttura collegata automaticamente tramite un account Pagamento a consumo.

Tuttavia, l'amministratore dell'account ha abilitato l'opzione TOTP (time-based one-time passcode) in modo che agli utenti venga richiesto un passcode monouso basato sul tempo quando eseguono l'accesso. Questo tipo di autenticazione multifattore (MFA, multifactor authentication) è basata sull'account e influisce su tutti gli accessi all'account. L'autenticazione multifattore (MFA, multifactor authentication) mediante passcode monouso basata sul tempo (TOTP, time-based one-time passcode) influisce anche sull'accesso richiesto da IBM Cloud Kubernetes Service per effettuare chiamate all'infrastruttura IBM Cloud. Se per l'account è abilitato il TOTP, non è possibile creare e gestire cluster e nodi di lavoro in IBM Cloud Kubernetes Service.

Il proprietario dell'account IBM Cloud o un amministratore dell'account deve intraprendere una delle seguenti azioni.

  • Disabilitare TOTP per l'account e continuare a utilizzare le credenziali dell'infrastruttura collegate automaticamente per IBM Cloud Kubernetes Service.
  • Continuare a utilizzare TOTP ma creare una chiave API dell'infrastruttura che può essere utilizzata da IBM Cloud Kubernetes Service per effettuare chiamate dirette all'API dell'infrastruttura IBM Cloud.

Disabilitazione dell'MFA TOTP per l'account

  1. Accedi a Console IBM Cloud. Dalla barra dei menu, seleziona Gestisci > Accesso (IAM).
  2. Fai clic sulla pagina Impostazioni.
  3. In Autenticazione multifattore, fai clic su Modifica.
  4. Seleziona Nessunoe fai clic su Aggiorna.

Utilizzo di MFA TOTP per creare una chiave API dell'infrastruttura per IBM Cloud Kubernetes Service

  1. Dalla IBM Cloud console, seleziona Gestisci > Accesso (IAM) > Utenti e fai clic sul nome del titolare dell’account. Nota: se non si utilizzano le credenziali del proprietario dell'account, assicurarsi che l'identità di cui si utilizzano le credenziali abbia il ruolo di piattaforma Amministratore in IBM Cloud Kubernetes Service e, se si utilizza un ID servizio, il ruolo di piattaforma Operatore in IAM Identity Service.

  2. Nella sezione Chiavi API, trova o crea una chiave API dell'infrastruttura classica.

  3. Utilizza la chiave API dell'infrastruttura per impostare le credenziali API dell'infrastruttura per IBM Cloud Kubernetes Service. Ripeti questo comando per ciascuna regione dove crei dei cluster.

    ibmcloud oc credential set classic --infrastructure-username <infrastructure_API_username> --infrastructure-api-key <infrastructure_API_authentication_key> --region <region>
    
  4. Verifica che siano impostate le credenziali corrette.

    ibmcloud oc credential get --region <region>
    

    Output di esempio

    Infrastructure credentials for user name user@email.com set for resource group default.
    
  5. Per garantire che i cluster esistenti utilizzino le credenziali API dell'infrastruttura aggiornate, eseguire il comando ibmcloud oc api-key reset --region in ciascuna regione in cui sono presenti cluster.