Menghapus alamat IP statis dari cluster

Dokumen ini menunjukkan cara menghapus alamat IP statis dari cluster di GKE di VMware.

Saat membuat cluster yang menggunakan alamat IP statis untuk node, Anda menentukan kumpulan alamat IP dalam file blok IP. Jika nantinya Anda menyadari bahwa alamat IP yang ditentukan lebih banyak dari yang diperlukan, Anda dapat menghapus beberapa alamat IP dari cluster.

Menghapus alamat IP dari cluster pengguna

Pastikan Anda akan memiliki cukup alamat IP yang tersisa setelah penghapusan. Anda memerlukan satu alamat IP untuk setiap node cluster, ditambah alamat IP tambahan yang akan digunakan untuk node sementara selama upgrade. Misalnya, jika memiliki tiga node cluster, Anda harus memiliki empat alamat IP yang tersisa setelah penghapusan.

Ikuti langkah-langkah berikut:

  1. Cluster admin memiliki resource kustom OnPremUserCluster untuk setiap cluster pengguna terkait. Di cluster admin, edit resource kustom OnPremUserCluster untuk cluster pengguna Anda:

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

    Ganti kode berikut:

    • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin
    • USER_CLUSTER_NAME: nama cluster pengguna Anda
  2. Hapus alamat IP yang dipilih dari bagian 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. Tutup sesi pengeditan.

  4. Di cluster pengguna Anda, lihat semua objek Machine dalam namespace default:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get machines --output yaml
    
  5. Menghapus semua objek Mesin yang menggunakan salah satu alamat IP yang dihapus. Misalnya, Anda menghapus alamat 198.51.100.1 dan menemukan bahwa objek Machine my-node-pool-1234 menggunakan alamat tersebut:

    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
    

    Kemudian, Anda harus menghapus objek Mesin my-node-pool-1234.

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG delete machine my-node-pool-1234
    
  6. Setelah beberapa menit, lihat alamat node cluster:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes --output wide
    
  7. Pastikan alamat IP yang dihapus tidak muncul di output. Contoh:

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

Menghapus alamat IP dari cluster admin

Pastikan Anda akan memiliki cukup alamat IP yang tersisa setelah penghapusan. Anda memerlukan satu alamat IP untuk node bidang kontrol cluster admin, dua alamat untuk node add-on, dan satu alamat IP tambahan yang akan digunakan untuk node sementara selama upgrade. Selain itu, untuk setiap cluster pengguna yang terkait, Anda memerlukan satu atau tiga alamat untuk bidang kontrol cluster pengguna. Setiap cluster pengguna ketersediaan tinggi (HA) memerlukan tiga node di cluster admin untuk bidang kontrol cluster pengguna. Setiap cluster pengguna non-HA memerlukan satu node di cluster admin untuk bidang kontrol cluster pengguna.

Misalnya, cluster admin Anda dikaitkan dengan satu cluster pengguna dengan ketersediaan tinggi (HA) dan satu cluster pengguna dengan ketersediaan tinggi (HA). Kemudian setelah penghapusan, Anda harus memiliki delapan alamat IP yang tersisa untuk mengakomodasi node berikut:

  • Node bidang kontrol cluster admin
  • Dua node add-on
  • Tiga node untuk bidang kontrol cluster pengguna dengan ketersediaan tinggi (HA)
  • Satu node untuk bidang kontrol cluster pengguna non-HA
  • Node sementara yang akan digunakan selama upgrade

Ikuti langkah-langkah berikut:

  1. Tentukan alamat IP yang sedang digunakan untuk node bidang kontrol cluster admin:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    

    Di output, temukan node yang tercantum sebagai bidang kontrol. Catat alamat IP-nya.

    gke-admin-master-hdn4z   Ready   control-plane,master … 198.51.100.101
    ...
    
  2. Di cluster admin, edit resource kustom OnPremAdminCluster:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG edit onpremadmincluster --namespace kube-system
    

    Ganti ADMIN_CLUSTER_KUBECONFIG dengan jalur file cluster kubeconfig admin.

  3. Hapus alamat IP yang dipilih dari bagian ipBlocks. Pastikan Anda tidak menghapus alamat IP yang sedang digunakan untuk node bidang kontrol cluster admin.

    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. Tutup sesi pengeditan.

  5. Di cluster admin Anda, lihat semua objek Machine di namespace default:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machines --output yaml
    
  6. Menghapus semua objek Mesin yang menggunakan salah satu alamat IP yang dihapus. Misalnya, Anda menghapus alamat 198.51.100.102 dan menemukan bahwa objek Mesin gke-admin-node- menggunakan alamat tersebut:

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

    Kemudian, Anda harus menghapus objek Mesin gke-admin-node-5678.

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG delete machine gke-admin-node-5678
    
  7. Lihat alamat node cluster:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get nodes --output wide
    
  8. Pastikan alamat IP yang dihapus tidak muncul di output. Contoh:

    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