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.
-
Per il cluster che sta riscontrando dei problemi, esegui questo comando e prendi nota dell'ID cluster.
ibmcloud ks cluster ls -
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 -
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 listibmcloud sl subnet detail SUBNET-ID -
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 -
Disabilita tutti gli ALB che utilizzano le sottoreti portatili eliminate.
- 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 ``` -
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.
- 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 ``` -
Scollega le sottoreti portatili eliminate dal tuo cluster con il seguente comando.
ibmcloud ks cluster subnet detach -c CLUSTER --subnet-id SUBNET-ID -
Attendere alcuni minuti per il completamento del comando di scollegamento, quindi verificare che siano stati scollegati riesaminando la
ibm-cloud-provider-vlan-ip-configConfigMap che memorizza le sottoreti e gli indirizzi IP.kubectl get cm -n kube-system ibm-cloud-provider-vlan-ip-config -o yamlIl 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.
-
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 -
Ricrea i LoadBalancers che hai eliminato utilizzando il file YAML che hai salvato in precedenza.
kubectl apply -f LB-NAMESPACE.LB-NAME.yaml