Dokumen ini menjelaskan cara mengaktifkan penggunaan Agen Node untuk cluster baru dan yang sudah ada guna menyediakan operasi cluster yang lebih aman. Mulai dari versi 1.33, Google Distributed Cloud untuk bare metal menyediakan kemampuan untuk bertransisi dari penggunaan Ansible melalui SSH untuk operasi cluster ke model berbasis agen yang lebih aman yang menggunakan Node Agent. Menggunakan Agen Node untuk mengelola operasi cluster mengatasi masalah keamanan terkait persyaratan akses SSH ke node pelanggan di lingkungan yang sensitif.
Dalam model baru, biner Agen Node berjalan di setiap node. Agen Node berkomunikasi dengan
klien, seperti pengontrol, melalui saluran gRPC yang aman
untuk mengelola semua aktivitas konfigurasi node. Google Distributed Cloud menerapkan
mutual Transport Layer Security (mTLS) antara pengontrol cluster dan Node Agent
serta antara bmctl
dan Node Agent untuk autentikasi dan enkripsi koneksi gRPC.
Perintah bmctl nodeagent
membuat proses migrasi cluster yang ada untuk menggunakan Agen Node menjadi mudah dan andal. Perintah ini mengurangi upaya manual, meningkatkan konsistensi di seluruh node, dan mengotomatiskan tugas-tugas utama seperti pembuatan dan rotasi sertifikat. Perintah bmctl
beroperasi terutama melalui SSH. Hal ini memungkinkan administrator men-deploy atau men-deploy ulang agen meskipun pengontrol cluster tidak berfungsi atau saluran komunikasi standarnya terganggu.
Node Agent dan perintah bmctl nodeagent
yang sesuai mendukung
Google Distributed Cloud untuk bare metal versi 1.33.0 dan yang lebih baru. Anda dapat mengaktifkan
Node Agent untuk cluster versi 1.33 atau yang lebih baru yang sudah ada atau saat Anda membuat cluster versi
1.33 atau yang lebih baru.
Halaman ini ditujukan untuk Admin, arsitek, dan Operator yang mengelola siklus proses infrastruktur teknologi dasar. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten, lihat Peran dan tugas pengguna GKE Enterprise umum. Google Cloud
Sebelum memulai
Pastikan semua node cluster memenuhi persyaratan berikut sebelum memigrasikan cluster ke mode Node Agent:
Setiap node memiliki port terbuka yang dikhususkan untuk Node Agent. Secara default, Agen Node menggunakan port 9192, tetapi Anda dapat mengonfigurasi port ini selama deployment, pengaktifan, atau penginstalan cluster baru. Untuk mengetahui informasi selengkapnya, lihat Menyesuaikan port Agen Node.
Setiap node telah menginstal containerd versi 1.7 atau yang lebih tinggi.
Bermigrasi ke mode Node Agent
Migrasi ke mode Node Agent adalah proses dua langkah:
Deploy Agen Node: Deploy komponen Agen Node ke semua node dalam cluster.
Aktifkan mode Node Agent:
- Untuk cluster yang sudah ada, aktifkan mode menggunakan perintah
bmctl nodeagent
. - Untuk cluster baru, tambahkan anotasi pengaktifan dan jalur kredensial yang sesuai ke file konfigurasi cluster sebelum pembuatan.
- Untuk cluster yang sudah ada, aktifkan mode menggunakan perintah
Men-deploy Agen Node
Perintah bmctl nodeagent deploy
men-deploy layanan Node Agent ke satu atau beberapa node target dalam cluster yang ditentukan menggunakan SSH. Perintah ini menginstal atau menginstal ulang Agen Node. Skrip ini terhubung melalui SSH dan melakukan langkah-langkah
yang diperlukan, termasuk mentransfer biner, secara opsional membuat dan mentransfer
sertifikat, serta menyiapkan layanan systemd. Tindakan ini memerlukan akses SSH dan hak istimewa sudo di node target.
Anda dapat menentukan target node dengan beberapa cara: secara langsung melalui tanda --nodes
, melalui file konfigurasi cluster menggunakan tanda --cluster
, atau dengan mereferensikan resource kustom cluster. Untuk mengetahui informasi selengkapnya tentang perintah dan opsi Node Agent, lihat referensi perintah bmctl.
Men-deploy di lingkungan baru
Untuk deployment awal, download biner nodeagentd
dan buat Certificate Authority (CA) baru. Perintah berikut mengambil daftar node
dari file konfigurasi cluster. Flag --sa-key
memberikan kredensial
yang diperlukan untuk mendownload biner nodeagentd
dari
bucket Cloud Storage.
Untuk men-deploy Node Agent untuk pertama kalinya di cluster baru, gunakan perintah berikut:
bmctl nodeagent deploy \ --pull-binaries true \ --generate-ca-creds true \ --cluster CLUSTER_NAME \ --ssh-user USERNAME \ --ssh-key SSH_KEY_PATH \ --sa-key SERVICE_ACCOUNT_KEY_PATH
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang nodenya ingin Anda gunakan untuk men-deploy Node Agent.USERNAME
: nama pengguna yang dikonfigurasi akses SSH-nya ke node. Secara default, SSH dikonfigurasi untukroot
, tetapi jika Anda menetapkan pengguna login, gunakan nama pengguna tersebut.SSH_KEY_PATH
: jalur file kunci pribadi SSH.SERVICE_ACCOUNT_KEY_PATH
: jalur file kunci akun layanan dengan izin untuk menarik image registry. Secara default, ini adalah file kunci JSON untuk akun layanananthos-baremetal-gcr
.
Output perintah akan terlihat seperti contoh berikut:
Please check the logs at bmctl-workspace/demo-cluster/log/nodeagent_deploy-20250819-175703/nodeagent_deploy.log [2025-08-19 17:57:03+0000] INFO: Executing 'nodeagent deploy'... [2025-08-19 17:57:05+0000] -------------------- Deployment Plan -------------------- [2025-08-19 17:57:05+0000] Target Cluster: demo-cluster [2025-08-19 17:57:05+0000] SSH User: root [2025-08-19 17:57:05+0000] SSH Key: rootSSH [2025-08-19 17:57:05+0000] Concurrency: 25 [2025-08-19 17:57:05+0000] Generate Credentials: true [2025-08-19 17:57:05+0000] Deploy Credentials: true [2025-08-19 17:57:05+0000] Server Cert Validity Days: 1825 [2025-08-19 17:57:05+0000] Verify SSH Host Keys: true [2025-08-19 17:57:05+0000] Node Agent pull version: 1.33.0-gke.799 [2025-08-19 17:57:05+0000] Target Nodes Source: cluster YAML [2025-08-19 17:57:05+0000] Nodes Port: 9192 [2025-08-19 17:57:05+0000] Target Nodes (4): 10.200.0.2, 10.200.0.3, 10.200.0.4, 10.200.0.5 [2025-08-19 17:57:05+0000] --------------------------------------------------------- Proceed with deployment? [y/N]: y [2025-08-19 17:57:07+0000] INFO: User confirmed. [2025-08-19 17:57:07+0000] Downloading Node Agent binary (1.33.0-gke.799)... OK [2025-08-19 17:57:08+0000] INFO: Node Agent binary pulled and stored at bmctl-workspace/bins/nodeagentd [2025-08-19 17:57:08+0000] INFO: Starting generate credentials (CAs and client credentials) phase... [2025-08-19 17:57:08+0000] Generating credentials for the cluster: demo-cluster, 2025-08-19T17:57:08Z [2025-08-19 17:57:08+0000] ------------ Credentials Options ------------ [2025-08-19 17:57:08+0000] Cluster Name: demo-cluster [2025-08-19 17:57:08+0000] Key Algorithm: rsa [2025-08-19 17:57:08+0000] Key Length: 4096 [2025-08-19 17:57:08+0000] CA Validity (days): 3650 [2025-08-19 17:57:08+0000] Client Validity (days): 1825 [2025-08-19 17:57:08+0000] Server CA CN: Node Agent Server CA [2025-08-19 17:57:08+0000] Client CA CN: Node Agent Client CA [2025-08-19 17:57:08+0000] Creds path: bmctl-workspace/demo-cluster/nodeagent-creds [2025-08-19 17:57:08+0000] -------------------------------------------- [2025-08-19 17:57:08+0000] Generating credentials... OK [2025-08-19 17:57:19+0000] Certificates have been created and stored in bmctl-workspace/demo-cluster/nodeagent-creds [2025-08-19 17:57:19+0000] INFO: Attempting to load CAs from: bmctl-workspace/demo-cluster/nodeagent-creds [2025-08-19 17:57:19+0000] INFO: Server CA loaded successfully. Subject: CN=Node Agent Server CA,O=GCD-SO,L=Sunnyvale,ST=California,C=US, Key Type: *rsa.PrivateKey [2025-08-19 17:57:19+0000] INFO: Client CA loaded successfully. Subject: CN=Node Agent Client CA,O=GCD-SO,L=Sunnyvale,ST=California,C=US, Key Type: *rsa.PrivateKey [2025-08-19 17:57:19+0000] =============================================== [2025-08-19 17:57:19+0000] --- Starting Artifact Preparation --- [2025-08-19 17:57:19+0000] Starting artifact preparation for 4 nodes (concurrency: 25)... [2025-08-19 17:57:23+0000] --- Finished Artifact Preparation --- [2025-08-19 17:57:23+0000] INFO: Preparation SUCCEEDED for node 10.200.0.2 [2025-08-19 17:57:23+0000] INFO: Preparation SUCCEEDED for node 10.200.0.3 [2025-08-19 17:57:23+0000] INFO: Preparation SUCCEEDED for node 10.200.0.4 [2025-08-19 17:57:23+0000] INFO: Preparation SUCCEEDED for node 10.200.0.5 [2025-08-19 17:57:23+0000] =============================================== [2025-08-19 17:57:23+0000] --- Starting Deployment Phase --- [2025-08-19 17:57:23+0000] INFO: Starting deployment to 4 nodes (Concurrency: 25)... [2025-08-19 17:57:36+0000] INFO: All host deployments finished. [2025-08-19 17:57:36+0000] INFO: --- Deployment Phase Completed Successfully --- [2025-08-19 17:57:36+0000] =============================================== --- Deployment Summary --- Host: 10.200.0.2, Status: SUCCESS Host: 10.200.0.3, Status: SUCCESS Host: 10.200.0.4, Status: SUCCESS Host: 10.200.0.5, Status: SUCCESS ----------------------------------------------- Total Nodes Attempted: 4 | SUCCESS: 4 | FAILED: 0 ===============================================
Mengupgrade versi Node Agent
Upgrade Node Agent terpisah dari upgrade cluster. Untuk mengupgrade Node Agent, gunakan
perintah bmctl nodeagent deploy
dan tetapkan --pull-binaries
ke true
. Saat
mengupgrade Node Agent, tetapkan --generate-ca-creds
ke false
untuk menggunakan CA yang ada
daripada membuat ulang CA. Membuat ulang CA memerlukan pembaruan kredensial cluster yang sesuai, yaitu proses yang disediakan untuk rotasi kredensial. Output
menyerupai deployment baru, tetapi tanpa log yang dihasilkan CA.
Mengupgrade Agen Node akan memulai ulang proses Agen Node, yang dapat mengganggu job yang sedang berjalan. Meskipun sebagian besar tugas dipulihkan melalui mekanisme percobaan ulang, untuk meminimalkan potensi gangguan, lakukan langkah-langkah berikut:
Pastikan tidak ada upgrade cluster atau aktivitas konfigurasi pasca-penginstalan lainnya yang sedang berlangsung.
Verifikasi bahwa cluster dalam status berjalan.
Mulai upgrade Agen Node:
bmctl nodeagent deploy \ --pull-binaries true \ --generate-ca-creds false \ --cluster CLUSTER_NAME \ --ssh-user USERNAME \ --ssh-key SSH_KEY_PATH \ --sa-key SERVICE_ACCOUNT_KEY_PATH
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang nodenya ingin Anda gunakan untuk men-deploy Node Agent.USERNAME
: nama pengguna yang dikonfigurasi akses SSH-nya ke node. Secara default, SSH dikonfigurasi untukroot
, tetapi jika Anda menetapkan pengguna login, gunakan nama pengguna tersebut.SSH_KEY_PATH
: jalur file kunci pribadi SSH.SERVICE_ACCOUNT_KEY_PATH
: jalur file kunci akun layanan dengan izin untuk menarik image registry. Secara default, ini adalah file kunci JSON untuk akun layanananthos-baremetal-gcr
.
Output perintah akan terlihat seperti contoh berikut:
Please check the logs at bmctl-workspace/demo-cluster/log/nodeagent_deploy-20250819-180416/nodeagent_deploy.log [2025-08-19 18:04:16+0000] INFO: Executing 'nodeagent deploy'... [2025-08-19 18:04:18+0000] -------------------- Deployment Plan -------------------- [2025-08-19 18:04:18+0000] Target Cluster: demo-cluster [2025-08-19 18:04:18+0000] SSH User: root [2025-08-19 18:04:18+0000] SSH Key: rootSSH [2025-08-19 18:04:18+0000] Concurrency: 25 [2025-08-19 18:04:18+0000] Generate Credentials: false [2025-08-19 18:04:18+0000] Deploy Credentials: true [2025-08-19 18:04:18+0000] Server Cert Validity Days: 1825 [2025-08-19 18:04:18+0000] Verify SSH Host Keys: true [2025-08-19 18:04:18+0000] Node Agent pull version: 1.33.0-gke.799 [2025-08-19 18:04:18+0000] Target Nodes Source: cluster YAML [2025-08-19 18:04:18+0000] Nodes Port: 9192 [2025-08-19 18:04:18+0000] Target Nodes (4): 10.200.0.2, 10.200.0.3, 10.200.0.4, 10.200.0.5 [2025-08-19 18:04:18+0000] --------------------------------------------------------- Proceed with deployment? [y/N]: y [2025-08-19 18:04:20+0000] INFO: User confirmed. [2025-08-19 18:04:20+0000] Downloading Node Agent binary (1.33.0-gke.799)... OK [2025-08-19 18:04:22+0000] INFO: Node Agent binary pulled and stored at bmctl-workspace/bins/nodeagentd [2025-08-19 18:04:22+0000] INFO: Attempting to load CAs from: bmctl-workspace/demo-cluster/nodeagent-creds [2025-08-19 18:04:22+0000] INFO: Server CA loaded successfully. Subject: CN=Node Agent Server CA,O=gcd-SO,L=Sunnyvale,ST=California,C=US, Key Type: *rsa.PrivateKey [2025-08-19 18:04:22+0000] INFO: Client CA loaded successfully. Subject: CN=Node Agent Client CA,O=gcd-SO,L=Sunnyvale,ST=California,C=US, Key Type: *rsa.PrivateKey [2025-08-19 18:04:22+0000] =============================================== [2025-08-19 18:04:22+0000] --- Starting Artifact Preparation --- [2025-08-19 18:04:22+0000] Starting artifact preparation for 4 nodes (concurrency: 25)...
Men-deploy atau men-deploy ulang ke node tertentu
Jika menambahkan atau memulihkan node cluster, Anda dapat menargetkan node tertentu untuk deployment Node Agent, bukan men-deploy-nya ke semua node dalam cluster. Anda menggunakan
flag --nodes
untuk menentukan node yang akan di-deploy.
Untuk men-deploy Agen Node ke node tertentu, gunakan perintah berikut:
bmctl nodeagent deploy \ --pull-binaries true \ --cluster CLUSTER_NAME \ --ssh-user USERNAME \ --ssh-key SSH_KEY_PATH \ --sa-key SERVICE_ACCOUNT_KEY_PATH \ --nodes NODE_IP_ADDRESS_LIST
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang nodenya ingin Anda gunakan untuk men-deploy Node Agent.USERNAME
: nama pengguna yang dikonfigurasi akses SSH-nya ke node. Secara default, SSH dikonfigurasi untukroot
, tetapi jika Anda menetapkan pengguna login, gunakan nama pengguna tersebut.SSH_KEY_PATH
: jalur file kunci pribadi SSH.SERVICE_ACCOUNT_KEY_PATH
: jalur file kunci akun layanan dengan izin untuk menarik image registry. Secara default, ini adalah file kunci JSON untuk akun layanananthos-baremetal-gcr
.NODE_IP_ADDRESS_LIST
: daftar alamat IP node yang dipisahkan koma tempat Anda men-deploy Agen Node.
Output perintah akan terlihat seperti contoh berikut:
Please check the logs at bmctl-workspace/demo-cluster/log/nodeagent_deploy-20250819-181751/nodeagent_deploy.log [2025-08-19 18:17:51+0000] INFO: Executing 'nodeagent deploy'... [2025-08-19 18:17:54+0000] -------------------- Deployment Plan -------------------- [2025-08-19 18:17:54+0000] Target Cluster: demo-cluster [2025-08-19 18:17:54+0000] SSH User: user [2025-08-19 18:17:54+0000] SSH Key: SSH_KEY_PATH [2025-08-19 18:17:54+0000] Concurrency: 25 [2025-08-19 18:17:54+0000] Generate Credentials: false [2025-08-19 18:17:54+0000] Deploy Credentials: true [2025-08-19 18:17:54+0000] Server Cert Validity Days: 1825 [2025-08-19 18:17:54+0000] Verify SSH Host Keys: true [2025-08-19 18:17:54+0000] Node Agent pull version: 1.33.0-gke.799 [2025-08-19 18:17:54+0000] Target Nodes Source: nodes flag [2025-08-19 18:17:54+0000] Nodes Port: 9192 [2025-08-19 18:17:54+0000] Target Nodes (3): 10.200.0.2, 10.200.0.3 [2025-08-19 18:17:54+0000] --------------------------------------------------------- Proceed with deployment? [y/N]:
Untuk daftar lengkap opsi perintah bmctl nodeagent deploy
, lihat nodeagent
deploy dalam referensi perintah bmctl
.
Aktifkan Agen Node
Perintah enable
mengaktifkan mode Agen Node dalam cluster yang sedang berjalan
setelah Anda men-deploy Agen Node ke semua node dalam cluster. Perintah ini juga
membuat atau mengupdate kredensial Agen Node dalam cluster.
Mengaktifkan Node Agent untuk cluster yang sudah berjalan
Anda dapat mengaktifkan Agen Node di cluster versi 1.33 dan yang lebih baru.
Untuk mengaktifkan Agen Node di cluster yang sudah ada, gunakan perintah berikut:
./bmctl nodeagent enable \ --kubeconfig KUBECONFIG \ --cluster CLUSTER_NAME \ --ensure-status=true
Ganti kode berikut:
KUBECONFIG
: jalur file kubeconfig untuk cluster tempat Anda mengaktifkan Agen Node.CLUSTER_NAME
: nama cluster yang nodenya ingin Anda gunakan untuk men-deploy Node Agent.
Output perintah akan terlihat seperti contoh berikut:
Please check the logs at bmctl-workspace/demo-cluster/log/nodeagent_enable-20250819-183058/nodeagent_enable.log [2025-08-19 18:30:58+0000] Enable Node Agent for cluster: demo-cluster [2025-08-19 18:31:00+0000] Update Node Agent credentials [2025-08-19 18:31:00+0000] ---------------------------------------------------------- [2025-08-19 18:31:00+0000] Server CA certificate path: bmctl-workspace/demo-cluster/nodeagent-creds/server_ca_cert.pem [2025-08-19 18:31:00+0000] Server CA private key path: bmctl-workspace/demo-cluster/nodeagent-creds/server_ca_key.pem [2025-08-19 18:31:00+0000] Client CA certificate path: bmctl-workspace/demo-cluster/nodeagent-creds/client_ca_cert.pem [2025-08-19 18:31:00+0000] Client CA private key path: bmctl-workspace/demo-cluster/nodeagent-creds/client_ca_key.pem [2025-08-19 18:31:00+0000] Client certificate path: bmctl-workspace/demo-cluster/nodeagent-creds/client_cert.pem [2025-08-19 18:31:00+0000] Client private key path: bmctl-workspace/demo-cluster/nodeagent-creds/client_key.pem [2025-08-19 18:31:00+0000] ---------------------------------------------------------- [2025-08-19 18:31:00+0000] Node Agent client credentials secret has been created/updated [2025-08-19 18:31:00+0000] Node Agent server CA secret has been created/updated [2025-08-19 18:31:00+0000] Node Agent client CA secret has been created/updated [2025-08-19 18:31:00+0000] Successfully created/updated Node Agent credentials secrets in namespace cluster-demo-cluster [2025-08-19 18:31:00+0000] Annotation 'baremetal.cluster.gke.io/node-agent-port' not found on cluster cluster-demo-cluster/demo-cluster, no removal needed. [2025-08-19 18:31:00+0000] Successfully enable Node Agent for cluster: demo-cluster [2025-08-19 18:31:00+0000] ---------------------------------------------------------- [2025-08-19 18:31:00+0000] Verifying Node Agent status on all nodes... [2025-08-19 18:31:00+0000] --------------------- Total nodes: 3 ---------------------- [2025-08-19 18:31:00+0000] node: control-0--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1577 [2025-08-19 18:31:00+0000] node: control-1--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1578 [2025-08-19 18:31:00+0000] node: control-2--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1581 [2025-08-19 18:31:00+0000] ---------------------------------------------------------- [2025-08-19 18:31:00+0000] Verified Node Agent status on all nodes in cluster
Penginstalan cluster baru
Anda dapat mengaktifkan Node Agent saat membuat cluster versi 1.33 dan yang lebih baru.
Untuk mengaktifkan Agen Node untuk cluster baru, gunakan langkah-langkah berikut:
Untuk cluster admin baru, tambahkan jalur file kredensial berikut ke bagian atas file konfigurasi cluster admin:
nodeAgentServerCACertificatePath: bmctl-workspace/demo-cluster/nodeagent-creds/server_ca_cert.pem nodeAgentServerCAPrivateKeyPath: bmctl-workspace/demo-cluster/nodeagent-creds/server_ca_key.pem nodeAgentClientCACertificatePath: bmctl-workspace/demo-cluster/nodeagent-creds/client_ca_cert.pem nodeAgentClientCAPrivateKeyPath: bmctl-workspace/demo-cluster/nodeagent-creds/client_ca_key.pem nodeAgentClientCertificatePath: bmctl-workspace/demo-cluster/nodeagent-creds/client_cert.pem nodeAgentClientPrivateKeyPath: bmctl-workspace/demo-cluster/nodeagent-creds/client_key.pem
Sertakan anotasi pengaktifan Agen Node di bagian metadata cluster pada file konfigurasi cluster:
kind: Cluster metadata: annotations: baremetal.cluster.gke.io/enable-node-agent: ""
Ikuti petunjuk standar untuk membuat cluster Anda.
Untuk daftar lengkap opsi perintah bmctl nodeagent enable
, lihat nodeagent
enable di referensi perintah bmctl
.
Merotasi kredensial
Perintah rotate-credentials
merotasi kredensial Agen Node di kedua
node dan dalam cluster. Hal ini mencakup kemampuan untuk mengganti Certificate Authority (CA). Flag --generate-ca-creds
mengarahkan
perintah untuk membuat ulang CA dan menggunakan CA yang baru dibuat ini untuk menandatangani
sertifikat untuk server (node) dan klien (pengontrol).
Untuk mengganti kredensial serta membuat ulang dan menggunakan CA baru, gunakan perintah berikut:
bmctl nodeagent rotate-credentials \ --kubeconfig KUBECONFIG \ --generate-ca-creds true \ --cluster CLUSTER_NAME \ --ssh-user USERNAME \ --ssh-key SSH_KEY_PATH
Ganti kode berikut:
KUBECONFIG
: jalur file kubeconfig untuk cluster tempat Anda mengaktifkan Agen Node.CLUSTER_NAME
: nama cluster yang nodenya ingin Anda gunakan untuk men-deploy Node Agent.USERNAME
: nama pengguna yang dikonfigurasi akses SSH-nya ke node. Secara default, SSH dikonfigurasi untukroot
, tetapi jika Anda menetapkan pengguna login, gunakan nama pengguna tersebut.SSH_KEY_PATH
: jalur file kunci pribadi SSH.
Output perintah akan terlihat seperti contoh berikut:
Please check the logs at bmctl-workspace/demo-cluster/log/nodeagent_rotate_credentials-20250819-184216/nodeagent_rotate_credentials.log [2025-08-19 18:42:16+0000] INFO: Executing 'nodeagent rotate-credentials'... [2025-08-19 18:42:18+0000] ------------------- Credentials Rotation ------------------- [2025-08-19 18:42:18+0000] Target Cluster: demo-cluster [2025-08-19 18:42:18+0000] SSH User: root [2025-08-19 18:42:18+0000] SSH Key: rootSSH [2025-08-19 18:42:18+0000] Concurrency: 25 [2025-08-19 18:42:18+0000] Generate Credentials: true [2025-08-19 18:42:18+0000] Deploy Credentials: true [2025-08-19 18:42:18+0000] Server Cert Validity Days: 1825 [2025-08-19 18:42:18+0000] Verify SSH Host Keys: true [2025-08-19 18:42:18+0000] Target Nodes Source: cluster CR [2025-08-19 18:42:18+0000] Nodes Port: 9192 [2025-08-19 18:42:18+0000] Target Nodes (3): 10.200.0.2, 10.200.0.3, 10.200.0.4 [2025-08-19 18:42:18+0000] --------------------------------------------------------- Proceed with credentials rotation? [y/N]: [2025-08-19 18:42:18+0000] INFO: Non-interactive mode enabled; automatically confirming. [2025-08-19 18:42:18+0000] INFO: Starting generate credentials (CAs and client credentials) phase... [2025-08-19 18:42:18+0000] Generating credentials for the cluster: demo-cluster, 2025-08-19T18:42:18Z [2025-08-19 18:42:18+0000] ------------ Credentials Options ------------ [2025-08-19 18:42:18+0000] Cluster Name: demo-cluster [2025-08-19 18:42:18+0000] Key Algorithm: rsa [2025-08-19 18:42:18+0000] Key Length: 4096 [2025-08-19 18:42:18+0000] CA Validity (days): 3650 [2025-08-19 18:42:18+0000] Client Validity (days): 1825 [2025-08-19 18:42:18+0000] Server CA CN: Node Agent Server CA [2025-08-19 18:42:18+0000] Client CA CN: Node Agent Client CA [2025-08-19 18:42:18+0000] Creds path: bmctl-workspace/demo-cluster/nodeagent-creds [2025-08-19 18:42:18+0000] -------------------------------------------- [2025-08-19 18:42:18+0000] Generating credentials... OK Credential directory 'bmctl-workspace/demo-cluster/nodeagent-creds' already exists. Do you want to back it up and continue? (y/N): y [2025-08-19 18:42:27+0000] INFO: User confirmed. [2025-08-19 18:42:27+0000] Credentials backup to bmctl-workspace/demo-cluster/nodeagent-creds_backup_20250819_184227 [2025-08-19 18:42:27+0000] Certificates have been created and stored in bmctl-workspace/demo-cluster/nodeagent-creds [2025-08-19 18:42:27+0000] INFO: Attempting to load CAs from: bmctl-workspace/demo-cluster/nodeagent-creds [2025-08-19 18:42:27+0000] INFO: Server CA loaded successfully. Subject: CN=Node Agent Server CA,O=gcd-SO,L=Sunnyvale,ST=California,C=US, Key Type: *rsa.PrivateKey [2025-08-19 18:42:27+0000] INFO: Client CA loaded successfully. Subject: CN=Node Agent Client CA,O=gcd-SO,L=Sunnyvale,ST=California,C=US, Key Type: *rsa.PrivateKey [2025-08-19 18:42:27+0000] =============================================== [2025-08-19 18:42:34+0000] INFO: All host deployments finished. [2025-08-19 18:42:34+0000] INFO: --- Deployment Phase Completed Successfully --- [2025-08-19 18:42:34+0000] =============================================== --- Deployment Summary --- Host: 10.200.0.2, Status: SUCCESS Host: 10.200.0.3, Status: SUCCESS Host: 10.200.0.4, Status: SUCCESS ----------------------------------------------- Total Nodes Attempted: 3 | SUCCESS: 3 | FAILED: 0 ===============================================
Untuk mengetahui daftar lengkap opsi perintah bmctl nodeagent rotate-credentials
, lihat
nodeagent
rotate-credentials
dalam referensi perintah bmctl
.
Periksa status
Perintah status
memberikan informasi tentang status berjalan Node Agent di
node. Anda dapat menentukan target node secara langsung melalui tanda --nodes
, melalui file konfigurasi cluster menggunakan tanda --cluster
, atau dengan mereferensikan resource kustom cluster.
Saat Anda mendapatkan node dari file konfigurasi cluster atau flag --nodes
,
sistem akan mengambil kredensial dari sistem file lokal. Jika sumber node
adalah resource kustom cluster, sistem akan mengambil kredensial dari cluster.
Urutan prioritas berikut menentukan port Node Agent:
- Flag
--port
- File kubeconfig
- File konfigurasi cluster
Memverifikasi status Agen Node
Hanya dengan menggunakan tanda --cluster
, Anda dapat memeriksa status Agen Node berdasarkan apa yang ditentukan dalam file konfigurasi cluster.
Untuk memeriksa status Agen Node berdasarkan file konfigurasi cluster, gunakan perintah berikut:
./bmctl nodeagent status \ --cluster CLUSTER_NAME
Ganti
CLUSTER_NAME
dengan nama cluster yang Anda periksa.Output perintah akan terlihat seperti contoh berikut:
Please check the logs at bmctl-workspace/demo-cluster/log/nodeagent_status-20250819-205707/nodeagent_status.log [2025-08-19 20:57:07+0000] Check Node Agent for cluster: demo-cluster [2025-08-19 20:57:09+0000] ---------------------------------------------------------- [2025-08-19 20:57:09+0000] Verifying Node Agent status on all nodes... [2025-08-19 20:57:09+0000] Target Nodes Source: cluster YAML [2025-08-19 20:57:09+0000] --------------------- Total nodes: 4 ---------------------- [2025-08-19 20:57:09+0000] node: control-0--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1175 [2025-08-19 20:57:09+0000] node: control-1--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1174 [2025-08-19 20:57:09+0000] node: control-2--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1176 [2025-08-19 20:57:09+0000] node: worker-0--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1179 [2025-08-19 20:57:09+0000] ---------------------------------------------------------- [2025-08-19 20:57:09+0000] Verified Node Agent status on all nodes in cluster
Memverifikasi status Agen Node dari cluster
Dengan menggunakan flag --cluster
bersama dengan flag --kubeconfig
, Anda dapat memeriksa status Agen Node berdasarkan resource kustom Cluster.
Untuk memeriksa status Agen Node berdasarkan resource kustom Cluster, gunakan perintah berikut:
./bmctl nodeagent status \ --cluster CLUSTER_NAME \ --kubeconfig KUBECONFIG
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang nodenya ingin Anda gunakan untuk men-deploy Node Agent.KUBECONFIG
: jalur file kubeconfig untuk cluster tempat Anda mengaktifkan Agen Node.
Output perintah akan terlihat seperti contoh berikut:
Please check the logs at bmctl-workspace/demo-cluster/log/nodeagent_status-20250819-205712/nodeagent_status.log [2025-08-19 20:57:12+0000] Check Node Agent for cluster: demo-cluster [2025-08-19 20:57:14+0000] ---------------------------------------------------------- [2025-08-19 20:57:14+0000] Verifying Node Agent status on all nodes... [2025-08-19 20:57:14+0000] Target Nodes Source: cluster CR [2025-08-19 20:57:14+0000] --------------------- Total nodes: 3 ---------------------- [2025-08-19 20:57:14+0000] node: control-0--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1180 [2025-08-19 20:57:14+0000] node: control-1--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1179 [2025-08-19 20:57:14+0000] node: control-2--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1180 [2025-08-19 20:57:14+0000] ---------------------------------------------------------- [2025-08-19 20:57:14+0000] Verified Node Agent status on all nodes in cluster
Memverifikasi status Agen Node dari node
Dengan menggunakan flag --cluster
bersama dengan flag --nodes
, Anda dapat memeriksa status Node Agent untuk node cluster tertentu.
Untuk memeriksa status Agen Node untuk node tertentu, gunakan perintah berikut:
./bmctl nodeagent status \ --cluster CLUSTER_NAME \ --nodes NODE_IP_ADDRESS_LIST
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang nodenya ingin Anda gunakan untuk men-deploy Node Agent.NODE_IP_ADDRESS_LIST
: daftar alamat IP node yang dipisahkan koma tempat Anda men-deploy Agen Node.
Output perintah akan terlihat seperti contoh berikut:
Please check the logs at bmctl-workspace/demo-cluster/log/nodeagent_status-20250819-210050/nodeagent_status.log [2025-08-19 21:00:50+0000] Check Node Agent for cluster: demo-cluster [2025-08-19 21:00:53+0000] ---------------------------------------------------------- [2025-08-19 21:00:53+0000] Verifying Node Agent status on all nodes... [2025-08-19 21:00:53+0000] Target Nodes Source: nodes flag [2025-08-19 21:00:53+0000] --------------------- Total nodes: 1 ---------------------- [2025-08-19 21:00:53+0000] node: control-0--893f0567cb79efc-9b9ec55816170dcf.lab.anthos, version: 1.33.0-gke.799, OS: linux, uptime (seconds): 1399 [2025-08-19 21:00:53+0000] ---------------------------------------------------------- [2025-08-19 21:00:53+0000] Verified Node Agent status on all nodes in cluster
Untuk daftar lengkap opsi perintah bmctl nodeagent status
, lihat nodeagent
status dalam referensi perintah bmctl
.
Izin pengguna SSH
Pengguna non-root dapat menjalankan perintah bmctl nodeagent
. Hal ini mengharuskan
pengguna memiliki izin sudo tanpa sandi penuh atau daftar izin
sudo tanpa sandi eksplisit.
Daftar yang diizinkan sudo tanpa sandi eksplisit untuk Node Agent memiliki izin berikut:
# Permission to create the necessary folders and set permissions.
/bin/mkdir -p /etc/nodeagentd
/bin/chmod 0755 /etc/nodeagentd
/bin/mkdir -p /usr/local/bin
/bin/chmod 0755 /usr/local/bin
/bin/mkdir -p /etc/systemd/system
/bin/chmod 0755 /etc/systemd/system
# Permission to place the main application executable and link it.
/bin/rm -f /usr/local/bin/nodeagentd-*
/bin/touch /usr/local/bin/nodeagentd-*
/bin/cp -f /home/deployer/.deploy_tmp_*/* /usr/local/bin/nodeagentd-*
/bin/chmod 0755 /usr/local/bin/nodeagentd-*
/bin/rm -f /usr/local/bin/nodeagentd
/bin/ln -s /usr/local/bin/nodeagentd-* /usr/local/bin/nodeagentd
# Permission to place configuration files in /etc/nodeagentd and set permissions.
/bin/rm -f /etc/nodeagentd/*
/bin/touch /etc/nodeagentd/*
/bin/cp -f /home/deployer/.deploy_tmp_*/* /etc/nodeagentd/*
/bin/chmod 0600 /etc/nodeagentd/*
/bin/chmod 0644 /etc/nodeagentd/*
# Permission to place the systemd unit file.
/bin/rm -f /etc/systemd/system/nodeagentd.service
/bin/touch /etc/systemd/system/nodeagentd.service
/bin/cp -f /home/deployer/.deploy_tmp_*/* /etc/systemd/system/nodeagentd.service
/bin/chmod 0644 /etc/systemd/system/nodeagentd.service
# Permission to interact with systemd service.
/bin/systemctl daemon-reload
/bin/systemctl stop nodeagentd
/bin/systemctl start nodeagentd
/bin/systemctl enable --now nodeagentd
# Permission to remove the temporary files used for the deployment.
/bin/rm -f /home/deployer/.deploy_tmp_*/*
Verifikasi kunci host SSH
Pastikan semua node ditambahkan ke file known_hosts
di workstation admin.
Jika tidak, nonaktifkan verifikasi kunci host selama deployment (nodeagent
deploy
) dan rotasi kredensial
(nodeagent
rotate-credentials
)
dengan menggunakan tanda --enforce-host-key-verify=false
.
Menyesuaikan port Agen Node
Agen Node memungkinkan penyesuaian port. Tentukan port kustom ini selama
deployment menggunakan flag --port
. Tindakan ini akan menyebarkan setelan ke konfigurasi Node
Agent di setiap node. Port yang disesuaikan harus sesuai dengan
konfigurasi sisi klien, seperti yang dijelaskan dalam metode berikut.
Untuk cluster yang ada
Untuk mengupdate cluster yang sudah ada dan sedang berjalan, gunakan flag --port
untuk menentukan port kustom baru. Setelan ini disebarkan ke klien (pengontrol).
Untuk cluster baru
Saat membuat cluster baru, tambahkan anotasi berikut ke konfigurasi cluster untuk menentukan port kustom bagi Node Agent:
kind: Cluster
metadata:
annotations:
baremetal.cluster.gke.io/node-agent-port: "10086"
Performa
Deployment dan pengaktifan selesai dalam waktu kurang dari satu menit. Waktu proses rotasi kredensial sebanding dengan, atau lebih cepat daripada, deployment standar.