Menyesuaikan isolasi jaringan di GKE


Halaman ini menjelaskan cara mengonfigurasi isolasi jaringan untuk cluster Google Kubernetes Engine (GKE) pada waktu pembuatan cluster.

Praktik terbaik:

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:

  1. Siapa yang dapat mengakses bidang kontrol dan bagaimana bidang kontrol diekspos?
  2. 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:

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

    Buka Google Kubernetes Engine

  2. Klik Create.

  3. Konfigurasikan atribut cluster berdasarkan kebutuhan project Anda.

  4. Di menu navigasi, klik Networking.

  5. Di bagian Akses Panel Kontrol, konfigurasikan endpoint panel kontrol:

    1. Centang kotak Akses menggunakan DNS untuk mengaktifkan endpoint berbasis DNS bidang kontrol.
    2. 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

  1. Di bagian Control Plane Access, pilih Enable authorized networks.
  2. Klik Add authorized network.
  3. Masukkan Name untuk jaringan.
  4. Untuk Network, masukkan rentang CIDR yang ingin Anda berikan akses ke bidang kontrol cluster.
  5. Klik Done.
  6. 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:

  1. Luaskan bagian Tampilkan aturan firewall alamat IP.
  2. 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.

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

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

  5. 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 flag enable-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 flag enable-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

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

    Buka Google Kubernetes Engine

  2. Klik nama cluster di daftar cluster.

  3. Di tab Cluster details, pada bagian Control Plane Networking, klik .

  4. Pada dialog Edit control plane networking, ubah akses bidang kontrol berdasarkan persyaratan kasus penggunaan Anda.

  5. Verifikasi konfigurasi platform kontrol 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 flag enable-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 flag enable-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

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

    Buka Google Kubernetes Engine

  2. Klik nama cluster di daftar cluster.

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

Untuk membuat cluster ini, gunakan Google Cloud CLI atau konsol Google Cloud.

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik Create.

  3. Konfigurasikan cluster Anda agar sesuai dengan persyaratan Anda.

  4. Di menu navigasi, klik Networking.

  5. Di bagian Akses Panel Kontrol, konfigurasikan endpoint panel kontrol:

    1. Centang kotak Akses menggunakan DNS.
    2. Centang kotak Akses menggunakan alamat IPV4.
  6. Pilih Aktifkan jaringan yang diizinkan.

  7. Klik Add authorized network.

  8. Masukkan Name untuk jaringan.

  9. Untuk Network, masukkan rentang CIDR yang ingin Anda berikan akses ke bidang kontrol cluster.

  10. Klik Done.

  11. Tambahkan jaringan lain yang diizinkan jika Anda memerlukannya.

  12. Luaskan bagian Tampilkan aturan firewall alamat IP.

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

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

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

    Buka Google Kubernetes Engine

  2. Klik Create.

  3. Konfigurasikan cluster Anda agar sesuai dengan persyaratan Anda.

  4. Di menu navigasi, klik Networking.

  5. Di bagian Akses Panel Kontrol, konfigurasikan endpoint panel kontrol:

    1. Centang kotak Akses menggunakan DNS.
    2. Centang kotak Akses menggunakan alamat IPV4.
  6. Luaskan bagian Tampilkan aturan firewall alamat IP.

  7. Batalkan pilihan Akses menggunakan alamat IP eksternal bidang kontrol. Bidang kontrol tidak dapat diakses oleh alamat IP eksternal apa pun.

  8. Di bagian Control Plane Access, pilih Enable authorized networks.

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

  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. Konfigurasikan cluster Anda agar sesuai dengan persyaratan Anda.

  4. Di menu navigasi, klik Networking.

  5. Di bagian Cluster networking, selesaikan langkah-langkah berikut berdasarkan kasus penggunaan Anda:

    1. 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.
    2. Batalkan pilihan Enable private nodes untuk menyediakan node hanya dengan alamat IP eksternal (publik) yang memungkinkan klien eksternal mengakses node.
  6. Di bagian Advanced networking options, konfigurasikan atribut native VPC tambahan. Untuk mempelajari lebih lanjut, lihat Membuat cluster VPC native.

  7. Klik Create.

Mengupdate Cluster yang ada

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

    Buka Google Kubernetes Engine

  2. Klik nama cluster di daftar cluster.

  3. Di Private Nodes, pada tab Default New Node-Pool Configuration, klik Edit Private Nodes.

  4. Pada dialog Edit Private Nodes, lakukan salah satu tindakan berikut:

    1. 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.
    2. Batalkan pilihan Enable private nodes untuk menyediakan node hanya dengan alamat IP eksternal (publik) yang memungkinkan klien eksternal mengakses node.
  5. 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 menggunakan enable-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 di master-ipv4-cidr dan menggunakan subnet baru untuk menyediakan alamat IP internal untuk bidang kontrol.
  • 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:

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

    Buka Google Kubernetes Engine

  2. Di halaman Cluster details, klik nama cluster yang ingin diubah.

  3. Klik Add Node Pool.

  4. Konfigurasikan kotak centang Aktifkan node pribadi berdasarkan kasus penggunaan Anda:

    1. Pilih Aktifkan node pribadi untuk menyediakan node hanya dengan alamat IP internal (node pribadi).
    2. 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.
  5. Konfigurasikan node pool baru.

  6. 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 di nodeSelector 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:

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

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

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

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.

Langkah selanjutnya