Mengubah isolasi di cluster yang menggunakan Private Service Connect


Halaman ini menunjukkan cara mengubah isolasi jaringan untuk bidang kontrol dan node cluster cluster Anda. Mengubah mode isolasi cluster hanya didukung untuk cluster yang menggunakan Private Service Connect untuk menghubungkan bidang kontrol dan node secara pribadi.

Alasan mengubah isolasi cluster

Secara default, saat Anda membuat cluster yang menggunakan Private Service Connect, GKE menetapkan alamat IP eksternal (endpoint eksternal) ke bidang kontrol. Ini berarti bahwa setiap VM dengan alamat IP eksternal dapat mencapai bidang kontrol.

Jika mengonfigurasi jaringan yang diizinkan, Anda dapat membatasi rentang alamat IP yang memiliki akses ke panel kontrol cluster, tetapi panel kontrol cluster masih dapat diakses dari alamat IP milik Google Cloud. Misalnya, setiap VM dengan alamat IP eksternal yang ditetapkan di Google Cloud dapat menjangkau alamat IP eksternal bidang kontrol Anda. Namun, VM tanpa kredensial yang sesuai tidak dapat menjangkau node Anda

Manfaat

Isolasi jaringan memberikan manfaat berikut:

  • Anda dapat mengonfigurasi campuran node pribadi dan publik di cluster yang sama. Hal ini dapat mengurangi biaya node yang tidak memerlukan alamat IP eksternal untuk mengakses layanan publik di internet.
  • Anda dapat memblokir akses panel kontrol dari alamat IP milik Google Cloud atau dari alamat IP eksternal untuk sepenuhnya mengisolasi panel kontrol cluster.

Halaman ini menunjukkan cara mengubah perilaku default ini dengan melakukan tindakan berikut:

  • Mengaktifkan atau menonaktifkan akses ke panel kontrol dari alamat IP milik Google Cloud. Tindakan ini mencegah VM dengan alamat IP milik Google Cloud agar tidak menjangkau panel kontrol Anda. Untuk mengetahui informasi selengkapnya, silakan melihat memblokir akses panel kontrol dari alamat IP milik Google Cloud.
  • Mengaktifkan atau menonaktifkan akses publik ke endpoint eksternal bidang kontrol. Tindakan ini sepenuhnya mengisolasi cluster Anda dan bidang kontrol tidak dapat diakses dari alamat IP publik mana pun. Untuk mengetahui informasi selengkapnya, silakan melihat mengisolasi panel kontrol cluster.
  • Menghapus alamat IP publik dari node. Tindakan ini sepenuhnya mengisolasi workload Anda. Untuk mengetahui informasi selengkapnya, silakan melihat mengisolasi node pool.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu initialize gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Memblokir akses panel kontrol dari VM Google Cloud, Cloud Run, dan Cloud Functions

Secara default, jika Anda membuat cluster dengan Private Service Connect yang telah ditetapkan sebagai public, fitur jaringan yang diizinkan akan dinonaktifkan secara default.

Jika Anda membuat cluster dengan Private Service Connect yang telah ditetapkan sebagai pribadi, fitur jaringan yang diizinkan akan diaktifkan secara default. Untuk mempelajari alamat IP yang selalu dapat mengakses bidang kontrol GKE, lihat Akses ke endpoint bidang kontrol.

Untuk menghapus akses ke bidang kontrol cluster Anda dari VM Google Cloud, Cloud Run, dan Cloud Functions, gunakan gcloud CLI atau Google Cloud Console:

gcloud

  1. Update cluster Anda untuk menggunakan flag --no-enable-google-cloud-access:

    gcloud container clusters update CLUSTER_NAME \
        --no-enable-google-cloud-access
    

    Ganti CLUSTER_NAME dengan nama cluster.

  2. Pastikan tanda --no-enable-google-cloud-access diterapkan:

    gcloud container clusters describe CLUSTER_NAME | grep "gcpPublicCidrsAccessEnabled"
    

    Outputnya mirip dengan hal berikut ini:

    gcpPublicCidrsAccessEnabled: false
    

Konsol

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Networking, pada kolom Jaringan yang diizinkan panel kontrol, klik Edit jaringan yang diizinkan panel kontrol.

  4. Hapus centang pada kotak Allow access through Google Cloud public IP addresses.

  5. Klik Simpan Perubahan.

Izinkan akses ke bidang kontrol dari alamat IP milik Google Cloud

