Membuat cluster pribadi


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

  1. Buka halaman jaringan VPC di Google Cloud Console.

    Buka jaringan VPC

  2. Klik Buat jaringan VPC.

  3. Untuk Nama, masukkan my-net-0.

  4. Untuk Mode pembuatan subnet, klik Kustom.

  5. Di bagian Subnet baru, untuk Nama, masukkan my-subnet-0.

  6. Dalam daftar Region, pilih wilayah yang Anda inginkan.

  7. Untuk Rentang alamat IP, masukkan 10.2.204.0/22.

  8. Setel Akses Google Pribadi ke On.

  9. Klik Selesai.

  10. Klik Buat.

Membuat cluster pribadi

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

    Buka Google Kubernetes Engine

  2. Klik Create, lalu di bagian Standard atau Autopilot, klik Configure.

  3. Untuk Nama, tentukan private-cluster-0.

  4. Di panel navigasi, klik Networking.

  5. Dalam daftar Jaringan, pilih my-net-0.

  6. Dalam daftar Subnet node, pilih my-subnet-0.

  7. Pilih tombol pilihan Cluster pribadi.

  8. Hapus centang pada kotak Akses bidang kontrol menggunakan alamat IP eksternalnya.

  9. (Opsional untuk Autopilot): Setel Rentang IP bidang kontrol ke 172.16.0.32/28.

  10. 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 bernama my-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 bernama my-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 utama 192.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

  1. Buka halaman jaringan VPC di Google Cloud Console.

    Buka jaringan VPC

  2. Klik Buat jaringan VPC.

  3. Untuk Nama, masukkan my-net-2.

  4. Untuk Mode pembuatan subnet, klik Kustom.

  5. Di bagian Subnet baru, untuk Nama, masukkan my-subnet-2.

  6. Dalam daftar Region, pilih wilayah yang Anda inginkan.

  7. Untuk Rentang alamat IP, masukkan 192.168.0.0/20.

  8. Klik Buat rentang IP sekunder. Untuk Nama rentang subnet, masukkan my-services, dan untuk Rentang IP sekunder, masukkan 10.0.32.0/20.

  9. Klik Tambahkan rentang IP. Untuk Nama rentang subnet, masukkan my-pods, dan untuk Rentang IP sekunder, masukkan 10.4.0.0/14.

  10. Setel Akses Google Pribadi ke On.

  11. Klik Selesai.

  12. Klik Buat.

Membuat cluster pribadi

Buat cluster pribadi yang menggunakan subnet Anda:

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

    Buka Google Kubernetes Engine

  2. Klik Create, lalu di bagian Standard atau Autopilot, klik Configure.

  3. Untuk Name, masukkan private-cluster-2.

  4. Dari panel navigasi, klik Networking.

  5. Pilih tombol pilihan Cluster pribadi.

  6. Untuk membuat bidang kontrol yang dapat diakses dari rentang IP eksternal yang diizinkan, pastikan kotak Akses bidang kontrol menggunakan alamat IP eksternalnya dicentang.

  7. (Opsional untuk Autopilot) Setel Rentang IP bidang kontrol ke 172.16.0.16/28.

  8. Dalam daftar Jaringan, pilih my-net-2.

  9. Dalam daftar Subnet node, pilih my-subnet-2.

  10. Hapus centang pada kotak Buat rentang sekunder secara otomatis.

  11. Dalam daftar Rentang CIDR sekunder Pod, pilih my-pods.

  12. Dalam daftar Rentang CIDR sekunder Service, pilih my-services.

  13. Centang kotak Aktifkan jaringan yang diizinkan bidang kontrol.

  14. 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:

  1. Di jendela command line Cloud Shell, gunakan dig untuk menemukan alamat IP eksternal Cloud Shell Anda:

    dig +short myip.opendns.com @resolver1.opendns.com
    
  2. 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.

  3. 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.

  4. 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

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

    Buka Google Kubernetes Engine

  2. Klik Create, lalu di bagian Standard atau Autopilot, klik Configure.

  3. Untuk Name, masukkan private-cluster-3.

  4. Di panel navigasi, klik Networking.

  5. Pilih opsi Cluster pribadi.

  6. Pastikan kotak Akses bidang kontrol menggunakan alamat IP eksternalnya tetap dicentang.

  7. (Opsional untuk Autopilot) Setel Rentang IP bidang kontrol ke 172.16.0.32/28.

  8. Biarkan Jaringan dan Node subnet disetel ke default. Hal ini menyebabkan GKE menghasilkan subnet untuk cluster Anda.

  9. Hapus centang pada kotak Aktifkan jaringan yang diizinkan bidang kontrol.

  10. 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 bernama my-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:

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

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

    Buka Google Kubernetes Engine

  2. 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

  1. Buka halaman Firewall policies di Konsol Google Cloud.

    Buka Kebijakan firewall

  2. 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

  1. Buka halaman Firewall policies di Konsol Google Cloud.

    Buka Kebijakan firewall

  2. Klik Buat Aturan Firewall.

  3. Untuk Nama, masukkan nama aturan firewall.

  4. Dalam daftar Jaringan, pilih jaringan yang relevan.

  5. Di bagian Arah traffic, klik Ingress.

  6. Di bagian Tindakan jika ada kecocokan, klik Izinkan.

  7. Dalam daftar Target, pilih Tag target yang ditentukan.

  8. Untuk Tag target, masukkan nilai target yang Anda catat sebelumnya.

  9. Dalam daftar Filter sumber, pilih Rentang IPv4.

  10. Untuk Rentang IPv4 sumber, masukkan blok CIDR bidang kontrol cluster.

  11. 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.

  12. 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 atau udp.
  • 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

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

    Buka Google Kubernetes Engine

  2. Pada daftar cluster, klik nama cluster.

  3. Untuk cluster Autopilot, di bagian Dasar-dasar cluster, centang kolom Endpoint eksternal. Nilainya adalah Disabled.

