Halaman ini menjelaskan cara membuat cluster Google Kubernetes Engine (GKE) pribadi, yang merupakan jenis cluster VPC native. Dalam cluster pribadi, node hanya memiliki alamat IP internal, yang berarti node dan Pod diisolasi dari internet secara default. Anda dapat memilih untuk tidak memiliki akses klien, akses terbatas, atau akses tidak terbatas ke platform kontrol.
Batas dan pembatasan
Cluster pribadi harus berupa 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
.
Pastikan Anda memiliki izin yang tepat untuk membuat cluster. Minimal, Anda harus merupakan Admin Cluster Kubernetes Engine.
Pastikan Anda memiliki rute ke Gateway Internet Default.
Membuat cluster pribadi tanpa akses klien ke endpoint publik
Di bagian ini, Anda akan membuat resource berikut:
- Cluster pribadi bernama
private-cluster-0
yang memiliki node pribadi dan tidak memiliki akses klien ke endpoint publik. - Jaringan bernama
my-net-0
. - Subnet bernama
my-subnet-0
.
Konsol
Membuat jaringan dan subnet
Buka halaman jaringan VPC di Google Cloud Console.
Klik add_box Buat jaringan VPC.
Untuk Nama, masukkan
my-net-0
.Untuk Mode pembuatan subnet, klik Kustom.
Di bagian Subnet baru, untuk Nama, masukkan
my-subnet-0
.Dalam daftar Region, pilih wilayah yang Anda inginkan.
Untuk Rentang alamat IP, masukkan
10.2.204.0/22
.Setel Akses Google Pribadi ke On.
Klik Selesai.
Klik Buat.
Membuat cluster pribadi
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik
Create, lalu di bagian Standard atau Autopilot, klik Configure.Untuk Nama, tentukan
private-cluster-0
.Di panel navigasi, klik Networking.
Dalam daftar Jaringan, pilih my-net-0.
Dalam daftar Subnet node, pilih my-subnet-0.
Pilih tombol pilihan Cluster pribadi.
Hapus centang pada kotak Akses bidang kontrol menggunakan alamat IP eksternalnya.
(Opsional untuk Autopilot): Setel Rentang IP bidang kontrol ke
172.16.0.32/28
.Klik Create.
gcloud
Untuk cluster Autopilot, jalankan perintah berikut:
gcloud container clusters create-auto private-cluster-0 \ --create-subnetwork name=my-subnet-0 \ --enable-master-authorized-networks \ --enable-private-nodes \ --enable-private-endpoint
Untuk cluster Standard, jalankan perintah berikut:
gcloud container clusters create private-cluster-0 \ --create-subnetwork name=my-subnet-0 \ --enable-master-authorized-networks \ --enable-ip-alias \ --enable-private-nodes \ --enable-private-endpoint \ --master-ipv4-cidr 172.16.0.32/28
dengan:
--create-subnetwork name=my-subnet-0
menyebabkan GKE membuat subnet bernamamy-subnet-0
secara otomatis.--enable-master-authorized-networks
menentukan bahwa akses ke endpoint publik dibatasi untuk rentang alamat IP yang Anda otorisasi.
--enable-ip-alias
membuat cluster VPC native (tidak diperlukan untuk Autopilot).
--enable-private-nodes
menunjukkan bahwa node cluster tidak memiliki alamat IP eksternal.--enable-private-endpoint
menunjukkan bahwa cluster dikelola menggunakan alamat IP internal endpoint API bidang kontrol.
--master-ipv4-cidr 172.16.0.32/28
menentukan rentang alamat IP internal untuk bidang kontrol (opsional untuk Autopilot). Setelan ini bersifat permanen untuk cluster ini dan harus unik dalam VPC. Penggunaan alamat IP internal non RFC 1918 didukung.
API
Untuk membuat cluster tanpa bidang kontrol yang dapat dijangkau secara publik, tentukan
kolom enablePrivateEndpoint: true
di resource privateClusterConfig
.
Pada tahap ini, berikut adalah satu-satunya alamat IP yang memiliki akses ke bidang kontrol:
- Rentang utama
my-subnet-0
. - Rentang sekunder yang digunakan untuk Pod.
Misalnya, Anda membuat VM dalam rentang utama my-subnet-0
.
Kemudian di VM tersebut, Anda dapat
mengonfigurasi kubectl
untuk menggunakan alamat IP internal
dari bidang kontrol.
Jika ingin mengakses bidang kontrol dari luar my-subnet-0
, Anda harus mengizinkan
setidaknya satu rentang alamat agar dapat mengakses endpoint pribadi.
Misalkan Anda memiliki VM yang berada di jaringan default, di region yang sama dengan
cluster Anda, tetapi tidak di my-subnet-0
.
Contoh:
my-subnet-0
:10.0.0.0/22
- Rentang sekunder pod:
10.52.0.0/14
- Alamat VM:
10.128.0.3
Anda dapat mengizinkan VM untuk mengakses bidang kontrol menggunakan perintah ini:
gcloud container clusters update private-cluster-0 \
--enable-master-authorized-networks \
--master-authorized-networks 10.128.0.3/32
Membuat cluster pribadi dengan akses terbatas ke endpoint publik
Saat membuat cluster pribadi menggunakan konfigurasi ini, Anda dapat memilih untuk menggunakan subnet yang dihasilkan secara otomatis atau subnet kustom.
Menggunakan subnet yang dihasilkan secara otomatis
Di bagian ini, Anda akan membuat cluster pribadi bernama private-cluster-1
tempat
GKE otomatis menghasilkan subnet untuk node cluster Anda.
Subnet mengaktifkan Akses Google Pribadi. Di subnet,
GKE otomatis membuat dua rentang sekunder: satu untuk Pod
dan satu untuk Service.
Anda dapat menggunakan Google Cloud CLI atau GKE API.
gcloud
Untuk cluster Autopilot, jalankan perintah berikut:
gcloud container clusters create-auto private-cluster-1 \ --create-subnetwork name=my-subnet-1 \ --enable-master-authorized-networks \ --enable-private-nodes
Untuk cluster Standard, jalankan perintah berikut:
gcloud container clusters create private-cluster-1 \ --create-subnetwork name=my-subnet-1 \ --enable-master-authorized-networks \ --enable-ip-alias \ --enable-private-nodes \ --master-ipv4-cidr 172.16.0.0/28
dengan:
--create-subnetwork name=my-subnet-1
menyebabkan GKE membuat subnet bernamamy-subnet-1
secara otomatis.--enable-master-authorized-networks
menentukan bahwa akses ke endpoint publik dibatasi untuk rentang alamat IP yang Anda otorisasi.
--enable-ip-alias
membuat cluster VPC native (tidak diperlukan untuk Autopilot).
--enable-private-nodes
menunjukkan bahwa node cluster tidak memiliki alamat IP eksternal.
--master-ipv4-cidr 172.16.0.0/28
menentukan rentang alamat IP internal untuk bidang kontrol (opsional untuk Autopilot). Setelan ini bersifat permanen untuk cluster ini dan harus unik dalam VPC. Penggunaan alamat IP internal non RFC 1918 didukung.
API
Tentukan kolom privateClusterConfig
di resource Cluster
API:
{
"name": "private-cluster-1",
...
"ipAllocationPolicy": {
"createSubnetwork": true,
},
...
"privateClusterConfig" {
"enablePrivateNodes": boolean # Creates nodes with internal IP addresses only
"enablePrivateEndpoint": boolean # false creates a cluster control plane with a publicly-reachable endpoint
"masterIpv4CidrBlock": string # CIDR block for the cluster control plane
"privateEndpoint": string # Output only
"publicEndpoint": string # Output only
}
}
Pada tahap ini, berikut adalah satu-satunya alamat IP yang memiliki akses ke bidang kontrol cluster:
- Rentang utama
my-subnet-1
. - Rentang sekunder yang digunakan untuk Pod.
Misalkan Anda memiliki sekelompok komputer, di luar jaringan VPC,
yang memiliki alamat dalam rentang 203.0.113.0/29
. Anda dapat mengizinkan mesin
tersebut untuk mengakses endpoint publik dengan memasukkan perintah ini:
gcloud container clusters update private-cluster-1 \
--enable-master-authorized-networks \
--master-authorized-networks 203.0.113.0/29
Sekarang, berikut adalah satu-satunya alamat IP yang memiliki akses ke bidang kontrol:
- Rentang utama
my-subnet-1
. - Rentang sekunder yang digunakan untuk Pod.
- Rentang alamat yang telah Anda otorisasi, misalnya,
203.0.113.0/29
.
Menggunakan subnet kustom
Di bagian ini, Anda akan membuat resource berikut:
- Cluster pribadi bernama
private-cluster-2
. - Jaringan bernama
my-net-2
. - Subnet bernama
my-subnet-2
, dengan rentang utama192.168.0.0/20
, untuk node cluster Anda. Subnet Anda memiliki rentang alamat sekunder berikut:my-pods
untuk alamat IP Pod.my-services
untuk alamat IP Service.
Konsol
Membuat jaringan, subnet, dan rentang sekunder
Buka halaman jaringan VPC di Google Cloud Console.
Klik add_box Buat jaringan VPC.
Untuk Nama, masukkan
my-net-2
.Untuk Mode pembuatan subnet, klik Kustom.
Di bagian Subnet baru, untuk Nama, masukkan
my-subnet-2
.Dalam daftar Region, pilih wilayah yang Anda inginkan.
Untuk Rentang alamat IP, masukkan
192.168.0.0/20
.Klik Buat rentang IP sekunder. Untuk Nama rentang subnet, masukkan
my-services
, dan untuk Rentang IP sekunder, masukkan10.0.32.0/20
.Klik Tambahkan rentang IP. Untuk Nama rentang subnet, masukkan
my-pods
, dan untuk Rentang IP sekunder, masukkan10.4.0.0/14
.Setel Akses Google Pribadi ke On.
Klik Selesai.
Klik Buat.
Membuat cluster pribadi
Buat cluster pribadi yang menggunakan subnet Anda:
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik
Create, lalu di bagian Standard atau Autopilot, klik Configure.Untuk Name, masukkan
private-cluster-2
.Dari panel navigasi, klik Networking.
Pilih tombol pilihan Cluster pribadi.
Untuk membuat bidang kontrol yang dapat diakses dari rentang IP eksternal yang diizinkan, pastikan kotak Akses bidang kontrol menggunakan alamat IP eksternalnya dicentang.
(Opsional untuk Autopilot) Setel Rentang IP bidang kontrol ke
172.16.0.16/28
.Dalam daftar Jaringan, pilih my-net-2.
Dalam daftar Subnet node, pilih my-subnet-2.
Hapus centang pada kotak Buat rentang sekunder secara otomatis.
Dalam daftar Rentang CIDR sekunder Pod, pilih my-pods.
Dalam daftar Rentang CIDR sekunder Service, pilih my-services.
Centang kotak Aktifkan jaringan yang diizinkan bidang kontrol.
Klik Create.
gcloud
Membuat jaringan
Pertama, buat jaringan untuk cluster Anda. Perintah berikut akan membuat
jaringan, my-net-2
:
gcloud compute networks create my-net-2 \
--subnet-mode custom
Membuat subnet dan rentang sekunder
Selanjutnya, buat subnet, my-subnet-2
, di jaringan my-net-2
, dengan
rentang sekunder my-pods
untuk Pod dan my-services
untuk Service:
gcloud compute networks subnets create my-subnet-2 \
--network my-net-2 \
--range 192.168.0.0/20 \
--secondary-range my-pods=10.4.0.0/14,my-services=10.0.32.0/20 \
--enable-private-ip-google-access
Membuat cluster pribadi
Sekarang, buat cluster pribadi, private-cluster-2
, menggunakan jaringan,
subnet, dan rentang sekunder yang Anda buat.
Untuk cluster Autopilot, jalankan perintah berikut:
gcloud container clusters create-auto private-cluster-2 \ --enable-master-authorized-networks \ --network my-net-2 \ --subnetwork my-subnet-2 \ --cluster-secondary-range-name my-pods \ --services-secondary-range-name my-services \ --enable-private-nodes
Untuk cluster Standard, jalankan perintah berikut:
gcloud container clusters create private-cluster-2 \ --enable-master-authorized-networks \ --network my-net-2 \ --subnetwork my-subnet-2 \ --cluster-secondary-range-name my-pods \ --services-secondary-range-name my-services \ --enable-private-nodes \ --enable-ip-alias \ --master-ipv4-cidr 172.16.0.16/28 \ --no-enable-basic-auth \ --no-issue-client-certificate
Pada tahap ini, berikut adalah satu-satunya alamat IP yang memiliki akses ke bidang kontrol:
- Rentang utama
my-subnet-2
. - Rentang sekunder
my-pods
.
Misalkan Anda memiliki grup mesin, di luar my-net-2
, yang memiliki alamat
dalam rentang 203.0.113.0/29
. Anda dapat mengizinkan mesin tersebut untuk mengakses
endpoint publik dengan memasukkan perintah ini:
gcloud container clusters update private-cluster-2 \
--enable-master-authorized-networks \
--master-authorized-networks 203.0.113.0/29
Pada tahap ini, berikut adalah satu-satunya alamat IP yang memiliki akses ke bidang kontrol:
- Rentang utama
my-subnet-2
. - Rentang sekunder
my-pods
. - Rentang alamat yang telah Anda otorisasi, misalnya,
203.0.113.0/29
.
Menggunakan Cloud Shell untuk mengakses cluster pribadi
Jika telah mengaktifkan endpoint pribadi, Anda tidak dapat mengakses bidang kontrol GKE dengan Cloud Shell.
Jika ingin menggunakan Cloud Shell untuk mengakses cluster, Anda harus menambahkan alamat IP eksternal Cloud Shell ke daftar jaringan yang diizinkan milik cluster.
Untuk melakukannya:
Di jendela command line Cloud Shell, gunakan
dig
untuk menemukan alamat IP eksternal Cloud Shell Anda:dig +short myip.opendns.com @resolver1.opendns.com
Tambahkan alamat eksternal Cloud Shell ke daftar jaringan yang diizinkan pada cluster Anda:
gcloud container clusters update CLUSTER_NAME \ --enable-master-authorized-networks \ --master-authorized-networks EXISTING_AUTH_NETS,SHELL_IP/32
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Anda.EXISTING_AUTH_NETS
: alamat IP dari daftar jaringan resmi yang ada. Anda dapat menemukan jaringan yang diizinkan di konsol atau dengan menjalankan perintah berikut:gcloud container clusters describe CLUSTER_NAME --format "flattened(masterAuthorizedNetworksConfig.cidrBlocks[])"
SHELL_IP
: alamat IP eksternal Cloud Shell Anda.
Dapatkan kredensial agar Anda dapat menggunakan
kubectl
untuk mengakses cluster: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
Membuat cluster pribadi dengan akses tidak terbatas ke endpoint publik
Di bagian ini, Anda akan membuat cluster pribadi tempat alamat IP apa pun dapat mengakses bidang kontrol.
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik
Create, lalu di bagian Standard atau Autopilot, klik Configure.Untuk Name, masukkan
private-cluster-3
.Di panel navigasi, klik Networking.
Pilih opsi Cluster pribadi.
Pastikan kotak Akses bidang kontrol menggunakan alamat IP eksternalnya tetap dicentang.
(Opsional untuk Autopilot) Setel Rentang IP bidang kontrol ke
172.16.0.32/28
.Biarkan Jaringan dan Node subnet disetel ke
default
. Hal ini menyebabkan GKE menghasilkan subnet untuk cluster Anda.Hapus centang pada kotak Aktifkan jaringan yang diizinkan bidang kontrol.
Klik Create.
gcloud
Untuk cluster Autopilot, jalankan perintah berikut:
gcloud container clusters create-auto private-cluster-3 \ --create-subnetwork name=my-subnet-3 \ --no-enable-master-authorized-networks \ --enable-private-nodes
Untuk cluster Standard, jalankan perintah berikut:
gcloud container clusters create private-cluster-3 \ --create-subnetwork name=my-subnet-3 \ --no-enable-master-authorized-networks \ --enable-ip-alias \ --enable-private-nodes \ --master-ipv4-cidr 172.16.0.32/28
dengan:
--create-subnetwork name=my-subnet-3
menyebabkan GKE membuat subnet bernamamy-subnet-3
secara otomatis.--no-enable-master-authorized-networks
menonaktifkan jaringan yang diizinkan untuk cluster.
--enable-ip-alias
membuat cluster VPC native (tidak diperlukan untuk Autopilot).
--enable-private-nodes
menunjukkan bahwa node cluster tidak memiliki alamat IP eksternal.
--master-ipv4-cidr 172.16.0.32/28
menentukan rentang alamat IP internal untuk bidang kontrol (opsional untuk Autopilot). Setelan ini bersifat permanen untuk cluster ini dan harus unik dalam VPC. Penggunaan alamat IP internal non RFC 1918 didukung.
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
Memastikan node tidak memiliki alamat IP eksternal
Setelah Anda membuat cluster pribadi, pastikan node cluster tersebut tidak memiliki alamat IP eksternal.
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Pada daftar cluster, klik nama cluster.
Untuk cluster Autopilot, di bagian Dasar-dasar cluster, centang kolom Endpoint eksternal. Nilainya adalah Disabled.
Untuk cluster Standard, lakukan hal berikut:
- Di halaman Cluster, klik tab Node.
- Di bagian Node Pool, klik nama node pool.
- Di halaman Detail node pool, di bagian Grup instance, klik nama grup instance Anda. Misalnya, gke-private-cluster-0-default-pool-5c5add1f-grp`.
- Dalam daftar instance, pastikan instance Anda tidak memiliki alamat IP eksternal.
gcloud
Jalankan perintah berikut:
kubectl get nodes --output wide
Kolom EXTERNAL-IP
output kosong:
STATUS ... VERSION EXTERNAL-IP OS-IMAGE ...
Ready v.8.7-gke.1 Container-Optimized OS
Ready v1.8.7-gke.1 Container-Optimized OS
Ready v1.8.7-gke.1 Container-Optimized OS
Memverifikasi penggunaan ulang peering VPC di cluster
Setiap cluster pribadi yang Anda buat setelah 15 Januari 2020 akan menggunakan kembali koneksi Peering Jaringan VPC.
Anda dapat memeriksa apakah cluster pribadi Anda menggunakan ulang koneksi Peering Jaringan VPC menggunakan gcloud CLI atau konsol Google Cloud.
Konsol
Periksa baris peering VPC di halaman Detail cluster. Jika cluster Anda
menggunakan ulang koneksi peering VPC, outputnya akan dimulai dengan gke-n
.
Contohnya, gke-n34a117b968dee3b2221-93c6-40af-peer
gcloud
gcloud container clusters describe CLUSTER_NAME \
--format="value(privateClusterConfig.peeringName)"
Jika cluster Anda menggunakan ulang koneksi peering VPC, outputnya
akan dimulai dengan gke-n
. Contoh, gke-n34a117b968dee3b2221-93c6-40af-peer
.
Konfigurasi cluster lanjutan
Bagian ini menjelaskan beberapa konfigurasi lanjutan yang mungkin Anda inginkan saat membuat cluster pribadi.
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.
Membuat cluster pribadi di jaringan VPC Bersama
Untuk mempelajari cara membuat cluster pribadi di jaringan VPC Bersama, lihat Membuat cluster pribadi di VPC Bersama.
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.
Mengakses endpoint pribadi bidang kontrol secara global
Endpoint pribadi bidang kontrol diimplementasikan oleh Load Balancer Jaringan passthrough internal di jaringan VPC bidang kontrol. Klien yang bersifat internal atau terhubung melalui tunnel Cloud VPN dan lampiran VLAN Cloud Interconnect dapat mengakses Load Balancer Jaringan passthrough internal.
Secara default, klien ini harus berlokasi di region yang sama dengan load balancer.
Jika Anda mengaktifkan akses global bidang kontrol, Load Balancer Jaringan passthrough internal dapat diakses secara global: VM klien dan sistem lokal dapat terhubung ke endpoint pribadi bidang kontrol, sesuai dengan konfigurasi jaringan yang diizinkan, dari wilayah mana pun.
Untuk mengetahui informasi selengkapnya tentang Load Balancer Jaringan passthrough internal dan akses global, lihat Load balancer internal dan jaringan yang terhubung.
Mengaktifkan akses global endpoint pribadi bidang kontrol
Secara default, akses global tidak diaktifkan untuk endpoint pribadi bidang kontrol saat Anda membuat cluster pribadi. Untuk mengaktifkan akses global bidang kontrol, gunakan alat berikut berdasarkan mode cluster Anda:
- Untuk cluster Standard, Anda dapat menggunakan
Google Cloud CLI
atau konsol Google Cloud.
- Untuk cluster Autopilot, Anda dapat menggunakan resource Terraform
google_container_cluster
.
Konsol
Untuk membuat cluster pribadi baru dengan akses global bidang kontrol aktif, lakukan langkah-langkah berikut:
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik
Create, lalu di bagian Standard atau Autopilot, klik Configure.Masukkan Nama.
Di panel navigasi, klik Networking.
Pilih Cluster pribadi.
Centang kotak Aktifkan Akses global bidang kontrol.
Konfigurasikan kolom lain sesuai keinginan Anda.
Klik Buat.
Guna mengaktifkan akses global bidang kontrol untuk cluster pribadi yang ada, lakukan langkah-langkah berikut:
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Di samping cluster yang ingin diedit, klik more_vert Tindakan, lalu klik edit Edit.
Di bagian Networking, di samping Akses global bidang kontrol, klik edit Edit.
Pada dialog Edit akses global bidang kontrol, centang kotak Aktifkan Akses global bidang kontrol.
Klik Simpan Perubahan.
gcloud
Tambahkan flag --enable-master-global-access
untuk membuat cluster pribadi dengan
akses global ke endpoint pribadi bidang kontrol yang aktif:
gcloud container clusters create CLUSTER_NAME \
--enable-private-nodes \
--enable-master-global-access
Anda juga dapat mengaktifkan akses global ke endpoint pribadi bidang kontrol untuk cluster pribadi yang sudah ada:
gcloud container clusters update CLUSTER_NAME \
--enable-master-global-access
Memverifikasi akses global endpoint pribadi bidang kontrol
Anda dapat memverifikasi bahwa akses global ke endpoint pribadi bidang kontrol diaktifkan dengan menjalankan perintah berikut dan melihat outputnya.
gcloud container clusters describe CLUSTER_NAME
Outputnya mencakup bagian privateClusterConfig
tempat Anda dapat melihat
status masterGlobalAccessConfig
.
privateClusterConfig:
enablePrivateNodes: true
masterIpv4CidrBlock: 172.16.1.0/28
peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer
privateEndpoint: 172.16.1.2
publicEndpoint: 34.68.128.12
masterGlobalAccessConfig:
enabled: true
Mengakses endpoint pribadi bidang kontrol dari jaringan lain
Saat membuat
cluster pribadi GKE
dan menonaktifkan endpoint publik bidang kontrol, Anda harus mengelola cluster
dengan alat seperti kubectl
menggunakan endpoint pribadi bidang kontrolnya. Anda dapat
mengakses endpoint pribadi bidang kontrol cluster dari jaringan lain,
termasuk jaringan berikut:
- Jaringan lokal yang terhubung ke jaringan VPC cluster menggunakan tunnel Cloud VPN atau lampiran VLAN Cloud Interconnect
- Jaringan VPC lain yang terhubung ke jaringan VPC cluster menggunakan tunnel Cloud VPN
Diagram berikut menunjukkan jalur perutean antara jaringan lokal dan node bidang kontrol GKE:
Agar sistem di jaringan lain dapat terhubung ke endpoint pribadi bidang kontrol cluster, selesaikan persyaratan berikut:
Identifikasi dan catat informasi jaringan yang relevan untuk cluster dan endpoint pribadi bidang kontrolnya.
gcloud container clusters describe CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --format="yaml(network, privateClusterConfig)"
Ganti kode berikut:
CLUSTER_NAME
: nama untuk cluster.COMPUTE_LOCATION
: Lokasi Compute Engine cluster
Dari output perintah, identifikasi dan catat informasi berikut untuk digunakan pada langkah berikutnya:
network
: Nama atau URI untuk jaringan VPC cluster.privateEndpoint
: Alamat IPv4 endpoint pribadi bidang kontrol atau rentang CIDR IPv4 yang mencakup (masterIpv4CidrBlock
).peeringName
: Nama koneksi Peering Jaringan VPC yang digunakan untuk menghubungkan jaringan VPC cluster ke jaringan VPC bidang kontrol.
Outputnya serupa dengan yang berikut ini:
network: cluster-network privateClusterConfig: enablePrivateNodes: true masterGlobalAccessConfig: enabled: true masterIpv4CidrBlock: 172.16.1.0/28 peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer privateEndpoint: 172.16.1.2 publicEndpoint: 34.68.128.12
Pertimbangkan untuk mengaktifkan akses global endpoint pribadi bidang kontrol agar paket dapat masuk dari region mana pun di jaringan VPC cluster. Dengan mengaktifkan akses global endpoint pribadi bidang kontrol, Anda dapat terhubung ke endpoint pribadi menggunakan tunnel Cloud VPN atau lampiran VLAN Cloud Interconnect yang terletak di region mana pun, bukan hanya di region cluster.
Buat rute untuk alamat IP
privateEndpoint
atau rentang alamat IPmasterIpv4CidrBlock
di jaringan lain. Karena alamat IP endpoint pribadi bidang kontrol selalu cocok dalam rentang alamat IPv4masterIpv4CidrBlock
, membuat rute untuk alamat IPprivateEndpoint
atau rentang cakupannya akan menyediakan jalur untuk paket dari jaringan lain ke endpoint pribadi bidang kontrol jika:Jaringan lainnya terhubung ke jaringan VPC cluster menggunakan lampiran VLAN Cloud Interconnect atau terowongan Cloud VPN yang menggunakan rute dinamis (BGP): Gunakan rute yang diiklankan kustom Cloud Router. Untuk mengetahui informasi selengkapnya, lihat Menayangkan rentang alamat kustom dalam dokumentasi Cloud Router.
Jaringan lainnya terhubung ke jaringan VPC cluster menggunakan tunnel VPN Klasik yang tidak menggunakan rute dinamis: Anda harus mengonfigurasi rute statis di jaringan lain.
Konfigurasi jaringan VPC cluster untuk mengekspor rute kustomnya dalam hubungan peering ke jaringan VPC bidang kontrol. Google Cloud selalu mengonfigurasi jaringan VPC bidang kontrol untuk mengimpor rute kustom dari jaringan VPC cluster. Langkah ini memberikan jalur untuk paket dari endpoint pribadi bidang kontrol kembali ke jaringan lain.
Untuk mengaktifkan ekspor rute kustom dari jaringan VPC cluster Anda, gunakan perintah berikut:
gcloud compute networks peerings update PEERING_NAME \ --network=CLUSTER_VPC_NETWORK \ --export-custom-routes
Ganti kode berikut:
PEERING_NAME
: nama untuk peering yang menghubungkan jaringan VPC cluster ke jaringan VPC bidang kontrolCLUSTER_VPC_NETWORK
: nama atau URI jaringan VPC cluster
Jika ekspor rute kustom diaktifkan untuk VPC, pembuatan rute yang tumpang-tindih dengan rentang IP Google Cloud dapat merusak cluster Anda.
Untuk mengetahui detail selengkapnya tentang cara memperbarui pertukaran rute untuk koneksi Peering Jaringan VPC yang ada, lihat Memperbarui koneksi peering.
Rute kustom di jaringan VPC cluster mencakup rute yang tujuannya adalah rentang alamat IP di jaringan lain, misalnya, jaringan lokal. Untuk memastikan rute ini menjadi efektif sebagai rute kustom peering di jaringan VPC bidang kontrol, lihat Tujuan yang didukung dari jaringan lain.
Tujuan yang didukung dari jaringan lain
Rentang alamat yang dikirim jaringan lain ke Cloud Router di jaringan VPC cluster harus mematuhi kondisi berikut:
Meskipun VPC cluster Anda mungkin menerima rute default (
0.0.0.0/0
), jaringan VPC bidang kontrol selalu menolak rute default karena sudah memiliki rute default lokal. Jika jaringan lain mengirimkan rute default ke jaringan VPC Anda, jaringan lain tersebut juga harus mengirim tujuan tertentu dari sistem yang perlu terhubung ke endpoint pribadi bidang kontrol. Untuk detail selengkapnya, lihat Urutan pemilihan rute.Jika jaringan VPC bidang kontrol menerima rute yang secara efektif menggantikan rute default, rute tersebut akan memutus konektivitas ke Google Cloud API dan layanan Google, sehingga mengganggu bidang kontrol cluster. Sebagai contoh representatif, jaringan lain tidak boleh mengiklankan rute dengan tujuan
0.0.0.0/1
dan128.0.0.0/1
. Lihat poin sebelumnya untuk mendapatkan alternatif.
Pantau batas Cloud Router, terutama jumlah maksimum tujuan unik untuk rute yang dipelajari.
Melindungi cluster pribadi dengan Kontrol Layanan VPC
Untuk lebih mengamankan cluster pribadi GKE, Anda dapat melindunginya menggunakan Kontrol Layanan VPC.
Kontrol Layanan VPC memberikan keamanan tambahan untuk cluster pribadi GKE Anda guna membantu mengurangi risiko pemindahan data yang tidak sah. Dengan Kontrol Layanan VPC, Anda dapat menambahkan project ke perimeter layanan yang melindungi resource dan layanan dari permintaan yang berasal dari luar perimeter.
Untuk mempelajari perimeter layanan lebih lanjut, lihat Detail dan konfigurasi perimeter layanan.
Jika Anda menggunakan Artifact Registry dengan cluster pribadi GKE dalam perimeter layanan Kontrol Layanan VPC, Anda harus mengonfigurasi perutean ke IP virtual yang dibatasi untuk mencegah pemindahan data yang tidak sah.
Pembersihan
Setelah menyelesaikan tugas di halaman ini, ikuti langkah-langkah berikut untuk menghapus resource guna mencegah timbulnya biaya yang tidak diinginkan pada akun Anda:
Menghapus cluster
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Pilih setiap cluster.
Klik delete Delete.
gcloud
gcloud container clusters delete -q private-cluster-0 private-cluster-1 private-cluster-2 private-cluster-3
Menghapus jaringan
Konsol
Buka halaman VPC networks di Konsol Google Cloud.
Dalam daftar jaringan, klik
my-net-0
.Di halaman Detail jaringan VPC, klik delete Hapus Jaringan VPC.
Pada dialog Hapus jaringan, klik Hapus.
gcloud
gcloud compute networks delete my-net-0
Langkah selanjutnya
- Pelajari konfigurasi lanjutan dengan cluster pribadi.
- Pelajari cara membuat cluster VPC native.
- Pelajari Peering Jaringan VPC lebih lanjut.