File kubeconfig menyimpan kredensial akses kluster, termasuk informasi identitas pengguna yang sedang masuk. Setelah memperoleh file kubeconfig dari Konsol, gunakan klien kubectl untuk menghubungkan dan mengelola kluster Alibaba Cloud Container Compute Service (ACS).
kubectl dan kubeconfig
kubectl adalah alat standar berbasis command line untuk mengelola Kubernetes. Gunakan kubectl untuk menghubungkan dan mengelola kluster ACS. File kubeconfig berisi informasi tentang kluster, pengguna, namespace, dan mekanisme autentikasi. kubectl menggunakan file kubeconfig tersebut untuk terhubung ke kluster.
Metode koneksi
Pilih metode koneksi berdasarkan lokasi mesin klien kubectl Anda.
Koneksi jaringan publik: Gunakan metode ini jika mesin klien Anda berada di jaringan publik. Kluster harus memiliki akses publik ke API server yang diaktifkan, sehingga API server diekspos melalui Elastic IP Address (EIP). Untuk petunjuk mengaktifkan akses publik, lihat Kontrol akses publik ke API server kluster.
Koneksi jaringan internal: Gunakan metode ini jika Anda hanya memerlukan akses internal. Mesin klien kubectl Anda harus berada dalam Virtual Private Cloud (VPC) yang sama dengan kluster.
Langkah 1: Instal kubectl
Instal kubectl pada mesin klien Anda sesuai dengan sistem operasi dan versi kluster Anda.
Langkah 2: Konfigurasikan kredensial kluster
Kluster ACS menyediakan dua file kubeconfig—satu untuk akses jaringan publik dan satu untuk akses jaringan internal. Secara default, kubectl mencari file bernama config di direktori $HOME/.kube pada mesin klien. File ini menyimpan kredensial akses kluster yang akan dikelola, dan kubectl menggunakannya untuk terhubung ke kluster.
-
Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.
-
Pada halaman Clusters, klik nama kluster target atau klik Details di kolom Actions.
-
Pada halaman Cluster Information, klik tab Connection Information. Pilih kubeconfig sementara atau jangka panjang. Untuk kubeconfig sementara, atur periode validitasnya.
-
Klik tab Internal Access atau Public Access, lalu klik Copy.
-
Tempel kontennya ke dalam file
$HOME/.kube/configpada klien Anda, lalu simpan file tersebut.Note: Jika direktori atau file belum ada, buat terlebih dahulu.
-
Verifikasi koneksi dengan menampilkan semua 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
FAQ
Perintah berikut menggunakan YOUR_KUBECONFIG_PATH sebagai placeholder untuk jalur mutlak file kubeconfig. Secara default, kubectl menggunakan file $HOME/.kube/config untuk terhubung ke kluster. Untuk menentukan file kubeconfig yang berbeda, atur variabel lingkungan KUBECONFIG atau gunakan parameter --kubeconfig.
Pertanyaan 1: Bagaimana cara memperoleh informasi identitas yang terkait dengan Sertifikat yang digunakan dalam file kubeconfig?
Jalankan perintah berikut:
grep client-certificate-data YOUR_KUBECONFIG_PATH |awk '{print $2}' |base64 -d | openssl x509 -noout -text |grep Subject:Output yang diharapkan mirip dengan berikut:
Subject: O=system:users, OU=, CN=1***-1673419473Daftar berikut menjelaskan parameter dalam output tersebut:
Omenunjukkan kelompok pengguna Kubernetes tempat pengguna tersebut berada. Dalam contoh ini, nama kelompoknya adalahsystem:users.CNmenunjukkan pengguna yang terkait. Dalam contoh ini, penggunanya adalah1***-1673419473, di mana1***bersesuaian dengan ID pengguna Alibaba Cloud di bawah akun tersebut.
Pertanyaan 2: Bagaimana cara memperoleh waktu kedaluwarsa Sertifikat yang digunakan dalam file kubeconfig?
Jalankan perintah berikut:
grep client-certificate-data YOUR_KUBECONFIG_PATH |awk '{print $2}' |base64 -d | openssl x509 -noout -enddateOutput yang diharapkan mirip dengan berikut:
notAfter=Jan 10 06:44:34 2026 GMTNilai Jan 10 06:44:34 2026 GMT adalah waktu kedaluwarsa Sertifikat tersebut.
Peroleh file kubeconfig yang berisi Sertifikat baru dari Konsol atau menggunakan OpenAPI dalam rentang 60 hari sebelum Sertifikat kedaluwarsa, atau kapan saja setelah kedaluwarsa.
Pertanyaan 3: Bagaimana cara mengatasi error certificate is valid for yang muncul saat saya menghubungkan ke kluster menggunakan kubectl?
Jika Anda mengikat alamat IP baru ke instans Server Load Balancer (SLB) API server kluster, lalu menggunakan kubectl untuk mengakses alamat IP baru tersebut, perintah kubectl gagal dan mengembalikan error Error while proxying request: x509: certificate is valid for xxx atau error Unable to connect to the server: x509: certificate is valid for xxx.
Tambahkan alamat IP baru tersebut ke subject alternative name (SAN) Sertifikat API server, seperti yang dijelaskan dalam Sesuaikan SAN Sertifikat API server untuk kluster. Contoh berikut menunjukkan konfigurasinya:
Pada kotak dialog Update Custom Certificate SAN, masukkan alamat IP baru, misalnya 192.168.1.137, di bidang Custom Certificate SAN. Pisahkan beberapa alamat IP atau nama domain dengan koma (,). Lalu, klik OK. Catatan: Mengubah SAN menyebabkan API server restart secara singkat.