全部产品
Search
文档中心

Container Service for Kubernetes:Mendapatkan file kubeconfig dan menghubungkan ke kluster menggunakan kubectl

更新时间:Nov 11, 2025

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.

Penting

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.
  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. 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.

  3. 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.

  4. Pilih tab Public Access atau Internal Access, lalu klik Copy untuk menyalin konten kubeconfig. Tempel konten yang disalin ke dalam file $HOME/.kube/config di mesin klien Anda, lalu simpan dan keluar dari file tersebut.

    Jika file atau direktori ini tidak ada, jalankan mkdir -p $HOME/.kube dan touch $HOME/.kube/config untuk membuatnya.
  5. Verifikasi koneksi dengan menjalankan perintah kubectl. Sebagai contoh, untuk menampilkan semua namespace:

    kubectl get namespaces

    Koneksi 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/config untuk menghubungkan ke kluster. Anda juga dapat menentukan file kubeconfig lain dengan mengatur variabel lingkungan KUBECONFIG atau parameter --kubeconfig.

Outputnya mirip dengan:

        Subject: O=system:users, OU=, CN=1***-1673419473

Di mana:

  • O: Grup pengguna Kubernetes. Dalam contoh ini, nama grupnya adalah system:users.

  • CN: Informasi pengguna terkait. Dalam contoh ini, penggunanya adalah 1***-1673419473, di mana 1*** 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 -enddate
Secara default, kubectl menggunakan $HOME/.kube/config untuk terhubung ke kluster. Anda juga dapat menentukan file kubeconfig lain dengan mengatur variabel lingkungan KUBECONFIG atau parameter --kubeconfig.

Outputnya mirip dengan:

notAfter=Jan 10 06:44:34 2026 GMT

Dalam 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/config untuk terhubung ke kluster. Anda juga dapat menentukan file kubeconfig lain dengan mengatur variabel lingkungan KUBECONFIG atau parameter --kubeconfig.

Langkah selanjutnya

Setelah menyelesaikan langkah-langkah di atas, Anda dapat menggunakan kubectl untuk menghubungkan ke kluster ACK dari mesin lokal Anda.