Menambahkan jaringan yang diizinkan untuk akses bidang kontrol


Halaman ini menunjukkan cara menggunakan jaringan yang diizinkan untuk membatasi origin dari tempat Anda dapat mengakses bidang kontrol cluster Google Kubernetes Engine (GKE).

Cara kerja jaringan yang diizinkan

Jaringan yang diizinkan menyediakan firewall berbasis IP yang mengontrol akses ke bidang kontrol GKE. Akses ke bidang kontrol bergantung pada jenis cluster GKE dan alamat IP sumber. Dengan jaringan yang diizinkan, Anda mengonfigurasi alamat IP yang ingin Anda izinkan untuk mengakses endpoint bidang kontrol cluster GKE sebagai daftar blok CIDR.

Istilah berikut digunakan untuk membedakan aturan firewall berbasis IP yang diterapkan, bergantung pada jenis cluster Anda:

Perbedaan alamat IP:

  • Alamat IP publik semua VM Compute Engine di Google Cloud: Alamat IP publik yang ditetapkan ke VM apa pun yang digunakan oleh pelanggan yang dihosting di Google Cloud. Google Cloud adalah pemilik alamat IP ini. Untuk mempelajari lebih lanjut, lihat Di mana saya dapat menemukan rentang IP Compute Engine?
  • Alamat IP Google Cloud platform: Alamat IP yang digunakan oleh produk Google Cloud, seperti Cloud Run atau Cloud Functions. Klien apa pun yang dihosting di Google Cloud dapat membuat instance alamat IP ini. Google Cloud adalah pemilik alamat IP ini.
  • Alamat IP yang dicadangkan Google: Alamat IP publik untuk tujuan pengelolaan cluster GKE. Alamat IP ini mencakup proses yang dikelola GKE dan layanan produksi Google lainnya. Google adalah pemilik alamat IP ini.
  • Alamat IP publik internet: Alamat IP publik non-RFC 1918 dan non-Google. Google maupun produk Google Cloud bukan pemilik alamat IP publik ini.
  • Rentang alamat IP cluster GKE: Alamat IP yang ditetapkan ke cluster yang digunakan GKE untuk node, Pod, dan Layanan cluster.
  • Alamat IP yang digunakan secara pribadi: Alamat IP dari jaringan VPC cluster Anda. Alamat IP ini dapat mencakup alamat IP cluster Anda, jaringan lokal, rentang RFC 1918, atau alamat IP publik (PUPI) yang digunakan secara pribadi, yang mencakup rentang non-RFC 1918.

Jenis cluster:

  • Cluster publik lama: Cluster publik yang berjalan di jaringan lama atau jaringan VPC dengan alamat IP publik yang ditetapkan ke node, dan yang belum dimigrasikan ke arsitektur Private Service Connect.
  • Cluster pribadi: Cluster yang didasarkan pada Peering Jaringan VPC untuk konektivitas bidang kontrol dari node dengan alamat IP pribadi saja.
  • Cluster berbasis PSC: Cluster yang menggunakan arsitektur Private Service Connect untuk komunikasi antara node dan bidang kontrol cluster GKE. Untuk menentukan apakah cluster Anda menggunakan Private Service Connect, lihat bidang kontrol GKE.

Akses ke endpoint bidang kontrol

Tabel berikut menunjukkan status default jaringan yang diizinkan saat pembuatan cluster. Berdasarkan jenis cluster GKE dan endpoint bidang kontrol, Anda dapat menentukan hal berikut:

  • Alamat IP preset yang selalu dapat mengakses bidang kontrol GKE.
  • Alamat IP yang dapat dikonfigurasi untuk mengakses bidang kontrol cluster dengan jaringan yang diizinkan diaktifkan.

Alamat IP yang dapat dikonfigurasi dapat mengakses rencana kontrol cluster jika Anda mengizinkannya dan mengaktifkan jaringan yang diizinkan.

Jenis cluster GKE dan endpoint bidang kontrol Status jaringan yang diizinkan default Alamat IP standar yang dapat selalu mengakses bidang kontrol GKE1 Alamat IP yang dapat dikonfigurasi dan dapat mengakses bidang kontrol GKE dengan jaringan yang diizinkan diaktifkan2
Cluster publik lama dengan endpoint publik Nonaktif
  • Alamat IP publik semua VM Compute Engine di Google Cloud
  • Alamat IP Google Cloud Platform
  • Alamat IP yang dicadangkan Google
  • Rentang alamat IP cluster GKE
  • Daftar alamat IP publik internet yang diizinkan untuk mengakses endpoint IP publik cluster.
Cluster pribadi dengan endpoint publik dan pribadi Diaktifkan
  • Alamat IP yang dicadangkan Google
  • Rentang alamat IP cluster GKE (node, Pod, dan layanan hanya memiliki alamat IP pribadi).
  • Mengizinkan alamat IP yang digunakan secara pribadi dari jaringan cluster untuk mengakses endpoint pribadi cluster.
  • Daftar alamat IP publik internet yang diizinkan untuk mengakses endpoint publik cluster jika flag --enable-private-endpoint dinonaktifkan.
