Halaman ini menjelaskan cara mengonfigurasi isolasi jaringan untuk cluster Google Kubernetes Engine (GKE) saat Anda membuat atau mengupdate cluster.
Rencanakan dan desain isolasi jaringan cluster Anda dengan Arsitek jaringan, Administrator jaringan, atau tim Engineer jaringan lainnya di organisasi Anda yang bertanggung jawab untuk menentukan, menerapkan, dan memelihara arsitektur jaringan.
Cara kerja isolasi jaringan cluster
Di cluster GKE, isolasi jaringan bergantung pada siapa yang dapat mengakses komponen cluster dan caranya. Anda dapat mengontrol:
- Akses bidang kontrol: Anda dapat menyesuaikan akses eksternal, akses terbatas, atau akses tidak terbatas ke bidang kontrol.
- Jaringan cluster: Anda dapat memilih siapa yang dapat mengakses node di cluster Standard, atau workload di cluster Autopilot.
Sebelum membuat cluster, pertimbangkan hal berikut:
- Siapa yang dapat mengakses bidang kontrol dan bagaimana bidang kontrol diekspos?
- Bagaimana node atau workload Anda diekspos?
Untuk menjawab pertanyaan ini, ikuti panduan rencana dan desain di Tentang isolasi jaringan.
Batas dan pembatasan
Secara default, GKE membuat cluster Anda sebagai cluster VPC native. Cluster VPC native tidak mendukung jaringan lama.
Rentang sekunder Pod tingkat node pool: saat membuat cluster GKE, jika Anda menentukan rentang sekunder Pod yang lebih kecil dari /24
per node pool menggunakan UI, Anda mungkin mengalami error berikut:
Getting Pod secondary range 'pod' must have a CIDR block larger or equal to /24
GKE tidak mendukung penentuan rentang yang lebih kecil dari /24
di tingkat node pool. Namun, penentuan rentang yang lebih kecil di tingkat cluster didukung. Hal ini dapat dilakukan dengan menggunakan Google Cloud CLI dengan argumen --cluster-ipv4-cidr
. Untuk mengetahui informasi selengkapnya, lihat Membuat cluster dengan rentang CIDR tertentu.
Luaskan bagian berikut untuk melihat aturan seputar rentang alamat IP dan traffic saat membuat cluster.
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
lakukan inisialisasi
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan
gcloud components update
.
Mengonfigurasi akses bidang kontrol
Saat Anda membuat cluster GKE dalam versi apa pun menggunakan Google Cloud CLI atau dalam versi 1.29 dan yang lebih baru menggunakan Konsol, bidang kontrol dapat diakses melalui antarmuka berikut:
Endpoint berbasis DNS
Akses ke bidang kontrol bergantung pada resolusi DNS traffic sumber. Aktifkan endpoint berbasis DNS untuk mendapatkan manfaat berikut:
- Buat kebijakan akses dinamis berdasarkan kebijakan IAM.
- Mengakses bidang kontrol dari jaringan VPC lain atau lokasi eksternal tanpa perlu menyiapkan bastion host atau node proxy.
Untuk mengonfigurasi akses ke endpoint berbasis DNS, lihat Menentukan akses endpoint berbasis DNS.
Endpoint berbasis IP
Akses ke endpoint bidang kontrol bergantung pada alamat IP sumber dan dikontrol oleh jaringan yang diizinkan. Anda dapat mengelola akses ke endpoint berbasis IP dari bidang kontrol, termasuk:
- Aktifkan atau nonaktifkan endpoint berbasis IP.
- Aktifkan atau nonaktifkan endpoint eksternal untuk mengizinkan akses dari traffic eksternal. Endpoint internal selalu diaktifkan saat Anda mengaktifkan endpoint berbasis IP bidang kontrol.
- Tambahkan jaringan yang diizinkan ke daftar yang diizinkan atau tolak akses dari alamat IP publik. Jika Anda tidak mengonfigurasi jaringan yang diizinkan, bidang kontrol dapat diakses dari alamat IP eksternal mana pun. Hal ini mencakup alamat IP eksternal atau Google Cloud alamat IP publik tanpa batasan.
- Mengizinkan atau menolak akses dari semua atau sebagian alamat IP pribadi di cluster.
- Izinkan atau tolak akses dari alamat IP eksternalGoogle Cloud , yang merupakan alamat IP eksternal yang ditetapkan ke VM apa pun yang digunakan oleh pelanggan yang dihosting di Google Cloud.
- Izinkan atau tolak akses dari alamat IP di Google Cloud region lain.
Tinjau batasan penggunaan endpoint berbasis IP sebelum Anda menentukan akses bidang kontrol.
Membuat cluster dan menentukan akses bidang kontrol
Untuk membuat atau mengupdate cluster Autopilot atau Standard, gunakan Google Cloud CLI atau konsol. Google Cloud
Konsol
Untuk membuat cluster, selesaikan langkah-langkah berikut:
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik add_box Create.
Konfigurasi atribut cluster Anda berdasarkan kebutuhan project Anda.
Di menu navigasi, klik Networking.
Di bagian Akses Bidang Kontrol, konfigurasikan endpoint bidang kontrol:
- Centang kotak Akses menggunakan DNS untuk mengaktifkan endpoint berbasis DNS bidang kontrol.
- Centang kotak Access using IPv4 addresses untuk mengaktifkan endpoint berbasis IP bidang kontrol. Gunakan konfigurasi yang disertakan dalam Tentukan alamat IP yang dapat mengakses bidang kontrol untuk menyesuaikan akses ke endpoint berbasis IP.
gcloud
Untuk cluster Autopilot, jalankan perintah berikut:
gcloud container clusters create-auto CLUSTER_NAME \
--enable-ip-access \
--enable-dns-access
Untuk cluster Standard, jalankan perintah berikut:
gcloud container clusters create CLUSTER_NAME \
--enable-ip-access \
--enable-dns-access
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Anda.
Kedua perintah tersebut menyertakan flag yang memungkinkan hal berikut:
enable-dns-access
: Mengaktifkan akses ke bidang kontrol menggunakan endpoint berbasis DNS dari bidang kontrol.enable-ip-access
: Mengaktifkan akses ke bidang kontrol menggunakan alamat IPv4. Jika Anda ingin menonaktifkan endpoint internal dan eksternal bidang kontrol, gunakan flagno-enable-ip-access
.
Gunakan flag yang tercantum di Tentukan alamat IP yang dapat mengakses bidang kontrol untuk menyesuaikan akses ke endpoint berbasis IP.
Menentukan akses ke endpoint berbasis DNS
Anda dapat mengelola autentikasi dan otorisasi ke endpoint berbasis DNS dengan
mengonfigurasi izin IAM container.clusters.connect
. Untuk
mengonfigurasi izin ini, tetapkan salah satu peran IAM berikut ke
projectGoogle Cloud Anda:
roles/container.developer
roles/container.viewer
Secara opsional, Anda dapat mengelola keterjangkauan endpoint berbasis DNS menggunakan fitur berikut:
Kontrol Layanan VPC: endpoint berbasis DNS mendukung Kontrol Layanan VPC untuk menambahkan lapisan keamanan pada akses control plane Anda. Kontrol Layanan VPC berfungsi secara konsisten di seluruh API. Google Cloud
Akses ke endpoint berbasis DNS dari klien tanpa akses internet publik: endpoint berbasis DNS dapat diakses melalui Google Cloud API yang tersedia di internet publik. Untuk mengakses endpoint berbasis DNS dari klien pribadi, Anda dapat menggunakan Akses Google Pribadi, gateway Cloud NAT, atau Private Service Connect untuk API Google Cloud .
Saat Anda menggunakan Private Service Connect untuk Google Cloud API, GKE mengalihkan permintaan untuk alamat
gke.goog
ke alamat IP internal yang ditambahkan oleh Private Service Connect untuk Google API, bukan alamat IP Google publik default. Untuk mengonfigurasi Private Service Connect untuk API, selesaikan langkah-langkah di Mengakses Google API melalui endpoint. Google CloudAkses ke endpoint berbasis DNS dari klien lokal: endpoint berbasis DNS dapat diakses oleh klien lokal melalui Akses Google Pribadi. Untuk mengonfigurasi Akses Google Pribadi, selesaikan langkah-langkah di Mengonfigurasi Akses Google Pribadi untuk host lokal.
Menentukan alamat IP yang dapat mengakses bidang kontrol
Untuk menentukan alamat IP yang dapat mengakses bidang kontrol, selesaikan langkah-langkah berikut:
Konsol
- Di bagian Control Plane Access, pilih Enable authorized networks.
- Klik Add authorized network.
- Masukkan Name untuk jaringan.
- Untuk Network, masukkan rentang CIDR yang ingin Anda berikan akses ke bidang kontrol cluster.
- Klik Selesai.
- Tambahkan jaringan lain yang diizinkan jika Anda memerlukannya.
Tentukan aturan firewall alamat IP bidang kontrol
Untuk menentukan aturan firewall alamat IP panel kontrol, selesaikan langkah-langkah berikut:
- Perluas bagian Tampilkan aturan firewall alamat IP.
Centang kotak Akses menggunakan alamat IP eksternal bidang kontrol untuk mengizinkan akses ke bidang kontrol dari alamat IP publik.
Praktik terbaik: Tentukan jaringan yang diizinkan bidang kontrol untuk membatasi akses ke bidang kontrol.
Centang kotak Akses menggunakan alamat IP internal bidang kontrol dari region mana saja. Alamat IP internal dari region Google Cloud mana pun dapat mengakses endpoint internal bidang kontrol.
Pilih Enforce authorized networks on the control plane's internal endpoint. Hanya alamat IP yang Anda tentukan dalam daftar Tambahkan jaringan yang diizinkan yang dapat mengakses endpoint internal bidang kontrol. Endpoint internal diaktifkan secara default.
Pilih Tambahkan alamat IP eksternal ke jaringan yang diizinkan. Google Cloud Semua alamat IP publik dari Google Cloud dapat mengakses bidang kontrol.
gcloud
Anda dapat mengonfigurasi alamat IP yang dapat mengakses endpoint eksternal dan internal bidang kontrol menggunakan flag berikut:
enable-private-endpoint
: Menentukan bahwa akses ke endpoint eksternal dinonaktifkan. Jangan gunakan flag ini jika Anda ingin mengizinkan akses ke bidang kontrol dari alamat IP eksternal. Dalam hal ini, sebaiknya Anda mengontrol akses ke endpoint eksternal dengan tandaenable-master-authorized-networks
.enable-master-authorized-networks:
Menentukan bahwa akses ke endpoint eksternal dibatasi untuk rentang alamat IP yang Anda otorisasi.master-authorized-networks
: Mencantumkan nilai CIDR untuk jaringan yang diizinkan. Daftar ini adalah daftar yang dipisahkan koma. Contoh,8.8.8.8/32,8.8.8.0/24
.Praktik terbaik: Gunakan flag
enable-master-authorized-networks
agar akses ke bidang kontrol dibatasi.enable-authorized-networks-on-private-endpoint
: Menentukan bahwa akses ke endpoint internal dibatasi untuk rentang alamat IP yang Anda otorisasi dengan tandaenable-master-authorized-networks
.no-enable-google-cloud-access
: Menolak akses ke bidang kontrol dari Google Cloud alamat IP eksternal.enable-master-global-access
: Mengizinkan akses dari alamat IP di region Google Cloud lain.Anda dapat terus mengonfigurasi jaringan cluster dengan menentukan isolasi node atau Pod di tingkat cluster.
Anda juga dapat membuat cluster dan menentukan atribut di tingkat cluster, seperti jaringan dan subnet node, jenis stack IP, dan alokasi alamat IP. Untuk mempelajari lebih lanjut, lihat Membuat cluster VPC native.
Mengubah akses bidang kontrol
Untuk mengubah akses bidang kontrol bagi cluster, gunakan gcloud CLI atau konsol Google Cloud .
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik nama cluster di daftar cluster.
Di tab Cluster details, di bagian Control Plane Networking, klik edit.
Pada dialog Edit jaringan bidang kontrol, ubah akses bidang kontrol berdasarkan persyaratan kasus penggunaan Anda.
gcloud
Jalankan perintah berikut dan tambahkan flag yang sesuai dengan kasus penggunaan Anda. Anda dapat menggunakan flag berikut:
enable-dns-access
: Mengaktifkan akses ke bidang kontrol menggunakan endpoint berbasis DNS dari bidang kontrol.enable-ip-access
: Mengaktifkan akses ke bidang kontrol menggunakan alamat IPv4. Jika Anda ingin menonaktifkan endpoint internal dan eksternal bidang kontrol, gunakan flagno-enable-ip-access
.enable-private-endpoint
: Menentukan bahwa akses ke endpoint eksternal dinonaktifkan. Jangan gunakan flag ini jika Anda ingin mengizinkan akses ke bidang kontrol dari alamat IP eksternal. Dalam hal ini, sebaiknya Anda mengontrol akses ke endpoint eksternal dengan tandaenable-master-authorized-networks
.enable-master-authorized-networks:
Menentukan bahwa akses ke endpoint eksternal dibatasi untuk rentang alamat IP yang Anda otorisasi.master-authorized-networks
: Mencantumkan nilai CIDR untuk jaringan yang diizinkan. Daftar ini adalah daftar yang dipisahkan koma. Contoh,8.8.8.8/32,8.8.8.0/24
.Praktik terbaik: Gunakan flag
enable-master-authorized-networks
agar akses ke bidang kontrol dibatasi.enable-authorized-networks-on-private-endpoint
: Menentukan bahwa akses ke endpoint internal dibatasi untuk rentang alamat IP yang Anda otorisasi dengan tandaenable-master-authorized-networks
.no-enable-google-cloud-access
: Menolak akses ke bidang kontrol dari Google Cloud alamat IP eksternal.enable-master-global-access
: Mengizinkan akses dari alamat IP di region Google Cloud lain.gcloud container clusters update CLUSTER_NAME
Ganti
CLUSTER_NAME
dengan nama cluster.
Verifikasi konfigurasi bidang kontrol Anda
Anda dapat melihat endpoint cluster menggunakan gcloud CLI atau konsolGoogle Cloud .
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik nama cluster di daftar cluster.
Di tab Detail cluster, di bagian Bidang kontrol, Anda dapat memeriksa karakteristik berikut dari endpoint bidang kontrol:
- Endpoint DNS mencakup nama endpoint berbasis DNS cluster Anda, jika Anda telah mengaktifkan endpoint ini.
- Akses bidang kontrol menggunakan alamat IPv4 mencakup status endpoint berbasis IP. Jika diaktifkan, Anda dapat melihat informasi endpoint publik dan pribadi.
- Akses menggunakan alamat IP internal bidang kontrol dari region mana saja menampilkan status sebagai Diaktifkan jika bidang kontrol dapat diakses oleh alamat IP Google dari region lain.
- Authorized networks menampilkan daftar CIDR yang dapat mengakses bidang kontrol, jika Anda telah mengaktifkan jaringan yang diizinkan.
- Terapkan jaringan yang diizinkan di endpoint internal bidang kontrol menampilkan status Diaktifkan jika hanya CIDR di kolom Jaringan yang diizinkan yang dapat mengakses endpoint internal.
- Tambahkan Google Cloud alamat IP eksternal ke jaringan yang diizinkan menampilkan status Diaktifkan jika alamat IP eksternal dari Google Cloud dapat mengakses bidang kontrol.
Untuk mengubah atribut apa pun, klik edit Akses bidang kontrol menggunakan alamat IPv4 dan sesuaikan berdasarkan kasus penggunaan Anda.
gcloud
Untuk memverifikasi konfigurasi bidang kontrol, jalankan perintah berikut:
gcloud container clusters describe CLUSTER_NAME
Output memiliki blok controlPlaneEndpointsConfig
yang menjelaskan definisi jaringan. Anda dapat melihat output yang mirip dengan berikut ini:
controlPlaneEndpointsConfig:
dnsEndpointConfig:
allowExternalTraffic: true
endpoint: gke-dc6d549babec45f49a431dc9ca926da159ca-518563762004.us-central1-c.autopush.gke.goog
ipEndpointsConfig:
authorizedNetworksConfig:
cidrBlocks:
- cidrBlock: 8.8.8.8/32
- cidrBlock: 8.8.8.0/24
enabled: true
gcpPublicCidrsAccessEnabled: false
privateEndpointEnforcementEnabled: true
enablePublicEndpoint: false
enabled: true
globalAccess: true
privateEndpoint: 10.128.0.13
Dalam contoh ini, cluster memiliki konfigurasi berikut:
- Endpoint berbasis DNS dan alamat IP diaktifkan.
- Jaringan yang diizinkan diaktifkan dan rentang CIDR ditentukan. Jaringan yang diizinkan ini diterapkan untuk alamat IP internal.
- Akses ke bidang kontrol dari Google Cloud alamat IP eksternal ditolak.
Contoh konfigurasi akses bidang kontrol
Bagian ini menjelaskan konfigurasi contoh isolasi jaringan berikut. Evaluasi contoh ini untuk mengetahui kesamaannya dengan kasus penggunaan Anda:
- Contoh 1: Bidang kontrol dapat diakses dari alamat IP tertentu yang Anda tentukan. Alamat IP ini dapat mencakup alamat IP dari Google Cloud region lain atau alamat IP yang dicadangkan Google.
- Contoh 2: Bidang kontrol tidak dapat diakses oleh alamat IP eksternal mana pun.
Contoh 1: Bidang kontrol dapat diakses dari alamat IP tertentu
Di bagian ini, Anda akan membuat cluster dengan konfigurasi isolasi jaringan berikut:
- Endpoint berbasis DNS bidang kontrol diaktifkan.
- Bidang kontrol mengaktifkan endpoint eksternal selain endpoint internal yang diaktifkan secara default.
- Bidang kontrol memiliki jaringan yang diizinkan yang ditentukan, sehingga hanya jaringan yang diizinkan berikut yang dapat menjangkau bidang kontrol:
- Rentang alamat IP eksternal yang Anda tentukan.
- Semua alamat IP internal di cluster Anda.
- Google Cloud Alamat IP eksternal.
Untuk membuat cluster ini, gunakan Google Cloud CLI atau konsol. Google Cloud
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik add_box Create.
Konfigurasi cluster Anda agar sesuai dengan kebutuhan Anda.
Di menu navigasi, klik Networking.
Di bagian Akses Bidang Kontrol, konfigurasikan endpoint bidang kontrol:
- Centang kotak Akses menggunakan DNS.
- Centang kotak Access using IPV4 addresses.
Pilih Enable authorized networks.
Klik Add authorized network.
Masukkan Name untuk jaringan.
Untuk Network, masukkan rentang CIDR yang ingin Anda berikan akses ke bidang kontrol cluster.
Klik Selesai.
Tambahkan jaringan lain yang diizinkan jika Anda memerlukannya.
Perluas bagian Tampilkan aturan firewall alamat IP.
Pilih Akses menggunakan alamat IP internal bidang kontrol dari region mana pun. Alamat IP internal dari region Google Cloud mana pun dapat mengakses bidang kontrol melalui alamat IP internal.
Pilih Tambahkan alamat IP eksternal ke jaringan yang diizinkan Google Cloud . Semua alamat IP eksternal dari Google Cloud dapat mengakses bidang kontrol.
Anda dapat melanjutkan konfigurasi jaringan cluster dengan menentukan isolasi node atau Pod di tingkat cluster.
gcloud
Jalankan perintah berikut:
gcloud container clusters create-auto CLUSTER_NAME \
--enable-dns-access \
--enable-ip-access \
--enable-master-authorized-networks \
--enable-master-global-access \
--master-authorized-networks CIDR1,CIDR2,...
Ganti kode berikut:
CLUSTER_NAME
: nama cluster GKE.CIDR1,CIDR2,...
: Daftar nilai CIDR untuk jaringan yang diizinkan, yang dipisahkan oleh koma. Contoh,8.8.8.8/32,8.8.8.0/24
.
Contoh 2: Bidang kontrol dapat diakses dari alamat IP internal
Di bagian ini, Anda akan membuat cluster dengan konfigurasi isolasi jaringan berikut:
- Endpoint berbasis DNS bidang kontrol diaktifkan.
- Endpoint eksternal bidang kontrol dinonaktifkan.
- Bidang kontrol telah mengaktifkan jaringan yang diizinkan.
- Semua akses ke bidang kontrol melalui alamat IP internal dari regionGoogle Cloud mana pun diizinkan.
- Alamat IP eksternalGoogle Cloud tidak memiliki akses ke cluster Anda.
Anda dapat membuat cluster ini menggunakan Google Cloud CLI atau Google Cloud konsol.
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik add_box Create.
Konfigurasi cluster Anda agar sesuai dengan kebutuhan Anda.
Di menu navigasi, klik Networking.
Di bagian Akses Bidang Kontrol, konfigurasikan endpoint bidang kontrol:
- Centang kotak Akses menggunakan DNS.
- Centang kotak Access using IPV4 addresses.
Perluas bagian Tampilkan aturan firewall alamat IP.
Hapus centang pada Akses menggunakan alamat IP eksternal bidang kontrol. Bidang kontrol tidak dapat diakses oleh alamat IP eksternal mana pun.
Di bagian Control Plane Access, pilih Enable authorized networks.
Centang kotak Akses menggunakan alamat IP internal bidang kontrol dari region mana saja. Alamat IP internal dari region Google Cloud mana pun dapat mengakses bidang kontrol melalui alamat IP internal.
Anda dapat melanjutkan konfigurasi jaringan cluster dengan menentukan isolasi node atau Pod di tingkat cluster.
gcloud
Jalankan perintah berikut:
gcloud container clusters create-auto CLUSTER_NAME \
--enable-dns-access \
--enable-ip-access \
--enable-private-endpoint \
--enable-master-authorized-networks \
--master-authorized-networks CIDR1,CIDR2,... \
--no-enable-google-cloud-access \
--enable-master-global-access
Ganti kode berikut:
CLUSTER_NAME
: nama cluster.CIDR1,CIDR2,...
: Daftar nilai CIDR untuk jaringan yang diizinkan, yang dipisahkan oleh koma. Contoh,8.8.8.8/32,8.8.8.0/24
.
Mengonfigurasi jaringan cluster
Di bagian ini, Anda akan mengonfigurasi cluster agar memiliki node dengan akses internal (pribadi) atau eksternal (publik). GKE memungkinkan Anda menggabungkan konfigurasi jaringan node, bergantung pada jenis cluster yang Anda gunakan:
- Cluster Standard: Anda dapat membuat atau mengupdate node pool untuk menyediakan node pribadi atau publik dalam cluster yang sama. Misalnya, jika Anda membuat node pool dengan node pribadi, GKE akan menyediakan node-nya hanya dengan alamat IP internal. GKE tidak mengubah node pool yang ada. Anda juga dapat menentukan konfigurasi jaringan default di tingkat cluster. GKE menerapkan konfigurasi jaringan default ini hanya jika konfigurasi jaringan tidak ditentukan untuk node pool baru.
- Cluster Autopilot: Anda dapat membuat atau mengupdate cluster untuk menentukan konfigurasi jaringan default untuk semua workload Anda. GKE menjadwalkan workload baru dan yang sudah ada di node publik atau pribadi berdasarkan konfigurasi Anda. Anda juga dapat menentukan konfigurasi jaringan cluster secara eksplisit untuk setiap workload.
Konfigurasi cluster Anda
Di bagian ini, konfigurasi jaringan cluster di tingkat cluster. GKE mempertimbangkan konfigurasi ini jika node pool atau workload Anda tidak memiliki konfigurasi ini yang ditentukan.
Untuk menentukan konfigurasi tingkat cluster, gunakan Google Cloud CLI atau konsolGoogle Cloud .
Konsol
Membuat cluster
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik add_box Create, lalu di bagian Standard atau Autopilot, klik Configure.
Konfigurasi cluster Anda agar sesuai dengan kebutuhan Anda.
Di menu navigasi, klik Networking.
Di bagian Cluster networking, selesaikan langkah-langkah berikut berdasarkan kasus penggunaan Anda:
- Pilih Aktifkan node pribadi untuk menyediakan node hanya dengan alamat IP internal (node pribadi) yang mencegah klien eksternal mengakses node. Anda dapat mengubah setelan ini kapan saja.
- Batalkan pilihan Aktifkan node pribadi untuk menyediakan node hanya dengan alamat IP eksternal (publik) yang memungkinkan klien eksternal mengakses node.
Di bagian Advanced networking options, konfigurasi atribut tambahan yang kompatibel dengan VPC. Untuk mempelajari lebih lanjut, lihat Membuat cluster VPC native.
Klik Buat.
Memperbarui Cluster yang ada
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik nama cluster di daftar cluster.
Di Private Nodes, di tab Default New Node-Pool Configuration, klik edit Edit Private Nodes.
Pada dialog Edit Private Nodes, lakukan salah satu hal berikut:
- Pilih Aktifkan node pribadi untuk menyediakan node hanya dengan alamat IP internal (node pribadi) yang mencegah klien eksternal mengakses node. Anda dapat mengubah setelan ini kapan saja.
- Batalkan pilihan Aktifkan node pribadi untuk menyediakan node hanya dengan alamat IP eksternal (publik) yang memungkinkan klien eksternal mengakses node.
Klik Simpan perubahan.
gcloud
Gunakan salah satu flag berikut untuk menentukan jaringan cluster:
enable-private-nodes
: Untuk menyediakan node dengan hanya alamat IP internal (node pribadi). Pertimbangkan kondisi berikut saat menggunakan tanda ini:- Flag
enable-ip-alias
diperlukan saat menggunakanenable-private-nodes
. - Flag
master-ipv4-cidr
bersifat opsional untuk membuat subnet pribadi. Jika Anda menggunakan flag ini, GKE akan membuat subnet baru yang menggunakan nilai yang Anda tentukan dimaster-ipv4-cidr
dan menggunakan subnet baru untuk menyediakan alamat IP internal bagi bidang kontrol.
- Flag
no-enable-private-nodes
: Untuk menyediakan node dengan hanya alamat IP eksternal (node publik).
Di cluster Autopilot, buat atau update cluster dengan flag enable-private-nodes
.
Untuk membuat cluster, gunakan perintah berikut:
gcloud container clusters create-auto CLUSTER_NAME \ --enable-private-nodes \ --enable-ip-alias
Untuk mengupdate cluster, gunakan perintah berikut.
gcloud container clusters update CLUSTER_NAME \ --enable-private-nodes \ --enable-ip-alias
Update cluster hanya berlaku setelah semua node pool dijadwalkan ulang. Proses ini mungkin memerlukan waktu beberapa jam.
Di cluster Standar, buat atau perbarui cluster dengan
flag enable-private-nodes
.
Untuk membuat cluster, gunakan perintah berikut:
gcloud container clusters create CLUSTER_NAME \ --enable-private-nodes \ --enable-ip-alias
Untuk mengupdate cluster, gunakan perintah berikut:
gcloud container clusters update CLUSTER_NAME \ --enable-private-nodes \ --enable-ip-alias
Update cluster hanya berlaku pada node pool baru. GKE tidak memperbarui konfigurasi ini pada node pool yang ada.
Konfigurasi cluster digantikan oleh konfigurasi jaringan di tingkat node pool atau workload.
Mengonfigurasi node pool atau workload Anda
Untuk mengonfigurasi node pribadi atau publik di tingkat workload untuk cluster Autopilot, atau node pool untuk cluster Standard, gunakan Google Cloud CLI atau konsolGoogle Cloud . Jika Anda tidak menentukan konfigurasi jaringan di tingkat workload atau node pool, GKE akan menerapkan konfigurasi default di tingkat cluster.
Konsol
Di cluster Standard, selesaikan langkah-langkah berikut:
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Di halaman Cluster details, klik nama cluster yang ingin diubah.
Klik add_box Add Node Pool.
Konfigurasi kotak centang Enable private nodes berdasarkan kasus penggunaan Anda:
- Pilih Aktifkan node pribadi untuk menyediakan node hanya dengan alamat IP internal (node pribadi).
- Batalkan pilihan Aktifkan node pribadi untuk menyediakan node hanya dengan alamat IP eksternal (publik) yang memungkinkan klien eksternal mengakses node. Anda dapat mengubah konfigurasi ini kapan saja.
Konfigurasikan node pool baru.
Klik Buat.
Untuk mempelajari lebih lanjut pengelolaan node pool, lihat Menambahkan dan mengelola node pool.
gcloud
Di cluster Autopilot dan di node pool Standard yang menggunakan penyediaan otomatis node, tambahkan
nodeSelector
berikut ke spesifikasi Pod Anda:cloud.google.com/private-node=true
Gunakan
private-node=true
untuk menjadwalkan Pod di node yang hanya memiliki alamat IP internal (node pribadi).GKE membuat ulang Pod Anda di node pribadi atau node publik, berdasarkan konfigurasi Anda. Untuk menghindari gangguan workload, migrasikan setiap workload secara independen dan pantau migrasi.
Di cluster Standard, 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 \ --enable-ip-alias
Ganti kode berikut:
NODE_POOL_NAME
: nama node pool yang ingin Anda edit.CLUSTER_NAME
: nama cluster yang ada.
Gunakan salah satu flag berikut untuk menentukan konfigurasi jaringan node pool:
enable-private-nodes
: Untuk menyediakan node dengan hanya alamat IP internal (node pribadi).no-enable-private-nodes
: Untuk menyediakan node dengan hanya alamat IP eksternal (node publik).
Konfigurasi lanjutan
Bagian berikut menjelaskan konfigurasi lanjutan yang mungkin Anda inginkan saat mengonfigurasi isolasi jaringan cluster.
Menggunakan Cloud Shell untuk mengakses cluster dengan endpoint eksternal yang dinonaktifkan
Jika endpoint eksternal bidang kontrol cluster Anda dinonaktifkan, Anda tidak dapat mengakses bidang kontrol GKE dengan Cloud Shell. Jika Anda ingin menggunakan Cloud Shell untuk mengakses cluster, sebaiknya aktifkan endpoint berbasis DNS.
Untuk memverifikasi akses ke cluster Anda, selesaikan langkah-langkah berikut:
Jika Anda telah mengaktifkan endpoint berbasis DNS, jalankan perintah berikut untuk mendapatkan kredensial bagi cluster Anda:
gcloud container clusters get-credentials CLUSTER_NAME \ --dns-endpoint
Jika Anda telah mengaktifkan endpoint berbasis IP, jalankan perintah berikut untuk mendapatkan kredensial bagi cluster Anda:
gcloud container clusters get-credentials CLUSTER_NAME \ --project=PROJECT_ID \ --internal-ip
Ganti
PROJECT_ID
dengan project ID Anda.Gunakan
kubectl
di Cloud Shell untuk mengakses cluster Anda:kubectl get nodes
Outputnya mirip dengan hal berikut ini:
NAME STATUS ROLES AGE VERSION gke-cluster-1-default-pool-7d914212-18jv Ready <none> 104m v1.21.5-gke.1302 gke-cluster-1-default-pool-7d914212-3d9p Ready <none> 104m v1.21.5-gke.1302 gke-cluster-1-default-pool-7d914212-wgqf Ready <none> 104m v1.21.5-gke.1302
Perintah get-credentials
otomatis menggunakan endpoint berbasis DNS jika akses endpoint berbasis IP dinonaktifkan.
Menambahkan aturan firewall untuk kasus penggunaan tertentu
Bagian ini menjelaskan cara menambahkan aturan firewall ke cluster. Secara
default, aturan firewall membatasi bidang kontrol cluster agar hanya memulai koneksi TCP
ke node dan Pod Anda pada port 443
(HTTPS) dan 10250
(kubelet).
Untuk beberapa fitur Kubernetes, Anda mungkin perlu menambahkan aturan firewall untuk mengizinkan
akses pada port tambahan. Jangan membuat aturan firewall atau
aturan kebijakan firewall hierarkis
yang memiliki
prioritas lebih tinggi daripada
aturan firewall yang dibuat secara otomatis.
Fitur Kubernetes yang memerlukan aturan firewall tambahan meliputi:
- Webhook akses
- Server API gabungan
- Konversi webhook
- Konfigurasi audit dinamis
- Umumnya, setiap API yang memiliki kolom ServiceReference memerlukan aturan firewall tambahan.
Menambahkan aturan firewall akan mengizinkan traffic dari bidang kontrol cluster ke semua hal berikut:
- Port yang ditentukan dari setiap node (hostPort).
- Port yang ditentukan dari setiap Pod yang berjalan di node ini.
- Port yang ditentukan dari setiap Service yang berjalan di node ini.
Untuk mempelajari aturan firewall, lihat Aturan firewall dalam dokumentasi Cloud Load Balancing.
Untuk menambahkan aturan firewall di cluster, Anda harus merekam blok CIDR bidang kontrol cluster dan target yang digunakan. Setelah mencatat hal ini, Anda dapat membuat aturan.
Lihat blok CIDR bidang kontrol
Anda memerlukan blok CIDR bidang kontrol cluster untuk menambahkan aturan firewall.
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik nama cluster di daftar cluster.
Di tab Detail, di bagian Networking, catat nilai ini di kolom Rentang alamat bidang kontrol.
gcloud
Jalankan perintah berikut:
gcloud container clusters describe CLUSTER_NAME
Ganti CLUSTER_NAME
dengan nama
cluster Anda.
Dalam output perintah, catat nilai di kolom masterIpv4CidrBlock.
Lihat aturan firewall yang ada
Anda perlu menentukan target (dalam hal ini, node tujuan) yang digunakan oleh aturan firewall yang ada di cluster.
Konsol
Buka halaman Firewall policies di konsol Google Cloud .
Pada Tabel filter untuk Aturan firewall VPC, masukkan
gke-CLUSTER_NAME
.
Pada hasilnya, catat nilai di kolom Target.
gcloud
Jalankan perintah berikut:
gcloud compute firewall-rules list \
--filter 'name~^gke-CLUSTER_NAME' \
--format 'table(
name,
network,
direction,
sourceRanges.list():label=SRC_RANGES,
allowed[].map().firewall_rule().list():label=ALLOW,
targetTags.list():label=TARGET_TAGS
)'
Dalam output perintah, catat nilai di kolom Target.
Guna melihat aturan firewall untuk VPC Bersama, tambahkan
flag --project HOST_PROJECT_ID
ke perintah.
Tambahkan aturan firewall
Konsol
Buka halaman Firewall policies di konsol Google Cloud .
Klik add_box Buat Aturan Firewall.
Untuk Nama, masukkan nama aturan firewall.
Dalam daftar Jaringan, pilih jaringan yang relevan.
Di bagian Arah traffic, klik Ingress.
Di bagian Tindakan jika ada kecocokan, klik Izinkan.
Dalam daftar Target, pilih Tag target yang ditentukan.
Untuk Tag target, masukkan nilai target yang Anda catat sebelumnya.
Dalam daftar Filter sumber, pilih Rentang IPv4.
Untuk Rentang IPv4 sumber, masukkan blok CIDR bidang kontrol cluster.
Di bagian Protokol dan port, klikProtokol dan port yang ditentukan, centang kotak untuk protokol yang relevan (tcp atau udp), dan masukkan nomor port di bidang protokol.
Klik Buat.
gcloud
Jalankan perintah berikut:
gcloud compute firewall-rules create FIREWALL_RULE_NAME \
--action ALLOW \
--direction INGRESS \
--source-ranges CONTROL_PLANE_RANGE \
--rules PROTOCOL:PORT \
--target-tags TARGET
Ganti kode berikut:
FIREWALL_RULE_NAME
: nama yang Anda pilih untuk aturan firewall.CONTROL_PLANE_RANGE
: rentang alamat IP bidang kontrol cluster (masterIpv4CidrBlock
) yang Anda kumpulkan sebelumnya.PROTOCOL:PORT
: port dan protokolnya,tcp
atauudp
.TARGET
: nilai target (Targets
) yang Anda kumpulkan sebelumnya.
Guna menambahkan aturan firewall untuk VPC Bersama, tambahkan flag berikut ke perintah:
--project HOST_PROJECT_ID
--network NETWORK_ID
Memberikan akses internet keluar kepada node pribadi
Agar dapat memberikan akses internet keluar untuk node pribadi Anda, seperti untuk mengambil gambar dari registry eksternal, gunakan Cloud NAT untuk membuat dan mengonfigurasi Cloud Router. Cloud NAT memungkinkan node pribadi membuat koneksi keluar melalui internet untuk mengirim dan menerima paket.
Cloud Router memungkinkan semua node Anda di region tersebut menggunakan Cloud NAT untuk semua rentang IP primer dan alias. Cloud Router juga otomatis mengalokasikan alamat IP eksternal untuk gateway NAT.
Untuk mengetahui petunjuk cara membuat dan mengonfigurasi Cloud Router, lihat Membuat konfigurasi Cloud NAT menggunakan Cloud Router dalam dokumentasi Cloud NAT.
Men-deploy aplikasi container Windows Server
Untuk mempelajari cara men-deploy aplikasi container Windows Server ke cluster dengan node pribadi, lihat dokumentasi node pool Windows.