All Products
Search
Document Center

Container Service for Kubernetes:Gunakan onectl untuk mengelola kluster terdaftar

Last Updated:Mar 26, 2026

onectl adalah alat baris perintah yang disediakan oleh Distributed Cloud Container Platform for Kubernetes (ACK One) untuk mengelola kluster terdaftar. Anda dapat menggunakan onectl untuk mengelola kluster terdaftar, komponen kluster, dan pengguna Resource Access Management (RAM).

Pengenalan onectl

onectl menyediakan fitur berikut:

  • Mengelola kluster

    Anda dapat menggunakan onectl untuk membuat dan menghapus kluster terdaftar, memeriksa status kluster terdaftar, melihat semua kluster terdaftar yang dikelola oleh pengguna RAM saat ini, serta menghubungkan kluster eksternal ke kluster terdaftar.

  • Mengelola komponen

    Anda dapat menggunakan onectl untuk menginstal, memperbarui, memeriksa, dan menghapus komponen pada kluster terdaftar.

  • Mengelola pengguna RAM untuk komponen kluster

    Anda dapat menggunakan onectl untuk memberikan, mencabut, dan memeriksa izin pengguna Resource Access Management (RAM) pada komponen kluster.

Cara kerja onectl

Klik untuk melihat cara kerja onectl

Berkomunikasi dengan kluster eksternal

Saat menggunakan onectl untuk menghubungkan kluster terdaftar ke kluster eksternal, onectl menerapkan agen kluster terdaftar di kluster eksternal. Kemudian, onectl mencoba menggunakan file kubeconfig yang sesuai untuk berkomunikasi dengan kluster eksternal melalui metode berikut secara berurutan:

  1. Parameter kubeconfig

    Sebagai contoh, onectl menjalankan perintah berikut untuk menggunakan file ~/.kube/config guna berkomunikasi dengan kluster eksternal dan menghubungkannya ke kluster terdaftar:

    onectl cluster connect --cluster-id **** --kubeconfig ~/.kube/config
  2. Variabel lingkungan KUBECONFIG

    Jika tidak ada file kubeconfig yang ditentukan dalam perintah sebelumnya, onectl menggunakan file kubeconfig yang ditentukan dalam variabel lingkungan KUBECONFIG.

  3. Parameter Kubeconfig Path di file ~/.onectl/config.json

    Jika parameter kubeconfig dan variabel lingkungan KUBECONFIG tidak dikonfigurasi, onectl menggunakan file kubeconfig yang ditentukan dalam parameter Kubeconfig Path. Untuk informasi lebih lanjut tentang parameter ini, lihat Langkah 2: Memberikan izin kepada pengguna RAM untuk onectl.

  4. ~/.kube/config

    Jika tidak ada parameter di atas yang dikonfigurasi, onectl menggunakan file ~/.kube/config.

Menghubungkan ke kluster terdaftar

onectl melakukan langkah-langkah berikut saat menghubungkan ke kluster terdaftar:

  1. Mendapatkan informasi koneksi kluster terdaftar dan menyimpannya dalam file lokal bernama agent.yaml.

  2. Menerapkan agen kluster terdaftar di kluster eksternal berdasarkan informasi koneksi tersebut.

Sebagai contoh, onectl menjalankan perintah berikut untuk menghubungkan kluster terdaftar dan kluster eksternal:

onectl cluster connect --cluster-id ****

Output yang diharapkan:

Informasi agen disimpan sebagai agent.yaml.
Menginstal ACK One agent menggunakan file kubeconfig **** untuk menghubungkan ke kluster terdaftar ****.
Konfirmasi? [Y/n]: y
ACK One agent berhasil diterapkan.
Periksa status jalannya deployment ack-cluster-agent untuk memastikan status koneksi kluster terdaftar ****.

Pengguna RAM untuk komponen kluster

