Dapatkan kubeconfig sementara atau jangka panjang dari Konsol ACK untuk akses kluster internal atau publik.
Prasyarat
Sebelum memulai:
-
kubectl telah diinstal. Verifikasi dengan
kubectl version --client. -
Akses ke Konsol ACK.
-
(Pengguna RAM) Izin ACK dan tingkat kluster telah diberikan.
Pilih jenis kubeconfig
File kubeconfig menyimpan kredensial akses kluster.
Berdasarkan periode validitas:
| Jenis | Periode validitas | Paling cocok untuk |
|---|---|---|
| Temporary kubeconfig | 30 menit hingga 3 hari (dapat dikonfigurasi) | Operasi & pemeliharaan harian, troubleshooting, pipeline CI/CD |
| Long-term kubeconfig | 3 tahun (default) | Sistem otomatis, layanan pemantauan berjalan lama |
Kubeconfig sementara kedaluwarsa secara otomatis, sehingga mengurangi risiko paparan kredensial. Gunakan kubeconfig jangka panjang hanya jika rotasi berkala tidak praktis.
Berdasarkan metode akses:
| Jenis | Persyaratan | Paling cocok untuk |
|---|---|---|
| Internal access | Mesin klien berada dalam Virtual Private Cloud (VPC) yang sama dengan kluster | Latensi lebih rendah, keamanan lebih baik |
| Public access | Mesin apa pun dengan akses internet; memerlukan alamat IP elastis (EIP) pada server API | Pengembangan lokal, operasi & pemeliharaan jarak jauh |
Penggunaan EIP dikenai biaya. Lihat Pay-as-you-go.
Berdasarkan model tanggung jawab bersama, Anda bertanggung jawab atas pengamanan dan pemeliharaan kredensial kubeconfig Anda. Lakukan rotasi kubeconfig secara berkala dan terapkan prinsip hak istimewa minimal.
Untuk kluster khusus ACK dengan akses publik, Anda juga dapat menghubungkan ke node master melalui SSH untuk mendapatkan kubeconfig.
Dapatkan file kubeconfig dan hubungkan ke kluster
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster target atau klik Details di kolom Actions.
-
Di halaman detail kluster, klik tab Connection Information. Pilih Temporary kubeconfig atau Long-term kubeconfig. Untuk kubeconfig sementara, atur periode validitasnya.
-
Pilih tab Public Access atau Internal Access, lalu klik Copy.
-
Tempel kontennya ke dalam
$HOME/.kube/configdi mesin klien Anda dan simpan.CatatanJika file atau direktori belum ada, buat terlebih dahulu:
mkdir -p $HOME/.kube touch $HOME/.kube/config -
Verifikasi koneksi:
kubectl get namespacesContoh output:
NAME STATUS AGE default Active 4h39m kube-node-lease Active 4h39m kube-public Active 4h39m kube-system Active 4h39m
Bersihkan akses
Saat pengguna tidak lagi memerlukan akses ke kluster, cabut kubeconfig-nya. Sistem tidak akan menghasilkan file kubeconfig baru untuk pengguna tersebut. Untuk mencabut beberapa pengguna sekaligus, gunakan ack-ram-tool.
Untuk memulihkan kubeconfig yang tidak sengaja dicabut, gunakan kubeconfig recycle bin.
FAQ
Bagaimana cara mengetahui identitas yang terkait dengan sertifikat kubeconfig?
Ganti kubeconfig dengan path file Anda. kubectl secara default menggunakan $HOME/.kube/config. Gunakan variabel KUBECONFIG atau flag --kubeconfig untuk file lain.
grep client-certificate-data kubeconfig | awk '{print $2}' | base64 -d | openssl x509 -noout -text | grep Subject:
Contoh output:
Subject: O=system:users, OU=, CN=1***-1673419473
-
O: Kelompok pengguna Kubernetes — dalam contoh ini,system:users. -
CN: Pengguna terkait — dalam contoh ini,1***-1673419473, di mana1***adalah ID pengguna Alibaba Cloud.
Bagaimana cara memeriksa kapan sertifikat kubeconfig kedaluwarsa?
Ganti kubeconfig dengan path file Anda:
grep client-certificate-data kubeconfig | awk '{print $2}' | base64 -d | openssl x509 -noout -enddate
Contoh output:
notAfter=Jan 10 06:44:34 2026 GMT
Dalam contoh ini, sertifikat kedaluwarsa pada 10 Januari 2026. Perbarui melalui konsol atau API dalam waktu 180 hari sebelum kedaluwarsa, atau kapan saja setelahnya.
Bagaimana cara mengekstrak sertifikat klien, kunci privat, dan alamat server API dari kubeconfig?
Ganti kubeconfig dengan path 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}'`
Langkah selanjutnya
Gunakan kubectl untuk men-deploy beban kerja, memeriksa sumber daya, dan mengelola aplikasi.