Cluster berbasis PSC dengan endpoint publik dan pribadi Nonaktif
  • Semua alamat IP pribadi dari jaringan cluster (tidak termasuk rute Peering Jaringan VPC yang telah dipelajari).

Jika flag –enable-google-cloud ditetapkan (default), alamat IP berikut dapat mengakses bidang kontrol GKE:

  • Alamat IP publik semua VM Compute Engine di Google Cloud
  • Alamat IP Google Cloud Platform
  • Alamat IP yang dicadangkan Google
  • Alamat IP publik node cluster GKE Anda.

Jika flag –no-enable-google-cloud ditetapkan, alamat IP berikut dapat mengakses bidang kontrol GKE:

  • Alamat IP yang dicadangkan Google
  • Rentang alamat IP cluster GKE (node, Pod, dan layanan hanya memiliki alamat IP pribadi).

Untuk mempelajari lebih lanjut, baca artikel mengubah isolasi cluster.

  • Daftar alamat IP publik internet yang diizinkan untuk mengakses endpoint publik cluster
  1. Alamat IP yang selalu dapat mengakses bidang kontrol GKE, terlepas dari jaringan yang diizinkan diaktifkan atau dinonaktifkan

  2. Anda harus mengizinkan alamat IP yang dapat dikonfigurasi ini untuk mengakses bidang kontrol cluster Anda.

Batasan

  • Jika memperluas subnet yang digunakan oleh cluster dengan jaringan yang diizinkan, Anda harus memperbarui konfigurasi jaringan yang diizinkan untuk menyertakan rentang alamat IP yang diperluas.
  • Jumlah rentang alamat IP jaringan yang diizinkan yang dapat Anda tentukan untuk alamat IP publik dan pribadi bergantung pada jenis cluster:

    • Cluster publik: 50 rentang alamat IP
    • Cluster pribadi: 100 rentang alamat IP
    • Cluster berbasis PSC: 100 rentang alamat IP =

Sebelum memulai

Sebelum memulai, pastikan Anda telah melakukan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika Anda ingin menggunakan Google Cloud CLI untuk tugas ini, instal, kemudian lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Buat cluster dengan jaringan yang diizinkan

Anda dapat membuat cluster dengan satu atau beberapa jaringan yang diizinkan menggunakan Google Cloud CLI, Konsol Google Cloud, atau GKE API.

gcloud

Jalankan perintah berikut:

gcloud container clusters create-auto CLUSTER_NAME \
    --enable-master-authorized-networks \
    --master-authorized-networks CIDR1,CIDR2,...

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda.
  • CIDR1,CIDR2,...: Daftar nilai CIDR untuk jaringan yang diizinkan, yang dipisahkan oleh koma. Contoh, 8.8.8.8/32,8.8.8.0/24.

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik Buat.

  3. Di bagian Autopilot atau Standard, klik Configure.

  4. Konfigurasi cluster Anda sesuai kebutuhan.

  5. Di menu navigasi, klik Networking.

  6. Di bagian Advanced networking options, pilih kotak centang Enable control plane authorized networks.

  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. Tambahkan jaringan lain yang diizinkan sesuai kebutuhan.

  11. Klik Buat.

API

Tentukan objek masterAuthorizedNetworksConfig di permintaan create cluster Anda:

"masterAuthorizedNetworksConfig": {
  "enabled": true,
  "cidrBlocks": [
    {
      "displayName": string,
      "cidrBlock": string
    }
  ]
}

Untuk informasi selengkapnya, lihat MasterAuthorized NetworksConfig.

Anda dapat mengonfigurasi cluster pribadi dengan satu atau beberapa jaringan yang diizinkan. Untuk mengetahui informasi selengkapnya, lihat Cluster pribadi.

Buat cluster dengan akses bidang kontrol terbatas

GKE menetapkan alamat IP publik (endpoint eksternal) ke bidang kontrol dalam cluster publik. Anda dapat menetapkan isolasi cluster lebih lanjut pada cluster publik yang menggunakan Private Service Connect untuk menghubungkan node dan bidang kontrol secara pribadi. Untuk memeriksa apakah cluster Anda menggunakan Private Service Connect, silakan melihat Cluster publik dengan Private Service Connect.

Anda dapat membuat cluster dan menginstruksikan GKE untuk memblokir akses dari asal berikut ke bidang kontrol:

Anda dapat membuat cluster dan menentukan akses bidang kontrol dengan menggunakan Google Cloud CLI atau Konsol Google Cloud.

gcloud

Jalankan perintah berikut:

gcloud container clusters create-auto CLUSTER_NAME
    --no-enable-google-cloud-access

