Ho eliminato una sottorete portatile e ora i bilanciatori di carico del mio cluster Classic non funzionano più. Come posso recuperare?

Classico

Risolvi i problemi relativi al recupero delle sottoreti nella rete del cluster.

Il cluster sta riscontrando errori di rete.

È stata eliminata una sottorete portatile.

Completare la seguente procedura.

  1. Per il cluster che sta riscontrando dei problemi, esegui questo comando e prendi nota dell'ID cluster.

    ibmcloud ks cluster ls
    
  2. Elenca le sottoreti utilizzate dal cluster. Nell'output, prendi nota delle sottoreti che il tuo cluster utilizza.

    ibmcloud ks subnets --provider PROVIDER | grep CLUSTER-ID
    
  3. Elenca le sottoreti nel tuo account. Controlla se le sottoreti che hai trovato nel passo 1 mancano dall'elenco di sottoreti nel tuo account. Ciò significa che il tuo cluster sta utilizzando una sottorete che è stata eliminata, che sta causando il malfunzionamento del tuo programma di bilanciamento del carico.

    ibmcloud sl subnet list
    
    ibmcloud sl subnet detail SUBNET-ID
    
  4. Per ogni sottorete che è stata eliminata, ricrearla. Se avete bisogno di indirizzi IP pubblici per i vostri ALB o LoadBalancers,, specificate l'ID VLAN pubblico dei vostri nodi worker; per gli IP privati, specificate l'ID VLAN privato dei vostri nodi worker.

    ibmcloud ks cluster subnet create -c CLUSTER --size 8 --vlan VLAN-ID
    
  5. Disabilita tutti gli ALB che utilizzano le sottoreti portatili eliminate.

    1. Elenca i tuoi ALB e prendi nota degli ID di ALBS che vuoi rimuovere.
        ibmcloud ks ingress alb ls -c CLUSTER-ID
        ```
    1. Disabilita gli ALB per eliminare il programma di bilanciamento del carico per l'ALB, che rilascia l'indirizzo IP portatile nella sottorete portatile che vuoi scollegare
    ```sh {: pre}
        ibmcloud ks ingress alb disable -c CLUSTER-ID --alb ALB-ID
        ```
    
  6. Completa la seguente procedura per trovare tutti i Load Balancers che utilizzano gli indirizzi IP dalle sottoreti portatili eliminate, salvarne le impostazioni e quindi eliminarli.

    1. Trova gli indirizzi IP che utilizzi LoadBalancers.
        kubectl get svc -A -o wide | grep LoadBalancer
        ```
    1. Per ogni programma di bilanciamento del carico identificato in precedenza, immetti il seguente comando per esportarlo in un file YAML.
    ```sh {: pre}
        kubectl get svc -o yaml -n LB-NAMESPACE LB-NAME > LB-NAMESPACE.LB-NAME.yaml
        ```
    1. Dopo aver salvato le informazioni in un file YAM, elimina questi LoadBalancers.
    ```sh {: pre}
        kubectl delete svc -n LB-NAMESPACE LB-NAME
        ```
    
  7. Scollega le sottoreti portatili eliminate dal tuo cluster con il seguente comando.

    ibmcloud ks cluster subnet detach -c CLUSTER --subnet-id SUBNET-ID
    
  8. Attendere alcuni minuti per il completamento del comando di scollegamento, quindi verificare che siano stati scollegati riesaminando la ibm-cloud-provider-vlan-ip-config ConfigMap che memorizza le sottoreti e gli indirizzi IP.

    kubectl get cm -n kube-system ibm-cloud-provider-vlan-ip-config -o yaml
    

    Il processo di distacco potrebbe richiedere dai 5 ai 10 minuti. Nell'attesa, ci si può assicurare che le nuove sottoreti portatili create per questo cluster appaiano anche nel sito ConfigMap.

  9. Crea ALB utilizzando il seguente comando. Nota che non puoi riabilitare i vecchi ALB perché utilizzano ancora la sottorete portatile eliminata.

    ibmcloud ks ingress alb create classic --cluster CLUSTER-ID --type public|private --zone ZONE --vlan VLAN-ID
    
  10. Ricrea i LoadBalancers che hai eliminato utilizzando il file YAML che hai salvato in precedenza.

    kubectl apply -f LB-NAMESPACE.LB-NAME.yaml