Questo documento mostra come rimuovere indirizzi IP statici da un cluster in Google Distributed Cloud.
Quando crei un cluster che utilizza indirizzi IP statici per i nodi, specifichi un insieme di indirizzi IP in un file di blocchi IP. Se in un secondo momento ti rendi conto di aver specificato più indirizzi IP del necessario, puoi rimuovere alcuni indirizzi IP dal cluster.
Rimuovi gli indirizzi IP da un cluster utente
Assicurati di avere un numero sufficiente di indirizzi IP dopo la rimozione. Ti serve un indirizzo IP per ogni nodo cluster più un indirizzo IP aggiuntivo da utilizzare per un nodo temporaneo durante gli upgrade. Ad esempio, se hai tre nodi cluster, dopo la rimozione dovrai avere quattro indirizzi IP rimanenti.
Segui questi passaggi:
Il cluster di amministrazione dispone di una risorsa personalizzata OnPremUserCluster per ogni cluster utente associato. Nel cluster di amministrazione, modifica la risorsa personalizzata OnPremUserCluster per il tuo cluster utente:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG edit onpremusercluster USER_CLUSTER_NAME \ --namespace USER_CLUSTER_NAME-gke-onprem-mgmt
Sostituisci quanto segue:
- ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione
- USER_CLUSTER_NAME: il nome del cluster utente
Rimuovi gli indirizzi IP selezionati dalla sezione
ipBlocks
:network: ... ipMode: ipBlocks: - gateway: 198.51.100.254 ips: - hostname: user-host1 ip: 198.51.100.1 - hostname: user-host2 ip: 198.51.100.2 - hostname: user-host3 ip: 198.51.100.3 - hostname: user-host4 ip: 198.51.100.4 - hostname: user-host5 ip: 198.51.100.5 netmask: 255.255.255.0 type: static
Chiudi la sessione di modifica.
Nel tuo cluster utente, visualizza tutti gli oggetti Macchina nello spazio dei nomi predefinito:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get machines --output yaml
Elimina tutti gli oggetti Macchina che utilizzano uno degli indirizzi IP rimossi. Ad esempio, supponi di aver rimosso l'indirizzo 198.51.100.1 e di scoprire che l'oggetto Machine
my-node-pool-1234
utilizza questo indirizzo:Name: my-node-pool-1234 Namespace: default Labels: kubernetes.googleapis.com/cluster-name=my-cluster kubernetes.googleapis.com/cluster-namespace=default ... Annotations: ... vm-ip-address: 198.51.100.1
Devi quindi rimuovere l'oggetto Machine
my-node-pool-1234
.kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete machine my-node-pool-1234
Dopo qualche minuto, visualizza gli indirizzi dei nodi del cluster:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes --output wide
Verifica che gli indirizzi IP rimossi non vengano visualizzati nell'output. Ad esempio:
myhost2 Ready ... 198.51.100.2 myhost3 Ready ... 198.51.100.3 myhost4 Ready ... 198.51.100.4
Rimuovere gli indirizzi IP da un cluster di amministrazione
Assicurati di avere un numero sufficiente di indirizzi IP dopo la rimozione. È necessario un indirizzo IP per il nodo del piano di controllo del cluster di amministrazione, due indirizzi per i nodi aggiuntivi e un indirizzo IP aggiuntivo da utilizzare per un nodo temporaneo durante gli upgrade. Inoltre, per ogni cluster utente associato, sono necessari uno o tre indirizzi per il piano di controllo del cluster utente. Ogni cluster utente ad alta disponibilità richiede tre nodi nel cluster di amministrazione per il piano di controllo del cluster utente. Ogni cluster utente non ad alta disponibilità richiede un nodo nel cluster di amministrazione per il piano di controllo del cluster utente.
Ad esempio, supponi che il tuo cluster di amministrazione sia associato a un cluster utente ad alta disponibilità e a un cluster utente non ad alta disponibilità. Dopo la rimozione, dovrai avere otto indirizzi IP rimanenti per ospitare i seguenti nodi:
- Nodo del piano di controllo del cluster di amministrazione
- Due nodi aggiuntivi
- Tre nodi per il piano di controllo del cluster utente ad alta disponibilità
- Un nodo per il piano di controllo del cluster utente non ad alta disponibilità
- Un nodo temporaneo da utilizzare durante gli upgrade
Segui questi passaggi:
Determina l'indirizzo IP che viene utilizzato per il nodo del piano di controllo del cluster di amministrazione:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
Nell'output, individua il nodo elencato come piano di controllo. Prendi nota del suo indirizzo IP.
gke-admin-master-hdn4z Ready control-plane,master … 198.51.100.101 ...
Nel cluster di amministrazione, modifica la risorsa personalizzata OnPremAdminCluster:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG edit onpremadmincluster --namespace kube-system
Sostituisci ADMIN_CLUSTER_KUBECONFIG con il percorso del file kubeconfig del cluster di amministrazione.
Rimuovi gli indirizzi IP selezionati dalla sezione
ipBlocks
. Assicurati di non rimuovere l'indirizzo IP utilizzato per il nodo del piano di controllo del cluster di amministrazione.network: ... ipMode: ipBlocks: - gateway: 198.51.100.254 ips: - hostname: admin-host1 ip: 198.51.100.101 - hostname: admin-host2 ip: 198.51.100.102 - hostname: admin-host3 ip: 198.51.100.103 - hostname: admin-host4 ip: 198.51.100.104 - hostname: admin-host5 ip: 198.51.100.105 - hostname: admin-host6 ip: 198.51.100.106 - hostname: admin-host7 ip: 198.51.100.107 - hostname: admin-host8 ip: 198.51.100.108 - hostname: admin-host9 ip: 198.51.100.109 netmask: 255.255.255.0 type: static
Chiudi la sessione di modifica.
Nel cluster di amministrazione, visualizza tutti gli oggetti Macchina nello spazio dei nomi predefinito:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machines --output yaml
Elimina tutti gli oggetti Macchina che utilizzano uno degli indirizzi IP rimossi. Ad esempio, supponi di aver rimosso l'indirizzo 198.51.100.102 e di scoprire che l'oggetto Machine
gke-admin-node-
utilizza questo indirizzo:Name: gke-admin-node-5678 Namespace: default ... Status: Addresses: Address: 198.51.100.102 Type: ExternalIP ...
Devi quindi rimuovere l'oggetto Machine
gke-admin-node-5678
.kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG delete machine gke-admin-node-5678
Visualizza gli indirizzi dei nodi cluster:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
Verifica che gli indirizzi IP rimossi non vengano visualizzati nell'output. Ad esempio:
gke-admin-master-hdn4z Ready control-plane,master 198.51.100.101 gke-admin-node-abcd Ready ... 198.51.100.103 gke-admin-node-efgh Ready ... 198.51.100.104 my-user-cluster-ijkl Ready ... 198.51.100.105 my-user-cluster-mnop Ready ... 198.51.100.106 my-user-cluster-qrst Ready ... 198.51.100.107 my-user-cluster-uvwx Ready ... 198.51.100.108