Topik ini menjelaskan cara memperoleh file kubeconfig kluster yang berisi kredensial untuk pengguna saat ini. Topik ini juga menjelaskan cara menggunakan klien kubectl untuk terhubung ke kluster.
Pengenalan kubectl dan kubeconfig
kubectl adalah alat baris perintah standar untuk Kubernetes. Anda dapat menggunakan kubectl untuk terhubung ke dan mengelola kluster Alibaba Cloud Container Service (ACS). File kubeconfig berisi informasi tentang kluster, pengguna, namespace, dan mekanisme autentikasi. kubectl menggunakan file kubeconfig untuk terhubung ke kluster.
Metode Koneksi
Anda dapat terhubung ke kluster melalui internet atau jaringan internal.
Koneksi Internet
Jika Anda mengaktifkan akses jaringan publik untuk server API kluster, Anda dapat terhubung ke kluster dari klien mana pun melalui internet. Saat Anda mengaktifkan fitur ini, server API diekspos melalui Elastic IP Address (EIP) Alibaba Cloud. Untuk informasi lebih lanjut tentang cara mengaktifkan akses jaringan publik untuk server API, lihat Kontrol akses jaringan publik ke server API kluster.
Koneksi Jaringan Internal
Untuk terhubung ke kluster hanya melalui jaringan internal, klien kubectl Anda harus berada di dalam Virtual Private Cloud (VPC) yang sama dengan kluster.
Langkah 1: Instal kubectl
Instal kubectl pada mesin klien Anda sesuai dengan OS dan versi kluster Anda.
Langkah 2: Konfigurasikan kredensial kluster
Kluster ACS menyediakan dua jenis kredensial kluster, juga dikenal sebagai file kubeconfig: satu untuk akses jaringan publik dan satu untuk akses jaringan internal. Secara default, kubectl mencari file bernama config di folder $HOME/.kube pada mesin klien. File ini menyimpan kredensial akses yang digunakan oleh kubectl untuk terhubung ke dan mengelola kluster Anda.
Masuk ke Konsol ACS. Di panel navigasi sisi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik ID-nya atau klik Details di kolom Actions kluster tersebut.
Di halaman detail kluster, klik tab Connection Information, dan 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 isi kubeconfig. Tempelkan 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 mencantumkan 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
FAQ
Bagaimana cara mendapatkan informasi identitas yang terkait dengan sertifikat dalam file kubeconfig?
Saat menjalankan perintah ini, ganti YOUR_KUBECONFIG_PATH dengan jalur mutlak file konfigurasi yang ingin Anda kueri. Secara default, kubectl menggunakan file $HOME/.kube/config untuk terhubung ke kluster. Anda juga dapat menentukan file kubeconfig lain dengan menyetel variabel lingkungan kubeconfig atau parameter --kubeconfig.
grep client-certificate-data YOUR_KUBECONFIG_PATH |awk '{print $2}' |base64 -d | openssl x509 -noout -text |grep Subject:Output yang diharapkan mirip dengan berikut ini:
Subject: O=system:users, OU=, CN=1***-1673419473Parameter-parameter tersebut dijelaskan sebagai berikut:
Omenunjukkan grup pengguna Kubernetes. Dalam contoh ini, nama grup adalahsystem:users.CNmenunjukkan pengguna terkait. Dalam contoh ini, pengguna adalah1***-1673419473.1***sesuai dengan ID pengguna Alibaba Cloud di akun.
Bagaimana cara mendapatkan tanggal kedaluwarsa sertifikat yang digunakan oleh file kubeconfig?
Saat menjalankan perintah ini, ganti YOUR_KUBECONFIG_PATH dengan jalur mutlak file konfigurasi yang ingin Anda kueri. Secara default, kubectl menggunakan file $HOME/.kube/config untuk terhubung ke kluster. Anda juga dapat menentukan file kubeconfig lain dengan menyetel variabel lingkungan kubeconfig atau menggunakan parameter --kubeconfig.
grep client-certificate-data YOUR_KUBECONFIG_PATH |awk '{print $2}' |base64 -d | openssl x509 -noout -enddateBerikut adalah contoh output:
notAfter=Jan 10 06:44:34 2026 GMTTanggal kedaluwarsa sertifikat adalah Jan 10 06:44:34 2026 GMT.
Anda dapat memperoleh file kubeconfig dengan sertifikat baru dari konsol atau menggunakan OpenAPI mulai dari 60 hari sebelum hingga 60 hari setelah sertifikat kedaluwarsa.
Pertanyaan 3: Bagaimana cara menyelesaikan kesalahan certificate is valid for saat terhubung ke kluster menggunakan kubectl?
Saat Anda menyambungkan alamat IP baru ke instance Server Load Balancer (SLB) server API dan kemudian menggunakan kubectl untuk mengakses alamat IP baru ini, perintah kubectl gagal. Pesan kesalahan dikembalikan, seperti Error while proxying request: x509: certificate is valid for xxx atau Unable to connect to the server: x509: certificate is valid for xxx.
Anda dapat menambahkan alamat IP baru ke Subject Alternative Name (SAN) sertifikat server API. Untuk informasi lebih lanjut, lihat Sesuaikan bidang SAN sertifikat server API kluster. Gambar berikut menunjukkan contoh konfigurasi:
