Selain melalui konsol Container Service for Kubernetes (ACK), Anda dapat menggunakan kubectl, alat command-line Kubernetes, untuk mengelola kluster dan aplikasi. Sebelum menghubungkan ke kluster menggunakan kubectl, dapatkan file kubeconfig kluster yang berisi informasi identitas pengguna Anda saat ini.
Langkah 1: Instal dan konfigurasikan client kubectl
Tentukan mesin klien tempat Anda ingin menginstal kubectl. Berdasarkan lingkungan operasi dan versi kluster Anda, instal kubectl.
Langkah 2: Mendapatkan dan menggunakan kubeconfig
1. Pilih tipe kubeconfig
File kubeconfig berisi informasi autentikasi yang diperlukan untuk mengakses kluster. Pilih tipe kubeconfig berdasarkan kebutuhan keamanan dan kasus penggunaan Anda.
Berdasarkan Model tanggung jawab bersama, Anda bertanggung jawab untuk mengelola dan memelihara kredensial kubeconfig. Pastikan kredensial tetap sesuai dan valid, lakukan rotasi kubeconfig secara berkala, serta terapkan prinsip hak istimewa minimal untuk menghindari risiko keamanan akibat kebocoran kubeconfig.
-
Berdasarkan periode validitas kubeconfig:
-
Kubeconfig temporary: Anda dapat mengonfigurasi periode validitas kubeconfig dari 30 menit hingga 3 hari. Kubeconfig akan kedaluwarsa secara otomatis setelah periode yang dikonfigurasi berakhir guna mengurangi risiko keamanan akibat kebocoran. Tipe ini cocok untuk kasus penggunaan yang tidak memerlukan koneksi jangka panjang ke API server, seperti O&M harian, pemecahan masalah, dan pipeline CI/CD.
-
Kubeconfig jangka panjang: Periode validitas default adalah 3 tahun. Tipe ini cocok untuk sistem otomatis atau layanan pemantauan yang berjalan terus-menerus dan tidak dapat memperbarui kubeconfig secara sering.
-
-
Berdasarkan metode akses kluster:
-
Akses internal: Dapatkan kubeconfig untuk akses internal. Mesin klien kubectl harus berada dalam Virtual Private Cloud (VPC) yang sama dengan kluster. Koneksi melalui jaringan internal Alibaba Cloud memiliki latensi yang lebih rendah dan lebih aman.
-
Akses publik: Dapatkan kubeconfig untuk akses publik, dan gunakan mesin apa pun di Internet sebagai klien untuk terhubung ke kluster. Metode ini mengandalkan Elastic IP Address (EIP) untuk terhubung ke API Server dan cocok untuk pengembangan lokal atau O&M jarak jauh.
Setelah Anda mengikat EIP, lihat Pay-as-you-go untuk informasi mengenai biaya terkait.
-
-
Jika Anda menggunakan ACK dedicated cluster dengan akses publik diaktifkan, Anda dapat mendapatkan kubeconfig dari node master melalui SSH, lalu menggunakan kubectl secara lokal untuk mengelola kluster. Untuk informasi selengkapnya, lihat Menghubungkan ke node master ACK dedicated cluster melalui SSH.
2. Dapatkan kubeconfig dan hubungkan ke kluster
Setelah mendapatkan kubeconfig dari konsol, kubectl dapat menggunakan file tersebut untuk terhubung ke dan mengelola kluster.
Sebelum pengguna Resource Access Management (RAM) terhubung ke kluster, pengguna tersebut harus diberikan izin operasi kluster selain izin sistem Container Service. Untuk informasi selengkapnya, lihat Otorisasi.
-
Masuk ke konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Cluster List, klik nama kluster tujuan atau klik Details pada kolom Actions.
-
Pada halaman Cluster Information, klik tab Connection Information, lalu pilih kubeconfig temporary atau jangka panjang. Untuk kubeconfig temporary, atur periode validitas yang sesuai.
-
Pilih tab Public Access atau Internal Access, klik Copy, tempel konten kubeconfig yang telah disalin ke dalam file $HOME/.kube/config pada klien, lalu simpan dan keluar dari file tersebut.
Jika file
$HOME/.kube/configbelum ada, jalankanmkdir -p $HOME/.kubedantouch $HOME/.kube/configuntuk membuatnya. -
Setelah konfigurasi selesai, jalankan perintah kubectl untuk memverifikasi konektivitas kluster.
Contoh berikut melakukan kueri namespace.
kubectl get namespacesOutput yang diharapkan:
NAME STATUS AGE default Active 4h39m kube-node-lease Active 4h39m kube-public Active 4h39m kube-system Active 4h39m
Membersihkan izin: Ketika pengguna tidak lagi memerlukan izin akses, misalnya setelah proyek berakhir atau karyawan keluar, gunakan fitur Clean Up untuk mencabut izin kubeconfig secara massal. Sistem tidak akan menghasilkan kubeconfig baru setelah pembersihan. Untuk petunjuk selengkapnya, lihat Menghapus file kubeconfig dan Membersihkan izin pengguna dengan ack-ram-tool.
Untuk menghindari penghapusan izin karena kesalahan, Anda dapat Menggunakan keranjang daur ulang kubeconfig untuk memulihkan izin kubeconfig tertentu yang telah dihapus.
FAQ
Bagaimana cara mendapatkan informasi identitas yang terkait dengan sertifikat yang digunakan dalam kubeconfig?
Jalankan perintah berikut untuk mendapatkan informasi identitas.
grep client-certificate-data kubeconfig |awk '{print $2}' |base64 -d | openssl x509 -noout -text |grep Subject:
Ganti path kubeconfig dengan path aktual Anda. Secara default, kubectl menggunakan$HOME/.kube/configuntuk terhubung ke kluster. Anda juga dapat mengatur variabel lingkungan KUBECONFIG atau parameter--kubeconfiguntuk menentukan file kubeconfig lain.
Output yang diharapkan mirip dengan berikut:
Subject: O=system:users, OU=, CN=1***-1673419473
Di mana:
-
O: Informasi grup pengguna Kubernetes. Dalam contoh ini, nama grupnya adalahsystem:users. -
CN: Informasi pengguna yang terkait. Dalam contoh ini, penggunanya adalah1***-1673419473, di mana1***terkait dengan ID pengguna Alibaba Cloud di bawah akun tersebut.
Bagaimana cara mendapatkan waktu kedaluwarsa sertifikat yang digunakan oleh kubeconfig?
Jalankan perintah berikut untuk mendapatkan waktu kedaluwarsa yang terkait dengan sertifikat yang digunakan oleh file kubeconfig.
grep client-certificate-data kubeconfig |awk '{print $2}' |base64 -d | openssl x509 -noout -enddate
Ganti path kubeconfig dengan path aktual Anda. Secara default, kubectl menggunakan$HOME/.kube/configuntuk menghubungkan ke kluster. Anda juga dapat mengatur variabel lingkungan KUBECONFIG atau parameter--kubeconfiguntuk menentukan file kubeconfig lain.
Output yang diharapkan mirip dengan berikut:
notAfter=Jan 10 06:44:34 2026 GMT
Dalam contoh ini, Jan 10 06:44:34 2026 GMT adalah waktu kedaluwarsa sertifikat.
Dalam 180 hari sebelum sertifikat kedaluwarsa atau setelah kedaluwarsa, Anda dapat mendapatkan kubeconfig yang menggunakan sertifikat dengan waktu kedaluwarsa baru dari konsol atau melalui OpenAPI.
Bagaimana cara mendapatkan client certificate, kunci privat client, dan informasi API Server?
Gunakan perintah berikut untuk mengekstrak client certificate, kunci privat klien, dan informasi API Server dari file kubeconfig.
cat ./kubeconfig |grep client-certificate-data | awk -F ' ' '{print $2}' |base64 -d > ./client-cert.pem
cat ./kubeconfig |grep client-key-data | awk -F ' ' '{print $2}' |base64 -d > ./client-key.pem
APISERVER=`cat ./kubeconfig |grep server | awk -F ' ' '{print $2}'`
Ganti path kubeconfig dengan path aktual Anda. Secara default, kubectl menggunakan$HOME/.kube/configuntuk menghubungkan ke kluster. Anda juga dapat mengatur variabel lingkungan KUBECONFIG atau parameter--kubeconfiguntuk menentukan file kubeconfig lain.
Langkah selanjutnya
Setelah konfigurasi selesai, gunakan kubectl untuk mengakses kluster Kubernetes dari komputer lokal Anda.