Untuk mengizinkan akses dari alamat IP publik milik Google Cloud ke bidang kontrol cluster, jalankan perintah berikut:

gcloud

gcloud container clusters update CLUSTER_NAME \
    --enable-google-cloud-access

Ganti CLUSTER_NAME dengan nama cluster.

Alamat IP milik Google Cloud dapat mengakses panel kontrol cluster Anda.

Konsol

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Networking, pada kolom Jaringan yang diizinkan panel kontrol, klik Edit jaringan yang diizinkan panel kontrol.

  4. Centang kotak Izinkan akses melalui alamat IP publik Google Cloud.

  5. Klik Simpan Perubahan.

Nonaktifkan akses eksternal ke bidang kontrol di cluster yang menggunakan Private Service Connect

Cluster yang dibuat sebagai publik

Secara default, saat Anda membuat cluster publik GKE, GKE menetapkan alamat IP eksternal (endpoint eksternal) ke bidang kontrol. Jika Anda menginstruksikan GKE untuk membatalkan penetapan endpoint eksternal ini, GKE akan mengaktifkan endpoint pribadi. Akses ke bidang kontrol Anda dari alamat IP eksternal dinonaktifkan, kecuali dari layanan Google Cloud yang menjalankan proses pengelolaan cluster. Untuk mengetahui informasi selengkapnya tentang endpoint pribadi yang diaktifkan dan batasannya, silakan melihat cluster publik dengan Private Service Connect.

Untuk mengubah isolasi bidang kontrol untuk cluster yang dibuat sebagai publik, gunakan gcloud CLI:

  1. Update cluster Anda untuk menggunakan flag --enable-private-endpoint:

    gcloud container clusters update CLUSTER_NAME \
        --enable-private-endpoint
    

    Ganti CLUSTER_NAME dengan nama cluster publik.

  2. Pastikan tanda --enable-private-endpoint diterapkan:

    gcloud container clusters describe CLUSTER_NAME | grep "enablePrivateEndpoint"
    

    Outputnya mirip dengan hal berikut ini:

    enablePrivateEndpoint:true
    

Cluster yang dibuat sebagai pribadi

Secara default, saat Anda membuat cluster pribadi GKE, GKE menetapkan alamat IP eksternal (endpoint eksternal) dan alamat IP internal (endpoint internal) ke bidang kontrol. Anda dapat membatalkan penetapan endpoint eksternal ini, tetapi tidak dapat membatalkan penetapan endpoint internal.

Jika Anda menginstruksikan GKE untuk membatalkan penetapan endpoint eksternal, akses eksternal ke bidang kontrol dari alamat IP eksternal akan dinonaktifkan.

Untuk menghapus endpoint eksternal dalam cluster yang dibuat sebagai pribadi, gunakan gcloud CLI atau Konsol Google Cloud:

gcloud

  1. Update cluster Anda untuk menggunakan flag --enable-private-endpoint:

    gcloud container clusters update CLUSTER_NAME \
        --enable-private-endpoint
    

    Ganti CLUSTER_NAME dengan nama cluster publik.

  2. Pastikan tanda --enable-private-endpoint diterapkan:

    gcloud container clusters describe CLUSTER_NAME | grep "enablePrivateEndpoint"
    

    Outputnya mirip dengan hal berikut ini:

    enablePrivateEndpoint: true
    

Konsol

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Dasar-dasar cluster, pada kolom Endpoint eksternal, klik Edit akses panel kontrol eksternal.

  4. Hapus centang pada kotak Allow access through Google Cloud public IP addresses.

  5. Klik Simpan Perubahan.

Mengaktifkan akses eksternal ke bidang kontrol di cluster yang menggunakan Private Service Connect

Untuk menetapkan alamat IP eksternal (endpoint eksternal) ke bidang kontrol dalam cluster yang dibuat sebagai publik atau pribadi, gunakan gcloud CLI atau Konsol Google Cloud:

gcloud

Jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --no-enable-private-endpoint

Ganti CLUSTER_NAME dengan nama cluster publik.

Alamat IP eksternal dapat mengakses bidang kontrol cluster Anda.

Konsol

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Dasar-dasar cluster, pada kolom Endpoint eksternal, klik Edit akses panel kontrol eksternal.

  4. Pilih kotak centang Access control bidang using its external IP address.

  5. Klik Simpan Perubahan.

Mengisolasi node pool