Komponen yang berjalan di kluster terdaftar memerlukan pasangan AccessKey dari pengguna RAM untuk mengakses sumber daya cloud. Sebagai contoh, komponen logtail-ds memerlukan akses ke sumber daya Simple Log Service seperti Proyek dan penyimpanan log. Pasangan AccessKey dari pengguna RAM untuk komponen logtail-ds disimpan dalam Secret bernama alibaba-addon-secret di namespace kube-system kluster.

  • Jika Secret sudah ada di kluster, onectl menggunakan pasangan AccessKey dalam Secret untuk menjalankan komponen kluster.

  • Jika Secret tidak ada, onectl secara otomatis membuat pengguna RAM bernama ack-one-user-[prefix id kluster] untuk menjalankan komponen kluster. Sebagai contoh, jika Secret tidak ada, Anda dapat menjalankan perintah berikut untuk membuat pengguna RAM dan memberikan izin yang diperlukan oleh komponen terway-eniip kepada pengguna RAM:

    onectl ram-user grant --addon terway-eniip

    Output yang diharapkan:

    Ram user ack-one-user-ce313528c3 berhasil dibuat.
    Ram policy ack-one-registered-cluster-policy-terway-eniip diberikan kepada ram user ack-one-user-ce313528c3 berhasil.
    Secret alibaba-addon-secret dibuat di bawah namespace kube-system di kluster, menyimpan access key dan secret dari ram user ack-one-user-ce313528c3.

Menginstal komponen kluster

Anda memerlukan izin administrator untuk menggunakan onectl menginstal komponen kluster. onectl akan memeriksa apakah akun layanan agen kluster terdaftar memiliki izin administrator sebelum menginstal komponen. Jika akun layanan tidak memiliki izin, onectl secara otomatis membuat peran admin sementara, memberikan izin administrator kepada peran tersebut, dan menetapkannya ke akun layanan. Setelah komponen diinstal, onectl secara otomatis menghapus peran admin sementara untuk mencabut izin dari akun layanan.

Sebagai contoh, jika agen kluster terdaftar tidak memiliki izin administrator, Anda dapat menjalankan perintah berikut untuk memberikan izin sementara kepada akun layanan agen, lalu mencabut izin setelah komponen diinstal:

onectl addon install logtail-ds

Output yang diharapkan:

Cluster role ack-admin-tmp dibuat.
Cluster role binding ack-admin-binding-tmp dibuat.
Addon logtail-ds, versi **** diinstal.
Cluster role ack-admin-tmp dihapus.
Cluster role binding ack-admin-binding-tmp dihapus.

Blok kode berikut menunjukkan ClusterRole dan ClusterRoleBinding dari peran admin sementara:

Klik untuk melihat ClusterRole dan ClusterRoleBinding dari peran admin sementara

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: ack-admin-tmp
  labels:
    ack/creator: "ack"
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: ack-admin-binding-tmp
  namespace: kube-system
  labels:
    ack/creator: "ack"
subjects:
- kind: ServiceAccount
  name: ack
  namespace: kube-system
roleRef:
  kind: ClusterRole
  name: ack-admin-tmp
  apiGroup: rbac.authorization.k8s.io

Langkah 1: Instal onectl

  1. Jalankan perintah berikut untuk menginstal onectl:

    onectl mendukung macOS dan Linux.

    curl https://ack-one.oss-cn-hangzhou.aliyuncs.com/onectl/get-onectl.sh | bash
  2. Jalankan perintah berikut untuk memeriksa apakah onectl telah diinstal:

    onectl version

    Output yang diharapkan:

    onectl: v1.0.0+774dea0
    	BuildDate: 2023-07-12T06:10:27Z
    	GitCommit: 774dea0f768569821e101dc44d1cb09cef192fe8
    	GitTreeState: clean
    	GoVersion: go1.20.4
    	Compiler: gc
    	Platform: darwin/amd64

Langkah 2: Berikan izin kepada pengguna RAM untuk onectl

