Anda dapat mengedit cluster Managed Service untuk Apache Kafka guna memperbarui properti seperti ukuran cluster (jumlah vCPU dan memori), daftar subnet yang terhubung, konfigurasi penyeimbangan ulang otomatis, dan konfigurasi mTLS.
Untuk mengedit cluster, Anda dapat menggunakan Google Cloud konsol, Google Cloud CLI, library klien, atau Managed Kafka API. Anda tidak dapat menggunakan Apache Kafka API open source untuk memperbarui cluster.
Memperbarui properti tertentu, seperti jumlah vCPU dan memori, mungkin mengharuskan layanan memulai ulang cluster. Cluster dimulai ulang satu broker dalam satu waktu. Selama proses ini, permintaan ke masing-masing broker mungkin gagal, tetapi kegagalan ini bersifat sementara. Library klien yang umum digunakan akan otomatis menangani error ini.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang
diperlukan guna memperbarui cluster,
minta administrator untuk memberi Anda peran IAM
Managed Kafka Cluster Editor (roles/managedkafka.clusterEditor) di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk memperbarui cluster. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk memperbarui cluster:
-
Mengedit cluster:
managedkafka.clusters.update
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Peran Managed Kafka Cluster Editor tidak memungkinkan Anda membuat, menghapus, atau mengubah topik dan grup konsumen di cluster Managed Service untuk Apache Kafka. Peran ini juga tidak mengizinkan akses data plane untuk memublikasikan atau menggunakan pesan dalam cluster. Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Peran bawaan Managed Service untuk Apache Kafka.
Mengubah ukuran cluster
Jika Anda memperbarui jumlah vCPU atau memori cluster, aturan berikut akan berlaku:
Rasio vCPU-ke-memori keseluruhan cluster harus selalu berada di antara 1:1 dan 1:8.
Jika Anda melakukan penskalaan ke bawah, harus ada minimal 1 vCPU dan 1 GiB memori untuk setiap broker yang ada. Jumlah broker tidak pernah berkurang.
Jika Anda melakukan penskalaan ke atas, dan perubahan tersebut mengakibatkan penambahan broker baru, vCPU dan memori rata-rata per broker tidak dapat berkurang lebih dari 10% dibandingkan dengan rata-rata sebelum pembaruan.
Misalnya, jika Anda mencoba melakukan penskalaan ke atas cluster dari 45 vCPU (3 broker) menjadi 48 vCPU (4 broker), operasi akan gagal. Hal ini karena vCPU rata-rata per broker berkurang dari 15 menjadi 12, yang merupakan pengurangan sebesar 20%, sehingga melebihi batas 10%.
Untuk mengetahui informasi selengkapnya, lihat Memperbarui ukuran cluster.
Mengedit cluster
Untuk mengedit cluster, ikuti langkah-langkah berikut:
Konsol
Di Google Cloud konsol, buka halaman Clusters.
Dari daftar cluster, klik cluster yang propertinya ingin Anda edit.
Halaman detail cluster akan ditampilkan.
Di halaman detail cluster, klik Edit.
Edit properti sesuai kebutuhan. Properti cluster berikut dapat diedit dari konsol:
- Memori
- vCPUs
- Subnet
- Konfigurasi penyeimbangan ulang
- Konfigurasi mTLS
- Label
Klik Save.
gcloud
-
Di konsol, aktifkan Cloud Shell. Google Cloud
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan prompt command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Jalankan perintah
gcloud managed-kafka clusters update:gcloud managed-kafka clusters update CLUSTER_ID \ --location=LOCATION \ --cpu=CPU \ --memory=MEMORY \ --subnets=SUBNETS \ --auto-rebalance \ --labels=LABELSGanti kode berikut:
- CLUSTER_ID: ID atau nama cluster. Anda tidak dapat memperbarui nilai ini.
- LOCATION: Lokasi cluster. Anda tidak dapat memperbarui nilai ini.
- CPU: Jumlah CPU virtual untuk cluster.
- MEMORY: Jumlah memori untuk cluster. Gunakan unit "MB", "MiB", "GB", "GiB", "TB", atau "TiB". Misalnya, "10GiB".
- SUBNETS: Daftar subnet yang akan terhubung. Gunakan koma untuk memisahkan beberapa nilai subnet.
auto-rebalance: Mengaktifkan penyeimbangan ulang otomatis partisi topik di antara broker saat jumlah CPU dalam cluster berubah. Fitur ini diaktifkan secara default.- LABELS: Label yang akan dikaitkan dengan cluster.
Jika Anda menggunakan flag --async dengan perintah, sistem akan mengirim permintaan pembaruan dan segera menampilkan respons, tanpa menunggu operasi selesai. Dengan flag --async, Anda dapat melanjutkan tugas lain saat pembaruan cluster terjadi di latar belakang. Jika Anda tidak menggunakan flag --async, sistem akan menunggu operasi selesai sebelum menampilkan respons. Anda harus menunggu hingga cluster sepenuhnya diperbarui sebelum dapat melanjutkan tugas lain.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
PROJECT_ID: ID proyek Google Cloud Anda -
LOCATION: lokasi cluster -
CLUSTER_ID: ID cluster -
UPDATE_MASK: kolom yang akan diperbarui, sebagai daftar yang dipisahkan koma dari nama yang sepenuhnya memenuhi syarat. Contoh:capacityConfig.vcpuCount,capacityConfig.memoryBytes -
CPU_COUNT: jumlah vCPU untuk cluster -
MEMORY: jumlah memori untuk cluster, dalam byte -
SUBNET_ID: ID subnet dari subnet yang akan terhubung ke
Metode HTTP dan URL:
PATCH https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID?updateMask=UPDATE_MASK
Meminta isi JSON:
{
"capacityConfig": {
"vcpuCount": CPU_COUNT,
"memoryBytes": MEMORY
},
"gcpConfig": {
"accessConfig": {
"networkConfigs": [
{
"subnet": "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET_ID"
}
]
}
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics/TOPIC_ID",
"partitionCount": PARTITION_COUNT,
"replicationFactor": REPLICATION_FACTOR
}
Di isi permintaan, sertakan hanya kolom yang Anda perbarui, seperti yang
ditentukan dalam parameter kueri UPDATE_MASK. Untuk menambahkan subnet, tambahkan entri baru ke networkConfigs.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Menginstal library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi Managed Service untuk Apache Kafka Go API.
Untuk melakukan autentikasi ke Managed Service untuk Apache Kafka, siapkan Kredensial Default Aplikasi(ADC). Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Menginstal library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi Managed Service untuk Apache Kafka Java API.
Untuk melakukan autentikasi ke Managed Service untuk Apache Kafka, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Menginstal library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi Managed Service untuk Apache Kafka Python API.
Untuk melakukan autentikasi ke Managed Service untuk Apache Kafka, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.
Batasan
Setelah membuat cluster Managed Service untuk Apache Kafka, Anda tidak dapat memperbarui properti berikut:
- Nama cluster
- Lokasi cluster
- Jenis enkripsi
Meskipun Anda tidak dapat mengubah jenis enkripsi, Anda dapat merotasi kunci enkripsi.