Mengonfigurasi akses cluster untuk kubectl

Halaman ini menjelaskan cara mengonfigurasi akses cluster untuk alat command line kubectl untuk GKE di AWS.

Ringkasan

Untuk mengakses GKE di AWS, Anda perlu mengonfigurasi kubectl. Anda dapat menetapkan cluster default untuk kubectl dengan menetapkan konteks saat ini dalam file kubeconfig Kubernetes. Selain itu, Anda dapat menjalankan perintah kubectl terhadap cluster tertentu menggunakan tanda --cluster.

Untuk mengetahui informasi selengkapnya tentang kubeconfig dan endpoint cluster, lihat Tentang Kubeconfig.

Sebelum memulai

Jika menggunakan Gateway penghubung untuk akses kubectl, Anda harus memberi pengguna admin yang bukan pemilik project peran IAM yang dijelaskan dalam Menggunakan kubectl dengan identitas dari gcloud CLI.

Memeriksa kubeconfig saat ini

Bagian ini menjelaskan cara memeriksa kubeconfig saat ini.

Melihat konteks kubeconfig

Untuk melihat kubeconfig lingkungan Anda dan semua konteks yang ada di dalamnya, jalankan perintah berikut:

kubectl config view

Perintah ini menampilkan daftar semua cluster dengan entri kubeconfig yang telah dibuat. Jika GKE pada cluster AWS tercantum, Anda dapat menjalankan perintah kubectl pada cluster tersebut di lingkungan Anda saat ini. Jika tidak, Anda harus membuat entri kubeconfig untuk cluster tersebut.

Melihat konteks saat ini untuk kubectl

Untuk melihat konteks saat ini yang digunakan alat command line kubectl, jalankan perintah berikut:

kubectl config current-context

kubectl menghasilkan nama konteks saat ini.

Membuat entri kubeconfig

Untuk menjalankan perintah kubectl terhadap cluster GKE, Anda perlu membuat entri kubeconfig. Cara membuat kubeconfig bergantung pada cara Anda ingin terhubung ke cluster. Sebaiknya gunakan Connect gateway. Jika ingin terhubung melalui endpoint pribadi, Anda harus memiliki koneksi dan perutean ke endpoint bidang kontrol di AWS Virtual Private Cloud Anda. kube-apiserver cluster adalah bagian dari bidang kontrol. Untuk mengirim permintaan langsung ke endpoint pribadi, Anda mungkin perlu memperluas aturan firewall. Untuk mengetahui informasi selengkapnya tentang cara menghubungkan ke bidang kontrol, lihat grup keamanan AWS.

Connect Gateway

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda
  • GOOGLE_CLOUD_LOCATION: region atau zona Google Cloud tempat GKE Anda di AWS dikelola

Endpoint pribadi

Untuk terhubung ke endpoint pribadi, Anda memerlukan konektivitas ke bidang kontrol cluster. Lihat Menghubungkan ke bidang kontrol cluster.

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \
  --private-endpoint

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda
  • GOOGLE_CLOUD_LOCATION: region atau zona Google Cloud tempat GKE Anda di AWS dikelola

Menangani beberapa cluster

Bagian ini menjelaskan cara menggunakan kubectl dengan beberapa cluster GKE.

Menetapkan cluster default untuk perintah kubectl

Anda dapat mengalihkan konteks saat ini untuk kubectl ke cluster tersebut dengan menjalankan:

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda
  • GOOGLE_CLOUD_LOCATION: region atau zona Google Cloud tempat GKE Anda di AWS dikelola

Misalnya, pertimbangkan project dengan dua cluster, cluster-1 dan cluster-2. Konteks saat ini adalah cluster-2. Untuk mengalihkan konteks saat ini dari cluster-2 ke cluster-1, jalankan perintah berikut:

gcloud container aws clusters get-credentials cluster-1 \
  --location GOOGLE_CLOUD_LOCATION

Menjalankan perintah kubectl individu terhadap cluster tertentu

Anda dapat menjalankan perintah kubectl satu per satu terhadap cluster tertentu dengan meneruskan nama cluster seperti yang muncul di kubeconfig sebagai argumen ke flag --cluster.

Misalnya, pertimbangkan lingkungan dengan dua cluster, cluster-1 dan cluster-2, dengan konteks saat ini adalah cluster-1. Anda tidak ingin mengubah konteks saat ini. Untuk mendapatkan daftar objek Pod di cluster-2 tanpa mengubah konteks saat ini, jalankan perintah berikut:

kubectl get pod --cluster cluster-2