Questo documento mostra come rimuovere gli 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 blocco IP. Se in seguito ti rendi conto di aver specificato più indirizzi IP del necessario, può rimuovere alcuni indirizzi IP dal cluster.
Rimuovi gli indirizzi IP da un cluster utente
Assicurati di avere un numero sufficiente di indirizzi IP rimanenti dopo la rimozione. Tu è necessario un indirizzo IP per ciascun nodo del cluster e un indirizzo IP aggiuntivo per un nodo temporaneo durante gli upgrade. Ad esempio, se hai tre nodi del cluster, dopo la rimozione dovrai avere quattro indirizzi IP rimanenti.
Segui questi passaggi:
Il cluster di amministrazione ha 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 cluster utente, visualizza tutti gli oggetti Machine nello spazio dei nomi predefinito:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get machines --output yaml
Elimina tutti gli oggetti Machine che utilizzano uno degli indirizzi IP rimossi. Ad esempio, supponiamo di aver rimosso l'indirizzo 198.51.100.1 e di scoprire che l'oggetto
my-node-pool-1234
Machine lo utilizza: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
Poi devi rimuovere l'oggetto
my-node-pool-1234
Machine.kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete machine my-node-pool-1234
Dopo alcuni minuti, 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 indirizzi IP da un cluster di amministrazione
Assicurati di avere un numero sufficiente di indirizzi IP rimanenti dopo la rimozione. Ti occorre 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à (HA) richiede tre nodi nel cluster di amministrazione per il control plane del cluster utente. Ogni cluster utente non ad alta disponibilità richiede di amministrazione per il piano di controllo del cluster utente.
Ad esempio, supponiamo che il tuo cluster di amministrazione sia associato a un cluster utente ad alta disponibilità e un cluster utente non ad alta disponibilità. Dopo la rimozione, dovrai avere 8 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 HA
- 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 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 delle sue 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 dell'amministratore kubeconfig del cluster.
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 Machine nello spazio dei nomi predefinito:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machines --output yaml
Elimina tutti gli oggetti Machine che utilizzano uno degli indirizzi IP rimossi. Ad esempio, supponiamo di aver rimosso l'indirizzo 198.51.100.102 e di scoprire che l'oggetto
gke-admin-node-
Machine lo utilizza:Name: gke-admin-node-5678 Namespace: default ... Status: Addresses: Address: 198.51.100.102 Type: ExternalIP ...
Poi devi rimuovere l'oggetto
gke-admin-node-5678
Macchina.kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG delete machine gke-admin-node-5678
Visualizza gli indirizzi dei nodi del 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