Untuk cluster Standard, lakukan hal berikut:

  1. Di halaman Cluster, klik tab Node.
  2. Di bagian Node Pool, klik nama node pool.
  3. Di halaman Detail node pool, di bagian Grup instance, klik nama grup instance Anda. Misalnya, gke-private-cluster-0-default-pool-5c5add1f-grp`.
  4. 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:

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

    Buka Google Kubernetes Engine

  2. Klik Create, lalu di bagian Standard atau Autopilot, klik Configure.

  3. Masukkan Nama.

  4. Di panel navigasi, klik Networking.

  5. Pilih Cluster pribadi.

  6. Centang kotak Aktifkan Akses global bidang kontrol.

  7. Konfigurasikan kolom lain sesuai keinginan Anda.

  8. Klik Buat.

Guna mengaktifkan akses global bidang kontrol untuk cluster pribadi yang ada, lakukan langkah-langkah berikut:

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

    Buka Google Kubernetes Engine

  2. Di samping cluster yang ingin diedit, klik Tindakan, lalu klik Edit.

  3. Di bagian Networking, di samping Akses global bidang kontrol, klik Edit.

  4. Pada dialog Edit akses global bidang kontrol, centang kotak Aktifkan Akses global bidang kontrol.

  5. 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:

Diagram yang menunjukkan pemilihan rute antara VPC lokal dan bidang kontrol cluster

Agar sistem di jaringan lain dapat terhubung ke endpoint pribadi bidang kontrol cluster, selesaikan persyaratan berikut:

  1. 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:

    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
    
  2. 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.

  3. Buat rute untuk alamat IP privateEndpoint atau rentang alamat IP masterIpv4CidrBlock di jaringan lain. Karena alamat IP endpoint pribadi bidang kontrol selalu cocok dalam rentang alamat IPv4 masterIpv4CidrBlock, membuat rute untuk alamat IP privateEndpoint 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.

  4. 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 kontrol
    • CLUSTER_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 dan 128.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

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

    Buka Google Kubernetes Engine

  2. Pilih setiap cluster.

  3. Klik Delete.

gcloud

gcloud container clusters delete -q private-cluster-0 private-cluster-1 private-cluster-2 private-cluster-3

Menghapus jaringan

Konsol

  1. Buka halaman VPC networks di Konsol Google Cloud.

    Buka jaringan VPC

  2. Dalam daftar jaringan, klik my-net-0.

  3. Di halaman Detail jaringan VPC, klik Hapus Jaringan VPC.

  4. Pada dialog Hapus jaringan, klik Hapus.

gcloud

gcloud compute networks delete my-net-0

Langkah selanjutnya