Halaman ini menjelaskan cara mengonfigurasi isolasi jaringan untuk cluster Google Kubernetes Engine (GKE) pada waktu pembuatan cluster.
Rencanakan dan desain isolasi jaringan cluster Anda dengan Network architect, Network administrator, atau tim Network engineer 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 beban kerja 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 native VPC tidak mendukung jaringan lama.
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 platform 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:
- Membuat kebijakan akses dinamis berdasarkan kebijakan IAM.
- Akses platform kontrol dari jaringan VPC lain atau lokasi eksternal tanpa perlu menyiapkan host bastion atau node proxy.
Untuk mengautentikasi dan memberikan otorisasi permintaan guna mengakses endpoint ini,
konfigurasi izin IAM container.clusters.connect
. Untuk
mengonfigurasi izin ini, tetapkan peran IAM berikut ke project Google Cloud Anda:
roles/container.developer
roles/container.viewer
Anda juga dapat menggunakan Kontrol Layanan VPC untuk menambahkan lapisan keamanan ke akses platform kontrol Anda. Kontrol Layanan VPC berfungsi secara konsisten di seluruh Google Cloud API.
Endpoint berbasis IP
Akses ke endpoint bidang kontrol bergantung pada alamat IP sumber dan dikontrol oleh jaringan yang Anda izinkan. Anda dapat mengelola akses ke endpoint berbasis IP di 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 untuk mengizinkan atau menolak 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 internet publik atau alamat IP eksternal Google Cloud tanpa batasan.
- Mengizinkan atau menolak akses dari satu atau semua alamat IP pribadi di cluster.
- Izinkan atau tolak akses dari alamat IP eksternal Google 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 region Google Cloud lainnya.
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 Standar, 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.
Konfigurasikan atribut cluster berdasarkan kebutuhan project Anda.
Di menu navigasi, klik Networking.
Di bagian Akses Panel Kontrol, konfigurasikan endpoint panel kontrol:
- Centang kotak Akses menggunakan DNS untuk mengaktifkan endpoint berbasis DNS bidang kontrol.
- Pilih kotak centang Akses menggunakan alamat IPv4 untuk mengaktifkan endpoint berbasis IP bidang kontrol. Gunakan konfigurasi yang disertakan dalam Menentukan 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 mengaktifkan 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. Hapus tanda ini jika Anda ingin menonaktifkan endpoint internal dan eksternal bidang kontrol.
Gunakan flag yang tercantum di Menentukan alamat IP yang dapat mengakses bidang kontrol untuk menyesuaikan akses ke endpoint berbasis IP.
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 Done.
- Tambahkan jaringan lain yang diizinkan jika Anda memerlukannya.
Menentukan aturan firewall alamat IP bidang kontrol
Untuk menentukan aturan firewall alamat IP panel kontrol, selesaikan langkah-langkah berikut:
- Luaskan bagian Tampilkan aturan firewall alamat IP.
Pilih kotak centang 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.
Pilih kotak centang Akses menggunakan alamat IP internal bidang kontrol dari region mana pun. Alamat IP internal dari region Google Cloud mana pun dapat mengakses endpoint internal bidang kontrol.
Pilih Terapkan jaringan yang diizinkan di endpoint internal bidang kontrol. 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 Google Cloud ke jaringan yang diotorisasi. Semua alamat IP publik dari Google Cloud dapat mengakses panel 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. Hapus tanda ini jika Anda ingin mengizinkan akses ke bidang kontrol dari alamat IP eksternal. Dalam hal ini, sebaiknya Anda mengontrol akses ke endpoint eksternal dengan flagenable-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 flagenable-master-authorized-networks
.no-enable-google-cloud-access
: Menolak akses ke bidang kontrol dari alamat IP eksternal Google Cloud.enable-master-global-access
: Mengizinkan akses dari alamat IP di region Google Cloud lainnya.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 panel 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, pada bagian Control Plane Networking, klik edit.
Pada dialog Edit control plane networking, 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. Hapus tanda ini jika Anda ingin menonaktifkan endpoint internal dan eksternal bidang kontrol.enable-private-endpoint
: Menentukan bahwa akses ke endpoint eksternal dinonaktifkan. Hapus tanda ini jika Anda ingin mengizinkan akses ke bidang kontrol dari alamat IP eksternal. Dalam hal ini, sebaiknya Anda mengontrol akses ke endpoint eksternal dengan flagenable-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 flagenable-master-authorized-networks
.no-enable-google-cloud-access
: Menolak akses ke bidang kontrol dari alamat IP eksternal Google Cloud.enable-master-global-access
: Mengizinkan akses dari alamat IP di region Google Cloud lainnya.gcloud container clusters update CLUSTER_NAME
Ganti
CLUSTER_NAME
dengan nama cluster.
Memverifikasi konfigurasi bidang kontrol
Anda dapat melihat endpoint cluster menggunakan gcloud CLI atau konsol Google Cloud.
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik nama cluster di daftar cluster.
Di tab Detail cluster, pada bagian Bidang kontrol, Anda dapat memeriksa karakteristik endpoint bidang kontrol berikut:
- Endpoint DNS mencakup nama endpoint berbasis DNS dari 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 pun menampilkan status sebagai Diaktifkan saat 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.
- Enforce authorized networks on control plane's internal endpoint menampilkan status Enabled jika hanya CIDR di kolom Authorized networks yang dapat mengakses endpoint internal.
- Tambahkan alamat IP eksternal Google Cloud ke jaringan yang diizinkan akan menampilkan status Diaktifkan jika alamat IP eksternal dari Google Cloud dapat mengakses panel 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 panel kontrol dari alamat IP eksternal Google Cloud ditolak.
Contoh konfigurasi akses bidang kontrol
Bagian ini menjelaskan konfigurasi contoh isolasi jaringan berikut. Evaluasi contoh-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 region Google Cloud 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:
- Bidang kontrol telah mengaktifkan endpoint berbasis DNS.
- Bidang kontrol mengaktifkan endpoint eksternal selain endpoint internal yang diaktifkan secara default.
- Bidang kontrol telah menentukan jaringan yang diizinkan, 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.
- Alamat IP eksternal Google Cloud.
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.
Konfigurasikan cluster Anda agar sesuai dengan persyaratan Anda.
Di menu navigasi, klik Networking.
Di bagian Akses Panel Kontrol, konfigurasikan endpoint panel kontrol:
- Centang kotak Akses menggunakan DNS.
- Centang kotak Akses menggunakan alamat IPV4.
Pilih Aktifkan jaringan yang diizinkan.
Klik Add authorized network.
Masukkan Name untuk jaringan.
Untuk Network, masukkan rentang CIDR yang ingin Anda berikan akses ke bidang kontrol cluster.
Klik Done.
Tambahkan jaringan lain yang diizinkan jika Anda memerlukannya.
Luaskan bagian Tampilkan aturan firewall alamat IP.
Pilih Akses menggunakan alamat IP internal bidang kontrol dari wilayah mana pun. Alamat IP internal dari region Google Cloud mana pun dapat mengakses bidang kontrol melalui alamat IP internal.
Pilih Tambahkan alamat IP eksternal Google Cloud ke jaringan yang diberi otorisasi. Semua alamat IP eksternal dari Google Cloud dapat mengakses panel kontrol.
Anda dapat terus mengonfigurasi 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:
- Bidang kontrol telah mengaktifkan endpoint berbasis DNS.
- Endpoint eksternal dinonaktifkan di bidang kontrol.
- Jaringan yang diizinkan telah diaktifkan di bidang kontrol.
- Semua akses ke panel kontrol melalui alamat IP internal dari region Google Cloud mana pun diizinkan.
- Alamat IP eksternal Google Cloud tidak memiliki akses ke cluster Anda.
Anda dapat membuat cluster ini menggunakan Google Cloud CLI atau konsol Google Cloud.
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik add_box Create.
Konfigurasikan cluster Anda agar sesuai dengan persyaratan Anda.
Di menu navigasi, klik Networking.
Di bagian Akses Panel Kontrol, konfigurasikan endpoint panel kontrol:
- Centang kotak Akses menggunakan DNS.
- Centang kotak Akses menggunakan alamat IPV4.
Luaskan bagian Tampilkan aturan firewall alamat IP.
Batalkan pilihan Akses menggunakan alamat IP eksternal bidang kontrol. Bidang kontrol tidak dapat diakses oleh alamat IP eksternal apa pun.
Di bagian Control Plane Access, pilih Enable authorized networks.
Pilih kotak centang Akses menggunakan alamat IP internal bidang kontrol dari wilayah mana pun. 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 standar: Anda dapat membuat atau memperbarui node pool untuk menyediakan node pribadi atau publik di 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 node pool baru tidak memiliki konfigurasi jaringan yang ditentukan.
- Cluster Autopilot: Anda dapat membuat atau mengupdate cluster untuk menentukan konfigurasi jaringan default untuk semua workload. GKE menjadwalkan workload baru dan yang sudah ada di node publik atau pribadi berdasarkan konfigurasi Anda. Anda juga dapat menentukan konfigurasi jaringan cluster dari setiap beban kerja secara eksplisit.
Konfigurasi cluster Anda
Di bagian ini, konfigurasikan jaringan cluster di tingkat cluster. GKE mempertimbangkan konfigurasi ini jika node pool atau workload Anda tidak memiliki konfigurasi ini.
Untuk menentukan konfigurasi tingkat cluster, gunakan Google Cloud CLI atau Konsol Google 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.
Konfigurasikan cluster Anda agar sesuai dengan persyaratan 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 Enable private nodes untuk menyediakan node hanya dengan alamat IP eksternal (publik) yang memungkinkan klien eksternal mengakses node.
Di bagian Advanced networking options, konfigurasikan atribut native VPC tambahan. Untuk mempelajari lebih lanjut, lihat Membuat cluster VPC native.
Klik Create.
Mengupdate Cluster yang ada
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik nama cluster di daftar cluster.
Di Private Nodes, pada tab Default New Node-Pool Configuration, klik edit Edit Private Nodes.
Pada dialog Edit Private Nodes, lakukan salah satu tindakan 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 Enable private nodes 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 hanya dengan 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 untuk bidang kontrol.
- Flag
no-enable-private-nodes
: Untuk menyediakan node hanya dengan 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 telah dijadwalkan ulang. Proses ini mungkin memerlukan waktu beberapa jam.
Di cluster Standar, buat atau update 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 di node pool yang ada.
Konfigurasi cluster ditimpa oleh konfigurasi jaringan di kumpulan node atau tingkat workload.
Mengonfigurasi node pool atau workload
Untuk mengonfigurasi node pribadi atau publik di tingkat workload untuk cluster Autopilot, atau node pool untuk cluster Standar, gunakan Google Cloud CLI atau Konsol Google 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.
Konfigurasikan kotak centang Aktifkan node pribadi berdasarkan kasus penggunaan Anda:
- Pilih Aktifkan node pribadi untuk menyediakan node hanya dengan alamat IP internal (node pribadi).
- Batalkan pilihan Enable private nodes 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 Create.
Untuk mempelajari pengelolaan node pool lebih lanjut, lihat Menambahkan dan mengelola node pool.
gcloud
Di cluster Autopilot, untuk meminta GKE menjadwalkan Pod di node pribadi, tambahkan
nodeSelector
berikut ke spesifikasi Pod Anda:cloud.google.com/private-node=true
Gunakan
private-node=true
dinodeSelector
Pod untuk menjadwalkan Pod di node hanya dengan alamat IP internal (node pribadi).GKE membuat ulang Pod Anda di node pribadi atau node publik, berdasarkan konfigurasi Anda. Untuk menghindari gangguan beban kerja, migrasikan setiap beban kerja secara independen dan pantau migrasi tersebut.
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 hanya dengan alamat IP internal (node pribadi).no-enable-private-nodes
: Untuk menyediakan node hanya dengan 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 dinonaktifkan
Jika endpoint eksternal panel kontrol cluster dinonaktifkan, Anda tidak dapat mengakses panel kontrol GKE dengan Cloud Shell. Jika ingin menggunakan Cloud Shell untuk mengakses cluster, sebaiknya aktifkan endpoint berbasis DNS.
Untuk memverifikasi akses ke cluster, selesaikan langkah-langkah berikut:
Jika Anda telah mengaktifkan endpoint berbasis DNS, jalankan perintah berikut untuk mendapatkan kredensial cluster Anda:
gcloud container clusters get-credentials CLUSTER_NAME \ --dns-endpoint
Jika Anda telah mengaktifkan endpoint berbasis IP, jalankan perintah berikut untuk mendapatkan kredensial 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 pada port 443
(HTTPS) dan 10250
(kubelet).
Untuk beberapa fitur Kubernetes, Anda mungkin perlu menambahkan aturan firewall untuk mengizinkan
akses pada port tambahan. Jangan buat 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.
Untuk 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 Create.
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.