Gunakan berkas kubeconfig untuk mengatur informasi mengenai kluster, pengguna,
namespace, dan mekanisme autentikasi. Perintah kubectl menggunakan berkas
kubeconfig untuk mencari informasi yang dibutuhkan untuk memilih kluster dan
berkomunikasi dengan API server dari suatu kluster.
Catatan: Sebuah berkas yang digunakan untuk mengatur akses pada kluster disebut dengan berkas kubeconfig. Ini cara yang umum digunakan untuk mereferensikan berkas konfigurasi. Ini tidak berarti ada berkas dengan namakubeconfig.
Secara default, kubectl mencari berkas dengan nama config pada direktori
$HOME/.kube. Kamu bisa mengatur lokasi berkas kubeconfig dengan mengatur
nilai KUBECONFIG pada variabel environment atau dengan mengatur menggunakan
tanda --kubeconfig.
Instruksi langkah demi langkah untuk membuat dan menentukan berkas kubeconfig, bisa mengacu pada Mengatur Akses Pada Beberapa Kluster.
Misalkan kamu memiliki beberapa kluster, pengguna serta komponen dapat melakukan autentikasi dengan berbagai cara. Sebagai contoh:
Dengan berkas kubeconfig, kamu bisa mengatur kluster, pengguna, dan namespace. Kamu juga bisa menentukan konteks untuk mempercepat dan mempermudah perpindahan antara kluster dan namespace.
Sebuah elemen konteks pada berkas kubeconfig digunakan untuk mengelompokkan
parameter akses dengan nama yang mudah. Setiap konteks akan memiliki 3 parameter:
kluster, pengguna, dan namespace. Secara default, perintah kubectl menggunakan
parameter dari konteks yang aktif untuk berkomunikasi dengan kluster.
Untuk memilih konteks yang aktif, bisa menggunakan perintah berikut:
kubectl config use-context
Variabel environment KUBECONFIG berisikan beberapa berkas kubeconfig. Untuk
Linux dan Mac, beberapa berkas tersebut dipisahkan dengan tanda titik dua (:).
Untuk Windows, dipisahkan dengan menggunakan tanda titik koma (;). Variabel
environment KUBECONFIG tidak diwajibkan untuk ada. Jika variabel environment
KUBECONFIG tidak ada, maka kubectl akan menggunakan berkas kubeconfig pada
$HOME/.kube/config.
Jika variabel environment KUBECONFIG ternyata ada, maka kubectl akan menggunakan
konfigurasi yang merupakan hasil gabungan dari berkas-berkas yang terdapat pada
variabel environment KUBECONFIG.
Untuk melihat konfigurasimu, gunakan perintah berikut ini:
kubectl config viewSeperti yang dijelaskan sebelumnya, hasil perintah diatas bisa berasal dari sebuah berkas kubeconfig, atau bisa juga merupakan hasil gabungan dari beberapa berkas kubeconfig.
Berikut adalah aturan yang digunakan kubectl ketika menggabungkan beberapa berkas
kubeconfig:
--kubeconfig, maka akan menggunakan berkas yang ditentukan.
Tidak digabungkan. Hanya 1 tanda --kubeconfig yang diperbolehkan.Sebaliknya, jika variabel environment KUBECONFIG digunakan, maka akan menggunakan
ini sebagai berkas-berkas yang akan digabungkan. Penggabungan berkas-berkas yang terdapat
pada variabel environment KUBECONFIG akan mengikuti aturan sebagai berikut:
current-context.
Contoh: Jika terdapat dua berkas yang menentukan nilai red-user, maka hanya gunakan
nilai red-user dari berkas pertama.
Meskipun berkas kedua tidak memiliki entri yang bertentangan pada red-user,
abaikan mereka.Beberapa contoh pengaturan variabel environment KUBECONFIG, bisa melihat pada
pengaturan vaiabel environment KUBECONFIG.
Sebaliknya, bisa menggunakan berkas kubeconfig default, $HOME/.kube/config,
tanpa melakukan penggabungan.
Konteks ditentukan oleh yang pertama sesuai dari pilihan berikut:
--context pada perintahcurrent-context dari hasil gabungan berkas kubeconfig.Konteks yang kosong masih diperbolehkan pada tahap ini.
Menentukan kluster dan pengguna. Pada tahap ini, mungkin akan ada atau tidak ada konteks. Menentukan kluster dan pengguna berdasarkan yang pertama sesuai dengan pilihan berikut, yang mana akan dijalankan dua kali: sekali untuk pengguna dan sekali untuk kluster:
--user atau --cluster.Pengguna dan kluster masih diperbolehkan kosong pada tahap ini.
Menentukan informasi kluster sebenarnya yang akan digunakan. Pada tahap ini, mungkin akan ada atau tidak ada informasi kluster. Membentuk informasi kluster berdasarkan urutan berikut dan yang pertama sesuai akan digunakan:
--server, --certificate-authority, --insecure-skip-tls-verify.Menentukan informasi pengguna sebenarnya yang akan digunakan. Membentuk informasi pengguna dengan aturan yang sama dengan pembentukan informasi kluster, namun hanya diperbolehkan ada satu teknik autentikasi untuk setiap pengguna:
--client-certificate, --client-key, --username, --password, --token.user dari hasil gabungan berkas kubeconfig.Untuk setiap informasi yang masih belum terisi, akan menggunakan nilai default dan
kemungkinan akan meminta informasi autentikasi.
Referensi file dan path pada berkas kubeconfig adalah bernilai relatif terhadap
lokasi dari berkas kubeconfig.
Referensi file pada perintah adalah relatif terhadap direktori kerja saat ini.
Dalam $HOME/.kube/config, relative path akan disimpan secara relatif, dan
absolute path akan disimpan secara mutlak.
Apakah halaman ini berguna?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.