Selain melalui konsol Container Service for Kubernetes (ACK), Anda dapat menggunakan antarmuka baris perintah Kubernetes (kubectl) untuk mengelola kluster dan aplikasi Anda. Untuk menghubungkan ke kluster menggunakan kubectl, pertama-tama dapatkan file kubeconfig-nya, yang berisi kredensial dan informasi koneksi untuk mengakses kluster tersebut.
Langkah 1: Instal dan konfigurasi klien kubectl
Instal kubectl di mesin klien Anda sesuai dengan sistem operasi dan versi kluster Anda.
Langkah 2: Dapatkan dan gunakan file kubeconfig
1. Pilih jenis kubeconfig
File kubeconfig berisi informasi autentikasi untuk mengakses kluster. Pilih jenis kubeconfig sesuai dengan kebutuhan keamanan dan kasus penggunaan Anda.
Berdasarkan model tanggung jawab bersama, Anda bertanggung jawab untuk mengamankan dan memelihara kredensial kubeconfig Anda. Untuk mengurangi risiko keamanan akibat kebocoran kredensial, lakukan rotasi kubeconfig secara berkala dan terapkan prinsip hak istimewa minimal.
Berdasarkan periode validitas:
kubeconfig sementara: Anda dapat mengatur periode validitas dari 30 menit hingga 3 hari. File ini akan kedaluwarsa secara otomatis, sehingga mengurangi risiko keamanan akibat paparan kredensial. Opsi ini direkomendasikan untuk operasi dan pemeliharaan harian, pemecahan masalah, serta pipeline CI/CD yang tidak memerlukan akses jangka panjang ke API server.
kubeconfig jangka panjang: Jenis ini memiliki periode validitas default selama 3 tahun. Cocok untuk sistem otomatis atau layanan pemantauan jangka panjang yang tidak praktis jika harus sering melakukan rotasi kredensial.
Berdasarkan metode akses:
Akses privat: Gunakan opsi ini ketika mesin klien Anda berada dalam virtual private cloud (VPC) yang sama dengan kluster. Menghubungkan melalui jaringan internal memberikan latensi lebih rendah dan keamanan yang lebih baik.
Akses publik: Gunakan opsi ini untuk menghubungkan ke kluster dari mesin mana pun yang memiliki akses Internet. Metode ini bergantung pada Elastic IP (EIP) untuk mengekspos API server. Metode ini cocok untuk pengembangan lokal dan operasi & pemeliharaan jarak jauh.
Untuk informasi biaya terkait EIP yang ditautkan, lihat Bayar Sesuai Pemakaian.
Jika Anda memiliki ACK dedicated cluster dengan akses publik yang diaktifkan, Anda dapat mendapatkan file kubeconfig dari node master melalui SSH dan menggunakan kubectl secara lokal untuk mengelola kluster. Untuk informasi lebih lanjut, lihat Menghubungkan ke node master ACK dedicated cluster menggunakan SSH.
2. Dapatkan file kubeconfig dan hubungkan ke kluster
Setelah Anda mendapatkan file kubeconfig dari konsol, kubectl dapat menggunakannya untuk menghubungkan dan mengelola kluster.
Sebelum pengguna Resource Access Management (RAM) dapat menghubungkan ke kluster, mereka harus diberikan izin yang diperlukan baik secara global di ACK maupun untuk kluster tertentu. Untuk informasi lebih lanjut, lihat Otorisasi.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan kluster yang ingin Anda kelola lalu klik nama kluster tersebut atau klik Details di kolom Actions. Halaman detail kluster akan muncul.
Pada halaman detail kluster, klik tab Connection Information, lalu pilih antara kubeconfig sementara atau jangka panjang. Jika Anda memilih kubeconfig sementara, atur periode validitas yang sesuai.
Pilih tab Public Access atau Internal Access, lalu klik Copy untuk menyalin konten kubeconfig. Tempel konten yang disalin ke dalam file
$HOME/.kube/configdi mesin klien Anda, lalu simpan dan keluar dari file tersebut.Jika file atau direktori ini tidak ada, jalankan
mkdir -p $HOME/.kubedantouch $HOME/.kube/configuntuk membuatnya.Verifikasi koneksi dengan menjalankan perintah
kubectl. Sebagai contoh, untuk menampilkan semua namespace:kubectl get namespacesKoneksi yang berhasil akan mengembalikan daftar namespace:
NAME STATUS AGE default Active 4h39m kube-node-lease Active 4h39m kube-public Active 4h39m kube-system Active 4h39m
Bersihkan izin: Ketika pengguna tidak lagi memerlukan akses (misalnya, proyek selesai atau karyawan berhenti), cabut izin kubeconfig mereka secara massal. Setelah izin dicabut, sistem tidak akan menghasilkan kubeconfig baru. Untuk detailnya, lihat Hapus file kubeconfig dan Gunakan ack-ram-tool untuk mencabut izin pengguna tertentu pada kluster ACK.
Untuk menghindari penghapusan izin secara tidak sengaja, Anda dapat menggunakan keranjang daur ulang kubeconfig untuk memulihkan izin kubeconfig yang telah dicabut.
FAQ
Bagaimana cara menemukan informasi identitas yang terkait dengan sertifikat kubeconfig?
Jalankan perintah berikut, ganti kubeconfig dengan path ke file Anda:
grep client-certificate-data kubeconfig |awk '{print $2}' |base64 -d | openssl x509 -noout -text |grep Subject:Secara default, kubectl menggunakan$HOME/.kube/configuntuk menghubungkan ke kluster. Anda juga dapat menentukan file kubeconfig lain dengan mengatur variabel lingkunganKUBECONFIGatau parameter--kubeconfig.
Outputnya mirip dengan:
Subject: O=system:users, OU=, CN=1***-1673419473Di mana:
O: Grup pengguna Kubernetes. Dalam contoh ini, nama grupnya adalahsystem:users.CN: Informasi pengguna terkait. Dalam contoh ini, penggunanya adalah1***-1673419473, di mana1***adalah ID pengguna Alibaba Cloud.
Bagaimana cara memeriksa tanggal kedaluwarsa sertifikat kubeconfig?
Jalankan perintah berikut untuk mendapatkan tanggal kedaluwarsa sertifikat yang terkait dengan kubeconfig, ganti kubeconfig dengan path ke file Anda:
grep client-certificate-data kubeconfig |awk '{print $2}' |base64 -d | openssl x509 -noout -enddateSecara default, kubectl menggunakan$HOME/.kube/configuntuk terhubung ke kluster. Anda juga dapat menentukan file kubeconfig lain dengan mengatur variabel lingkunganKUBECONFIGatau parameter--kubeconfig.
Outputnya mirip dengan:
notAfter=Jan 10 06:44:34 2026 GMTDalam contoh ini, Jan 10 06:44:34 2026 GMT adalah tanggal kedaluwarsa sertifikat.
Anda dapat mendapatkan kubeconfig baru dari konsol atau dengan memanggil operasi API dalam waktu 180 hari sebelum sertifikat kedaluwarsa, atau kapan saja setelah kedaluwarsa.
Bagaimana cara mengekstrak sertifikat klien, kunci privat klien, dan informasi API server dari kubeconfig?
Anda dapat menggunakan perintah berikut, ganti kubeconfig dengan path ke file Anda:
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}'`Secara default, kubectl menggunakan$HOME/.kube/configuntuk terhubung ke kluster. Anda juga dapat menentukan file kubeconfig lain dengan mengatur variabel lingkunganKUBECONFIGatau parameter--kubeconfig.
Langkah selanjutnya
Setelah menyelesaikan langkah-langkah di atas, Anda dapat menggunakan kubectl untuk menghubungkan ke kluster ACK dari mesin lokal Anda.