Menggunakan tag jaringan untuk menerapkan aturan firewall ke node


Halaman ini menunjukkan cara menerapkan tag jaringan secara dinamis ke node di cluster Google Kubernetes Engine (GKE) tanpa mengganggu beban kerja yang sedang berjalan.

Tentang tag jaringan

Tag jaringan adalah metadata di virtual machine (VM) Compute Engine yang dapat Anda gunakan untuk membuat aturan dan rute firewall yang dapat diterapkan ke instance VM tertentu. Di GKE, Anda dapat menggunakan tag jaringan untuk membuat rute atau aturan firewall VPC yang berlaku untuk node dalam cluster Anda.

Anda dapat menggunakan GKE API untuk menerapkan dan memperbarui tag jaringan pada cluster GKE tanpa mengganggu beban kerja yang berjalan. Tag jaringan yang Anda tentukan juga diterapkan ke node baru yang disediakan secara otomatis oleh GKE.

Gunakan Tag, bukan tag jaringan

Tag jaringan adalah string sederhana yang tidak tunduk pada kontrol akses Identity and Access Management. Siapa pun yang memiliki akses ke node Anda di GKE API dapat menambahkan tag jaringan ke node tersebut.

Jika Anda menggunakan GKE versi 1.28 atau yang lebih baru, sebaiknya gunakan Tag yang memiliki penetapan firewall untuk menerapkan kebijakan firewall jaringan regional atau global, yang meningkatkan kemampuan aturan firewall VPC.

Tag adalah key-value pair yang dipasang ke VM Compute Engine. Anda dapat menggunakan IAM untuk mengontrol siapa yang dapat berinteraksi dengan Tag tertentu.

Opsi command line untuk menerapkan tag jaringan

Tabel berikut menjelaskan flag yang dapat ditentukan menggunakan Google Cloud CLI untuk menerapkan tag jaringan ke cluster Anda, serta kasus penggunaannya.

Tanda Mode operasi Tingkat Deskripsi
--autoprovisioning-network-tags
  • Autopilot
  • Standar
Cluster

Menerapkan tag jaringan yang ditentukan ke semua node Autopilot dan semua node pool Standard yang disediakan secara otomatis.

--tags
  • Standard
Node pool

Menerapkan tag jaringan secara manual ke node pool Standard tertentu.

Batasan

Penggunaan --autoprovisioning-network-tags mencegah Anda menggunakan --tags untuk memperbarui tag jaringan untuk node pool Standard yang disediakan otomatis.

Sebaiknya gunakan --autoprovisioning-network-tags untuk node pool yang disediakan secara otomatis, dan gunakan --tags hanya untuk node pool yang dibuat secara manual.

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 initialize gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Menambahkan tag jaringan ke cluster baru

Anda dapat menambahkan tag jaringan saat membuat cluster baru.

Tambahkan tag jaringan ke cluster Autopilot baru

Jalankan perintah berikut:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Autopilot baru Anda.
  • LOCATION: lokasi Compute Engine untuk cluster baru Anda.
  • TAG1,TAG2, ...: daftar yang dipisahkan koma untuk tag jaringan yang ingin Anda terapkan.

Menambahkan tag jaringan ke cluster Standar baru

Untuk Standard, Anda juga dapat menentukan tag jaringan secara khusus untuk penyediaan otomatis node yang akan digunakan.

Menerapkan tag jaringan ke kumpulan node default

Jalankan perintah berikut untuk membuat cluster Standard baru dan menerapkan tag jaringan ke node pool default:

gcloud container clusters create CLUSTER_NAME \
    --location=LOCATION \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Standard yang baru.
  • COMPUTE_REGION: lokasi Compute Engine untuk cluster baru Anda.
  • NETWORK_TAG1,NETWORK_TAG2, ...: daftar yang dipisahkan koma untuk tag jaringan yang ingin Anda terapkan.

Menerapkan tag jaringan ke node pool yang disediakan otomatis