Anda hanya dapat menggunakan onectl untuk mengelola kluster terdaftar setelah masuk sebagai pengguna RAM. onectl menggunakan pasangan AccessKey dari pengguna RAM untuk mengakses layanan Alibaba Cloud. Oleh karena itu, pengguna RAM harus memiliki izin berikut pada sumber daya cloud:

Catatan

Pengguna RAM untuk onectl dan pengguna RAM untuk komponen kluster berbeda.

  • Izin administrator ACK yang disediakan oleh kebijakan sistem AliyunCSFullAccess.

  • Izin administrator RAM yang disediakan oleh kebijakan sistem AliyunRamFullAccess.

  • Izin baca-saja VPC yang disediakan oleh kebijakan sistem AliyunVPCReadOnlyAccess.

Anda dapat menjalankan perintah berikut untuk menentukan pasangan AccessKey dari pengguna RAM untuk onectl dan ID kluster terdaftar:

onectl configure

Output yang diharapkan:

Mengonfigurasi profil default ...
Access Key Id [*********************f7x]:
Access Key Secret [***************************mft]:
Default Kubeconfig Path (default is ~/.kube/config) []:
Menyimpan profil[default] ...
Selesai.

Parameter

Deskripsi

Access Key Id

Pasangan AccessKey dari pengguna RAM untuk onectl.

Access Key Secret

Kubeconfig Path

Path file kubeconfig yang digunakan untuk masuk ke kluster eksternal. Nilai default: ~/.kube/config.

Langkah 3: Konfigurasikan file kubeconfig untuk menghubungkan ke kluster eksternal

Secara default, onectl menggunakan file kubeconfig yang ditentukan dalam variabel lingkungan KUBECONFIG untuk menghubungkan ke kluster eksternal. Anda perlu menetapkan variabel lingkungan KUBECONFIG sebelum menggunakan onectl. Jika variabel lingkungan KUBECONFIG tidak ditetapkan, file ~/.kube/config digunakan secara default.

Apa yang harus dilakukan selanjutnya

Mengelola kluster

Anda dapat menggunakan onectl untuk melakukan operasi berikut:

  • Buat dan hubungkan ke kluster terdaftar. cluster-id **** menunjukkan ID kluster terdaftar. Untuk informasi lebih lanjut, lihat Gunakan onectl untuk membuat kluster terdaftar.

    onectl cluster create --region **** --vpc **** --vswitch **** --name **** --eip true
    onectl cluster connect --cluster-id ****
  • Periksa status kluster terdaftar.

    onectl cluster describe --cluster-id ****
  • Periksa semua kluster terdaftar.

    onectl cluster list
  • Hapus kluster terdaftar.

    onectl cluster delete --cluster-id ****

Mengelola komponen

Anda dapat menggunakan onectl untuk melakukan operasi berikut: **** menunjukkan nama komponen yang ingin Anda kelola.

  • Instal komponen.

    onectl addon install ****
  • Perbarui komponen.

    onectl addon upgrade ****
  • Periksa komponen.

    onectl addon list
  • Periksa semua komponen yang dapat diinstal.

    onectl addon catalog
  • Copot pemasangan komponen.

    onectl addon uninstall ****

Mengelola pengguna RAM untuk komponen kluster

Anda dapat menggunakan onectl untuk melakukan operasi berikut: **** menunjukkan nama komponen.

  • Berikan izin kepada pengguna RAM.

    onectl ram-user grant --addon ****
  • Periksa izin pengguna RAM.

    onectl ram-user describe --detail
  • Cabut izin dari pengguna RAM.

    onectl ram-user revoke --addon ****
  • Perbarui izin pengguna RAM.

    onectl ram-user update --addon ****

Referensi

  • Untuk informasi lebih lanjut tentang cara memeriksa komponen yang diinstal, lihat Mengelola komponen.

  • Untuk informasi lebih lanjut tentang cara memantau status kluster terdaftar, lihat Observabilitas.

  • Untuk informasi lebih lanjut tentang persyaratan keamanan pada kluster terdaftar, lihat Manajemen Keamanan.