Neste documento, mostramos como remover endereços IP estáticos de um cluster nos clusters do Anthos no VMware (GKE On-Prem).
Ao criar um cluster que usa endereços IP estáticos para os nós, especifique um conjunto de endereços IP em um arquivo de bloco IP. Se mais tarde você perceber que especificou mais endereços IP do que o necessário, remova alguns dos endereços IP do cluster.
Remover endereços IP de um cluster de usuário
Verifique se você terá endereços IP suficientes restantes após a remoção. Você precisa de um endereço IP para cada nó de cluster, além de um endereço IP extra a ser usado para um nó temporário durante upgrades. Por exemplo, se você tiver três nós de cluster, precisará ter quatro endereços IP restantes após a remoção.
Siga estas etapas:
O cluster de administrador tem um recurso personalizado OnPremUserCluster para cada cluster de usuário associado. No cluster de administrador, edite o recurso personalizado OnPremUserCluster para o cluster de usuário:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG edit onpremusercluster USER_CLUSTER_NAME \ --namespace USER_CLUSTER_NAME-gke-onprem-mgmt
Substitua:
- ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador
- USER_CLUSTER_NAME: o nome do cluster de usuário
Remova os endereços IP selecionados da seção
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
Fechar a sessão de edição.
No cluster de usuário, veja todos os objetos de máquina no namespace padrão:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get machines --output yaml
Exclua todos os objetos de máquina que usam um dos endereços IP removidos. Por exemplo, suponha que você removeu o endereço 198.51.100.1 e descobriu que o objeto de máquina
my-node-pool-1234
usa esse endereço: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
Em seguida, você precisa remover o objeto de máquina
my-node-pool-1234
.kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete machine my-node-pool-1234
Após alguns minutos, veja os endereços dos nós do cluster:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes --output wide
Confira se os endereços IP removidos não aparecem na saída. Exemplo:
myhost2 Ready ... 198.51.100.2 myhost3 Ready ... 198.51.100.3 myhost4 Ready ... 198.51.100.4
Remover endereços IP de um cluster de administrador
Verifique se você terá endereços IP suficientes restantes após a remoção. Você precisa de um endereço IP para o nó do plano de controle do cluster do administrador, dois endereços para nós do complemento e um endereço IP extra a ser usado para um nó temporário durante upgrades. Além disso, para cada cluster de usuário associado, você precisa de um ou três endereços para o plano de controle do cluster do usuário. Cada cluster de usuário de alta disponibilidade (HA, na sigla em inglês) requer três nós no cluster do administrador para o plano de controle do cluster de usuário. Cada cluster de usuário que não seja HA requer um nó no cluster do administrador para o plano de controle do cluster de usuário.
Por exemplo, suponha que o cluster de administrador esteja associado a um cluster de usuário de HA e um cluster de usuário não HA. Após a remoção, você precisará ter oito endereços IP restantes para acomodar os seguintes nós:
- Nó do plano de controle do cluster do administrador
- Dois nós de complemento
- Três nós para o plano de controle do cluster de usuário HA
- Um nó para o plano de controle do cluster de usuário não HA
- Um nó temporário a ser usado durante upgrades
Siga estas etapas:
Determine o endereço IP que está sendo usado no nó do plano de controle do cluster de administrador:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
Na saída, encontre o nó listado como o plano de controle. Anote o endereço IP dele.
gke-admin-master-hdn4z Ready control-plane,master … 198.51.100.101 ...
No cluster de administrador, edite o recurso personalizado OnPremAdminCluster:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG edit onpremadmincluster --namespace kube-system
Substitua ADMIN_CLUSTER_KUBECONFIG pelo caminho para o arquivo kubeconfig do cluster de administrador.
Remova os endereços IP selecionados da seção
ipBlocks
. Não remova o endereço IP que está sendo usado no nó do plano de controle do cluster de administrador.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
Fechar a sessão de edição.
No cluster de administrador, visualize todos os objetos de máquina no namespace padrão:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machines --output yaml
Exclua todos os objetos Machine que usam um dos endereços IP removidos. Por exemplo, suponha que você removeu o endereço 198.51.100.102 e descobriu que o objeto Machine
gke-admin-node-
usa esse endereço:Name: gke-admin-node-5678 Namespace: default ... Status: Addresses: Address: 198.51.100.102 Type: ExternalIP ...
Em seguida, é preciso remover o objeto de máquina
gke-admin-node-5678
.kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG delete machine gke-admin-node-5678
Veja os endereços de nó do cluster:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
Confira se os endereços IP removidos não aparecem na saída. Exemplo:
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