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
.
- Silakan membaca Batasan Private Service Connect.
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
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.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
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diubah.
Di bagian Networking, pada kolom Jaringan yang diizinkan panel kontrol, klik edit Edit jaringan yang diizinkan panel kontrol.
Hapus centang pada kotak Allow access through Google Cloud public IP addresses.
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
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diubah.
Di bagian Networking, pada kolom Jaringan yang diizinkan panel kontrol, klik edit Edit jaringan yang diizinkan panel kontrol.
Centang kotak Izinkan akses melalui alamat IP publik Google Cloud.
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:
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.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
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.Pastikan tanda
--enable-private-endpoint
diterapkan:gcloud container clusters describe CLUSTER_NAME | grep "enablePrivateEndpoint"
Outputnya mirip dengan hal berikut ini:
enablePrivateEndpoint: true
Konsol
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diubah.
Di bagian Dasar-dasar cluster, pada kolom Endpoint eksternal, klik edit Edit akses panel kontrol eksternal.
Hapus centang pada kotak Allow access through Google Cloud public IP addresses.
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
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diubah.
Di bagian Dasar-dasar cluster, pada kolom Endpoint eksternal, klik edit Edit akses panel kontrol eksternal.
Pilih kotak centang Access control bidang using its external IP address.
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:
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.
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
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Pada daftar cluster, klik nama cluster.
Di halaman Cluster, klik tab Node.
Di bagian Node Pool, klik nama node pool.
Klik Edit.
Centang kotak Enable private nodes.
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:
- Anda hanya dapat mengubah mode isolasi untuk cluster yang menggunakan Private Service Connect.
- 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:
- Siapkan webhook dengan alamat pribadi menggunakan URL.
- Membuat layanan headless tanpa pemilih.
- 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.