Tentang Kubeconfig

Halaman ini ditujukan bagi administrator dan Operator IT yang ingin menyiapkan, memantau, dan mengelola infrastruktur cloud. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten, lihat Peran dan tugas pengguna umum GKE Enterprise. Google Cloud

File konfigurasi Kubernetes

Kubernetes menggunakan file YAML bernama kubeconfig guna menyimpan informasi autentikasi cluster untuk kubectl. kubeconfig berisi daftar konteks yang dirujuk kubectl saat menjalankan perintah. Secara default, file disimpan di $HOME/.kube/config.

Konteks adalah grup parameter akses. Setiap konteks berisi cluster Kubernetes, pengguna, dan namespace. Konteks saat ini adalah cluster yang saat ini menjadi default untuk kubectl: semua perintah kubectl dijalankan pada cluster tersebut.

Setelah membuat cluster, ikuti Membuat entri kubeconfig untuk menambahkan konteks cluster ke kubeconfig lokal Anda.

Endpoint pribadi

Semua cluster memiliki endpoint kanonis. Endpoint ini mengekspos server Kubernetes API yang digunakan kubectl dan layanan lainnya untuk berkomunikasi dengan bidang kontrol cluster Anda melalui port TCP 443. Di Azure, endpoint ini adalah IP pribadi tunggal yang didukung oleh load balancer yang menghadap ke internal—misalnya 10.0.1.5. Endpoint ini tidak dapat diakses di internet publik. Anda bisa mendapatkan alamat endpoint cluster pribadi dari kolom endpoint di output perintah gcloud container azure clusters describe.

Endpoint gateway Connect

Secara default, perintah gcloud container azure clusters get-credentials membuat kubeconfig yang menggunakan gateway Connect. Dengan kubeconfig ini, kubectl menggunakan Connect, yang kemudian meneruskan traffic ke endpoint pribadi secara aman atas nama Anda. Saat Anda menggunakan gateway Connect, endpoint akan terlihat seperti https://connectgateway.googleapis.com/v1/projects/PROJECT_NUMBER/memberships/CLUSTER_NAME, dengan PROJECT_NUMBER adalah nomor project Anda dan CLUSTER_NAME adalah nama cluster Anda.

Jika memiliki akses ke endpoint pribadi cluster melalui VNet, Anda dapat terhubung langsung ke endpoint pribadi. Untuk membuat kubeconfig menggunakan endpoint pribadi, gunakan perintah gcloud container azure clusters get-credentials --private-endpoint.

Tentang autentikasi untuk kubectl

Semua GKE di Azure dikonfigurasi untuk menerima identitas pengguna dan akun layanan Google Cloud, dengan memvalidasi kredensial yang diberikan oleh kubectl dan mengambil alamat email yang terkait dengan identitas pengguna atau akun layanan. Oleh karena itu, kredensial untuk akun tersebut harus menyertakan cakupan OAuth userinfo.email agar berhasil mengautentikasi.

Saat Anda menggunakan gcloud untuk menyiapkan kubeconfig lingkungan Anda untuk cluster baru atau yang sudah ada, gcloud memberi kubectl kredensial yang sama dengan yang digunakan oleh gcloud sendiri. Misalnya, jika Anda menggunakan gcloud auth login, kredensial pribadi Anda diberikan ke kubectl, termasuk cakupan userinfo.email. Langkah ini memungkinkan GKE di Azure untuk mengautentikasi klien kubectl.

Setelah pengguna atau Google Cloud akun layanan diautentikasi, keduanya juga harus diizinkan untuk melakukan tindakan apa pun di GKE di Azure. Admin cluster bertanggung jawab untuk menyiapkan Kontrol Akses Berbasis Peran yang sesuai untuk mengonfigurasi otorisasi.