Ganti CLUSTER_NAME dengan nama cluster GKE.

Dengan perintah ini, flag no-enable-google-cloud-access mencegah bidang kontrol dapat diakses dari alamat IP yang dimiliki oleh Google Cloud.

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik Buat.

  3. Di bagian Autopilot atau Standard, klik Configure.

  4. Konfigurasi cluster Anda sesuai kebutuhan.

  5. Di menu navigasi, klik Networking.

  6. Hapus centang Izinkan akses melalui alamat IP publik Google Cloud.

  7. Di bagian Advanced networking options, pilih kotak centang Enable control plane authorized networks.

  8. Hapus centang Izinkan akses melalui alamat IP publik Google Cloud agar bidang kontrol tidak dapat diakses dari alamat IP milik Google Cloud.

  9. Klik Add authorized network.

  10. Masukkan Name untuk jaringan.

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

  12. Klik Done. Tambahkan jaringan lain yang diizinkan sesuai kebutuhan.

  13. Klik Buat.

Tambahkan jaringan yang diizinkan ke cluster yang ada

Anda dapat menambahkan jaringan yang diizinkan ke cluster yang ada menggunakan gcloud CLI atau Konsol Google Cloud.

gcloud

Jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --enable-master-authorized-networks \
    --master-authorized-networks CIDR1,CIDR2,...

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster yang ada.
  • CIDR1,CIDR2,...: Daftar nilai CIDR untuk jaringan yang diizinkan, yang dipisahkan oleh koma. Contoh, 8.8.8.8/32,8.8.8.0/24.

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Networking, di kolom Control plane authorized networks, klik Edit control plane authorized networks.

  4. Centang kotak Aktifkan jaringan yang diizinkan bidang kontrol.

  5. Klik Add authorized network.

  6. Masukkan Name untuk jaringan.

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

  8. Klik Done. Tambahkan jaringan lain yang diizinkan sesuai kebutuhan.

  9. Klik Simpan Perubahan.

API

Tentukan kolom desiredMasterAuthorizedNetworksConfig di permintaan update cluster Anda. Pada kolom, tentukan objek MasterAuthorized NetworksConfig:

"desiredMasterAuthorizedNetworksConfig": {
    object(MasterAuthorizedNetworksConfig)
  }

Verifikasi jaringan yang diizinkan

Anda dapat memverifikasi jaringan yang diizinkan dalam cluster yang ada menggunakan gcloud CLI atau Konsol Google Cloud.

gcloud

Jalankan perintah berikut:

gcloud container clusters describe CLUSTER_NAME

Outputnya mirip dengan hal berikut ini:

...
masterAuthorizedNetworksConfig:
  cidrBlocks:
  - cidrBlock: 8.8.8.8/32
  - cidrBlock: 8.8.4.4/32
  enabled: true
...

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Networking, kolom Control plane authorized networks menampilkan CIDR yang diizinkan.

API

Mengirim permintaan get. Cari blok CIDR di bagian kolom masterAuthorizedNetworksConfig. Contoh:

"masterAuthorizedNetworksConfig": {
"enabled": true,
 "cidrBlocks": [
  {
    "displayName": "Office",
    "cidrBlock": "192.0.2.0/24"
  }
]
}

Nonaktifkan jaringan yang diizinkan

Anda dapat menonaktifkan jaringan yang diizinkan untuk cluster yang ada menggunakan gcloud CLI atau Konsol Google Cloud.

gcloud

Jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
  --no-enable-master-authorized-networks

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Networking, di kolom Control plane authorized networks, klik Edit control plane authorized networks.

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

  5. Klik Simpan Perubahan.

Hapus jaringan yang diizinkan

gcloud

Jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --enable-master-authorized-networks

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Networking, di kolom Control plane authorized networks, klik Edit control plane authorized networks.

  4. Klik Delete.

  5. Klik Simpan Perubahan.

Pemecahan masalah

Bagian berikut menjelaskan cara menyelesaikan masalah umum terkait jaringan yang diizinkan.

Terlalu banyak blok CIDR

gcloud menampilkan error berikut saat mencoba membuat atau mengupdate cluster dengan lebih dari 50 blok CIDR:

ERROR: (gcloud.container.clusters.update) argument --master-authorized-networks: too many args

Untuk mengatasi masalah ini, jika cluster Anda bersifat publik, pastikan Anda menentukan tidak lebih dari 50 blok CIDR. Jika cluster Anda bersifat pribadi, tentukan tidak lebih dari 100 blok CIDR.

Tidak dapat menyambung ke server.

Waktu tunggu perintah kubectl habis karena blok CIDR yang tidak dikonfigurasi dengan benar:

Unable to connect to the server: dial tcp MASTER_IP: getsockopt: connection timed out

Saat Anda membuat atau mengupdate cluster, pastikan Anda menentukan blok CIDR yang benar.

Langkah berikutnya