Dokumen ini menjelaskan throughput log default dan cara meningkatkan throughput.
Saat logging sistem diaktifkan, agen Logging khusus akan otomatis di-deploy dan dikelola. Agen ini berjalan di semua node GKE dalam cluster untuk mengumpulkan log, menambahkan metadata yang berguna tentang penampung, pod, dan cluster, lalu mengirim log ke Cloud Logging menggunakan agen berbasis Fluentbit.
Agen Logging khusus menyediakan minimal 100 KiB per throughput log per detik per node untuk log sistem dan beban kerja. Jika node tidak digunakan sepenuhnya, agen logging khusus dapat memberikan throughput sebanyak 500 KiB per detik atau lebih, bergantung pada jenis beban log (misalnya, teks atau entri log terstruktur, sangat sedikit penampung di node atau banyak penampung). Selain itu, di cluster dengan bidang kontrol GKE versi 1.23.13-gke.1000 atau yang lebih baru, agen Logging memungkinkan throughput setinggi 10 MiB per detik pada node yang memiliki setidaknya 2 core CPU yang tidak digunakan. Namun, perlu diperhatikan bahwa pada throughput yang lebih tinggi, beberapa log dapat hilang.
Mengidentifikasi node dengan throughput log yang lebih tinggi
Secara default, cluster GKE mengumpulkan
metrik sistem.
Metrik sistem kubernetes.io/node/logs/input_bytes
memberikan
jumlah byte log yang dihasilkan per detik di node. Metrik ini dapat membantu
Anda memutuskan varian agen logging mana yang sesuai untuk di-deploy di
cluster atau kumpulan node.
Untuk melihat throughput logging historis untuk setiap node di cluster Anda, ikuti langkah-langkah berikut:
-
Di konsol Google Cloud, buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
Di kolom Select a metric, pilih
kubernetes.io/node/logs/input_bytes
.Di kolom Group by, pilih project_id, location, cluster_name, dan node_name.
Klik OK
Secara opsional, urutkan daftar metrik dalam urutan menurun dengan mengklik header kolom Nilai di atas daftar metrik.
Untuk memahami jumlah volume logging yang disebabkan oleh komponen sistem atau karena beban kerja yang berjalan di node, Anda juga dapat mengelompokkan menurut label metrik type.
Mengaktifkan logging throughput tinggi
Jika node GKE memerlukan throughput log lebih dari 100 KiB per detik dan cluster GKE Standar Anda menggunakan kontrol plane versi 1.23.13-gke.1000 atau yang lebih baru, Anda dapat mengonfigurasi GKE untuk men-deploy konfigurasi alternatif agen Logging yang dirancang untuk memaksimalkan throughput logging. Varian logging throughput maksimum ini memungkinkan throughput hingga 10 MiB per detik per node. Anda dapat men-deploy agen Logging throughput tinggi ini ke semua node dalam cluster atau ke semua node dalam node pool.
Konfigurasi throughput tinggi ini akan menggunakan CPU dan memori tambahan.
gcloud CLI
Untuk mengaktifkan logging throughput tinggi di semua node dalam cluster baru:
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=MAX_THROUGHPUT \
--machine-type=MACHINE_TYPE
Ganti kode berikut:
CLUSTER_NAME
: nama cluster baru.COMPUTE_LOCATION
: Lokasi Compute Engine untuk cluster baru.MACHINE_TYPE
: jenis mesin yang memiliki CPU yang memadai untuk agen Logging, sepertie2-standard-8
.
Semua node pool yang baru dibuat di cluster ini, termasuk node pool default, men-deploy agen Logging dengan throughput tinggi.
Untuk mengonfirmasi apakah logging throughput tinggi sudah ditetapkan untuk cluster yang ada, gunakan perintah gcloud container cluster describe
:
gcloud container clusters describe CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--format="value(nodePoolDefaults[].loggingConfig.variantConfig.variant)"
Ganti kode berikut:
CLUSTER_NAME
: nama cluster.COMPUTE_LOCATION
: Lokasi Compute Engine cluster.
Untuk mengonfigurasi logging throughput tinggi untuk cluster yang ada:
gunakan perintah gcloud container clusters update
:
gcloud container clusters update CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=MAX_THROUGHPUT
Ganti kode berikut:
CLUSTER_NAME
: nama cluster.COMPUTE_LOCATION
: Lokasi Compute Engine cluster.
Untuk membuat node pool baru yang menggunakan agen Logging throughput tinggi, gunakan perintah gcloud container node-pools create
:
gcloud container node-pools create NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=MAX_THROUGHPUT
Ganti kode berikut:
NODEPOOL_NAME
: nama node pool baru.CLUSTER_NAME
: nama cluster.COMPUTE_LOCATION
: Lokasi Compute Engine untuk cluster baru.
Untuk mengonfirmasi apakah logging throughput tinggi sudah ditetapkan untuk node pool yang ada, gunakan perintah gcloud container node-pools describe
:
gcloud container node-pools describe NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--format="value(config.loggingConfig.variantConfig.variant)"
Ganti kode berikut:
NODEPOOL_NAME
: nama node pool.CLUSTER_NAME
: nama cluster.COMPUTE_LOCATION
: Lokasi Compute Engine.
Untuk memperbarui node pool yang ada, gunakan perintah
gcloud container node-pools update
.
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=MAX_THROUGHPUT
Ganti kode berikut:
NODEPOOL_NAME
: nama node pool.CLUSTER_NAME
: nama cluster.COMPUTE_LOCATION
: Lokasi Compute Engine.
Terraform
Blok kode berikut menentukan cara mendeklarasikan kumpulan node dengan atau tanpa logging throughput tinggi.
Untuk mengelola node pool secara eksplisit, Anda harus menentukan cluster tanpa node pool default.
resource "google_container_cluster" "with_example_logging_variants" {
provider = google
name = "CLUSTER_NAME"
location = "COMPUTE_LOCATION"
initial_node_count = 1
remove_default_node_pool = true # We want to manage our node pools separately.
}
Untuk menentukan node pool yang menggunakan agen throughput tinggi, gunakan kolom node_config
untuk menentukan varian Agen logging sebagai MAX_THROUGHPUT
dan jenis mesin yang sesuai:
resource "google_container_node_pool" "with_example_logging_variant" {
provider = google
name = "example-node-pool-with-htl"
cluster = google_container_cluster.with_example_logging_variants.name
location = "COMPUTE_LOCATION"
node_config {
logging_variant = "MAX_THROUGHPUT"
# Use a machine type with enough CPU to accommodate the high-throughput agent, such as e2-standard-8.
machine_type = "e2-standard-8"
}
node_count = 1
}
Untuk menentukan node pool yang menggunakan agen default, gunakan kolom node_config
untuk menentukan varian agen Logging sebagai DEFAULT
:
resource "google_container_node_pool" "with_default_logging_variant" {
provider = google
name = "example-node-pool-with-default-logging"
cluster = google_container_cluster.with_example_logging_variants.name
location = "COMPUTE_LOCATION"
node_config {
logging_variant = "DEFAULT"
}
node_count = 1
}
Menonaktifkan logging throughput tinggi
Jika Anda tidak ingin lagi menggunakan agen Logging dengan throughput tinggi, deploy agen Logging default ke cluster atau node pool.
gcloud CLI
Teruskan flag --logging-variant=DEFAULT
saat Anda membuat atau mengupdate cluster atau node pool.
Untuk menggunakan agen logging default di semua node dalam cluster baru:
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=DEFAULT \
--machine-type=MACHINE_TYPE
Ganti kode berikut:
CLUSTER_NAME
: nama cluster baru.COMPUTE_LOCATION
: Lokasi Compute Engine untuk cluster baru.MACHINE_TYPE
: jenis mesin yang memiliki CPU yang memadai untuk agen Logging, sepertie2-standard-8
.
Untuk menggunakan agen logging default di cluster yang ada:
gunakan perintah gcloud container clusters update
:
gcloud container clusters update CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=DEFAULT
Ganti kode berikut:
CLUSTER_NAME
: nama cluster.COMPUTE_LOCATION
: Lokasi Compute Engine cluster.
Untuk menggunakan agen logging default untuk node pool baru, gunakan perintah
gcloud container node-pools create
:
gcloud container node-pools create NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=DEFAULT
Ganti kode berikut:
NODEPOOL_NAME
: nama node pool baru.CLUSTER_NAME
: nama cluster.COMPUTE_LOCATION
: Lokasi Compute Engine untuk cluster baru.
Untuk mengupdate node pool yang ada, gunakan perintah
gcloud container node-pools update
:
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=DEFAULT
Ganti kode berikut:
NODEPOOL_NAME
: nama node pool.CLUSTER_NAME
: nama cluster.COMPUTE_LOCATION
: Lokasi Compute Engine.
Terraform
Jika Anda tidak ingin lagi Terraform membuat node pool yang menggunakan agen Logging dengan throughput tinggi, tetapkan kolom logging_variant
ke DEFAULT
.
Langkah berikutnya
- Pelajari cara mengontrol penyerapan log.