Anda dapat secara otomatis menerapkan tag jaringan ke semua node pool yang dibuat oleh penyediaan otomatis node.

Jalankan perintah berikut:

gcloud container clusters create CLUSTER_NAME \
    --location=LOCATION \
    --enable-autoprovisioning \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Ganti TAG1,TAG2,... dengan daftar tag jaringan yang dipisahkan koma yang ingin Anda terapkan ke semua node pool yang disediakan secara otomatis.

Mengupdate tag jaringan pada cluster yang ada

Anda dapat mengupdate tag jaringan pada cluster yang ada.

Mengupdate tag jaringan pada cluster Autopilot yang ada

Jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Mengupdate tag jaringan pada cluster Standar yang ada

Jalankan perintah berikut untuk memperbarui tag jaringan pada node pool Standard tertentu. Anda tidak dapat menggunakan perintah ini untuk memperbarui node pool yang disediakan secara otomatis jika menggunakan --autoprovisioning-network-tags.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Jika --autoprovisioning-network-tags disetel untuk cluster, perintah ini akan menampilkan error.

Memperbarui tag jaringan untuk kumpulan node yang disediakan otomatis

Anda dapat memperbarui tag jaringan yang diterapkan oleh penyediaan otomatis node untuk node pool baru dan yang sudah ada, yang disediakan secara otomatis.

Jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Menambahkan tag jaringan ke node pool Standard yang baru

Untuk membuat node pool baru di cluster Standard dengan tag jaringan tertentu, jalankan perintah berikut:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Ganti NODE_POOL_NAME dengan nama node pool baru.

Lihat tag jaringan yang ada

Bagian ini menunjukkan cara melihat tag jaringan yang ada.

Lihat tag jaringan yang ada di Autopilot

Jalankan perintah berikut:

gcloud container clusters describe CLUSTER_NAME \
    --flatten=nodePoolAutoConfig.networkTags

Jika cluster memiliki tag jaringan, outputnya mirip dengan yang berikut ini:

---
tags:
- example-tag

Lihat tag jaringan yang ada di Standar

Anda dapat melihat tag jaringan dalam node pool yang disediakan secara otomatis atau dalam kumpulan node yang Anda buat.

Melihat tag jaringan dalam node pool yang disediakan secara otomatis

Jalankan perintah berikut:

gcloud container clusters describe CLUSTER_NAME \
    --flatten=nodePoolAutoConfig.networkTags

Jika cluster memiliki tag jaringan, outputnya mirip dengan yang berikut ini:

---
tags:
- example-tag

Melihat tag jaringan di kumpulan node tanpa penyediaan otomatis node

Untuk melihat tag jaringan untuk kumpulan node Standar tertentu tempat menerapkan tag menggunakan tanda --tags, jalankan perintah berikut:

gcloud container node-pools describe NODE_POOL_NAME\
    --cluster=CLUSTER_NAME \
    --format='value(config.tags)'

Ganti NODE_POOL_NAME dengan nama node pool.

Jika node pool memiliki tag, outputnya mirip dengan yang berikut ini:

example-tag

Hapus tag jaringan

Anda dapat menghapus tag jaringan dari GKE.

Menghapus tag jaringan dari cluster Autopilot

Jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=""

Menghapus tag jaringan dari cluster Standar dan node pool

Anda dapat menghapus tag dari semua node pool yang disediakan secara otomatis atau dari pool node tertentu.

Menghapus tag jaringan dari node pool yang disediakan secara otomatis

Untuk menghapus tag jaringan dari semua node pool yang disediakan secara otomatis, jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=""

Perintah ini juga memulihkan kemampuan Anda untuk menggunakan opsi --tags guna menentukan tag jaringan secara manual untuk node pool yang disediakan secara otomatis.

Menghapus tag jaringan dari kumpulan node tertentu

Untuk menghapus tag jaringan dari node pool tertentu, jalankan perintah berikut:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=""

Langkah berikutnya