Remova endereços IP estáticos de um cluster

Este documento mostra como remover endereços IP estáticos de um cluster no Google Distributed Cloud.

Quando cria um cluster que usa endereços IP estáticos para os nós, especifica um conjunto de endereços IP num ficheiro de bloco de IP. Se, mais tarde, se aperceber de que especificou mais endereços IP do que o necessário, pode remover alguns dos endereços IP do cluster.

Remova endereços IP de um cluster de utilizadores

Certifique-se de que tem endereços IP suficientes após a remoção. Precisa de um endereço IP para cada nó do cluster, além de um endereço IP adicional a usar para um nó temporário durante as atualizações. Por exemplo, se tiver três nós de cluster, precisa de ter quatro endereços IP restantes após a remoção.

Siga estes passos:

  1. O cluster de administrador tem um recurso personalizado OnPremUserCluster para cada cluster de utilizador associado. No cluster de administrador, edite o recurso personalizado OnPremUserCluster para o cluster de utilizadores:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG edit onpremusercluster USER_CLUSTER_NAME \
        --namespace USER_CLUSTER_NAME-gke-onprem-mgmt
    

    Substitua o seguinte:

    • ADMIN_CLUSTER_KUBECONFIG: o caminho do ficheiro kubeconfig do cluster de administrador
    • USER_CLUSTER_NAME: o nome do seu cluster de utilizadores
  2. Remova os endereços IP selecionados da secçã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
    
  3. Feche a sessão de edição.

  4. No cluster de utilizadores, veja todos os objetos Machine no espaço de nomes predefinido:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get machines --output yaml
    
  5. Elimine todos os objetos Machine que usam um dos endereços IP removidos. Por exemplo, suponhamos que removeu o endereço 198.51.100.1 e descobre que o objeto my-node-pool-1234 Machine 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, tem de remover o objeto my-node-pool-1234 Machine.

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete machine my-node-pool-1234
    
  6. Após alguns minutos, veja os endereços dos nós do cluster:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes --output wide
    
  7. Verifique se os endereços IP removidos não aparecem no resultado. Por exemplo:

    myhost2   Ready ... 198.51.100.2
    myhost3   Ready ... 198.51.100.3
    myhost4   Ready ... 198.51.100.4
    

Remova endereços IP de um cluster de administrador

Certifique-se de que tem endereços IP suficientes após a remoção. Precisa de um endereço IP para o nó do plano de controlo do cluster de administrador, dois endereços para os nós de suplementos e um endereço IP adicional a usar para um nó temporário durante as atualizações. Além disso, para cada cluster de utilizadores associado, precisa de um ou três endereços para o plano de controlo do cluster de utilizadores. Cada cluster de utilizadores de alta disponibilidade (HA) requer três nós no cluster de administrador para o plano de controlo do cluster de utilizadores. Cada cluster de utilizadores não de HA requer um nó no cluster de administrador para o plano de controlo do cluster de utilizadores.

Por exemplo, suponhamos que o cluster de administrador está associado a um cluster de utilizadores de HA e a um cluster de utilizadores sem HA. Depois da remoção, tem de ter oito endereços IP restantes para acomodar os seguintes nós:

  • Nó do plano de controlo do cluster de administrador
  • Dois nós suplementares
  • Três nós para o plano de controlo do cluster de utilizadores de HA
  • Um nó para o plano de controlo do cluster de utilizadores não de HA
  • Um nó temporário a usar durante as atualizações

Siga estes passos:

  1. Determine o endereço IP que está a ser usado para o nó do plano de controlo do cluster de administrador:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    

    Na saída, encontre o nó apresentado como plano de controlo. Tome nota do respetivo endereço IP.

    gke-admin-master-hdn4z   Ready   control-plane,master … 198.51.100.101
    ...
    
  2. 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 do ficheiro kubeconfig do cluster de administrador.

  3. Remova os endereços IP selecionados da secção ipBlocks. Certifique-se de que não remove o endereço IP que está a ser usado para o nó do plano de controlo 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
    
  4. Feche a sessão de edição.

  5. No cluster de administrador, veja todos os objetos Machine no espaço de nomes predefinido:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machines --output yaml
    
  6. Elimine todos os objetos Machine que usam um dos endereços IP removidos. Por exemplo, suponhamos que removeu o endereço 198.51.100.102 e descobre que o objeto gke-admin-node- Machine usa esse endereço:

    Name:         gke-admin-node-5678
    Namespace:    default
    ...
    Status:
    Addresses:
    Address:       198.51.100.102
    Type:          ExternalIP
    ...
    

    Em seguida, tem de remover o objeto gke-admin-node-5678 Machine.

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG delete machine gke-admin-node-5678
    
  7. Veja os endereços dos nós do cluster:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    
  8. Verifique se os endereços IP removidos não aparecem no resultado. Por 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