Anda dapat menginstruksikan GKE untuk menyediakan node pool hanya dengan alamat IP pribadi. Setelah Anda mengupdate kumpulan node publik ke mode pribadi, beban kerja yang memerlukan akses internet publik mungkin akan gagal. Sebelum mengubah isolasi node, lihat batasan cluster Private Service Connect. Anda dapat mengedit setelan ini pada cluster yang dibuat sebagai publik atau pribadi:

Autopilot

Di cluster Autopilot, tambahkan taint pada Pod yang ada sehingga GKE hanya menyediakannya pada node pribadi:

  1. Untuk meminta GKE menjadwalkan Pod pada node pribadi, tambahkan nodeSelector berikut ke spesifikasi Pod Anda:

     cloud.google.com/private-node=true
    

    GKE membuat ulang Pod Anda pada node pribadi. Untuk menghindari gangguan workload, migrasikan setiap workload secara terpisah dan pantau migrasi.

  2. Jika Anda menggunakan VPC Bersama, aktifkan Akses Google Pribadi setelah mengubah mode isolasi cluster. Jika menggunakan Cloud NAT, Anda tidak perlu mengaktifkan Akses Google Pribadi.

Standar

gcloud

Untuk menyediakan node melalui alamat IP pribadi di node pool yang sudah ada, jalankan perintah berikut:

  gcloud container node-pools update NODE_POOL_NAME \
      --cluster=CLUSTER_NAME \
      --enable-private-nodes

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool yang ingin Anda edit.
  • CLUSTER_NAME: nama cluster GKE.

    Jika Anda menggunakan VPC Bersama, aktifkan Akses Google Pribadi setelah mengubah mode isolasi cluster. Jika menggunakan Cloud NAT, Anda tidak perlu mengaktifkan Akses Google Pribadi.

Konsol

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Pada daftar cluster, klik nama cluster.

  3. Di halaman Cluster, klik tab Node.

  4. Di bagian Node Pool, klik nama node pool.

  5. Klik Edit.

  6. Centang kotak Enable private nodes.

  7. Klik Save.

Membatalkan isolasi node pool

Di cluster Standard, untuk menginstruksikan GKE guna menyediakan node pool dengan alamat IP publik, jalankan perintah berikut:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --no-enable-private-nodes

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool yang ingin Anda edit.
  • CLUSTER_NAME: nama cluster GKE.

Alamat IP publik dapat mengakses node cluster Anda.

Batasan

Sebelum mengubah mode isolasi cluster, pertimbangkan batasan berikut:

  • Mengubah mode isolasi tidak didukung di cluster publik yang berjalan di jaringan lama.
  • Setelah Anda mengupdate kumpulan node publik ke mode pribadi, workload yang memerlukan akses internet publik mungkin akan gagal dalam skenario berikut:
    • Cluster di Jaringan VPC Bersama yang tidak mengaktifkan Akses Google Pribadi. Aktifkan Akses Google Pribadi secara manual untuk memastikan GKE mendownload image node yang ditetapkan. Untuk cluster yang tidak berada dalam Jaringan VPC Bersama, GKE secara otomatis mengaktifkan Akses Google Pribadi.
    • Workload yang memerlukan akses ke internet tempat Cloud NAT tidak diaktifkan atau solusi NAT kustom tidak ditentukan. Untuk mengizinkan traffic keluar ke internet, aktifkan Cloud NAT atau solusi NAT kustom.

Cluster Private Service Connect yang dibuat sebagai publik atau pribadi

Cluster yang dibuat sebagai publik dan menggunakan Private Service Connect memiliki endpoint pribadi yang diaktifkan. Di endpoint pribadi ini, alamat IP internal di URL untuk webhook baru atau lama yang Anda konfigurasi tidak didukung. Untuk mengurangi inkompatibilitas ini, lakukan hal berikut:

  1. Siapkan webhook dengan alamat pribadi menggunakan URL.
  2. Membuat layanan headless tanpa pemilih.
  3. Buat endpoint yang sesuai untuk tujuan yang diperlukan.

Cluster Private Service Connect dibuat sebagai publik

Hanya dalam cluster Private Service Connect yang dibuat sebagai publik, semua alamat IP pribadi dari jaringan cluster selalu dapat mencapai endpoint pribadi cluster. Untuk mempelajari akses bidang kontrol lebih lanjut, lihat Jaringan yang diizinkan untuk akses bidang kontrol.

Langkah selanjutnya