Cara menggunakan JAVASCRIP:$.GET pada JavaScript

Di bagian ini, Anda akan membuat file kubeconfig untuk klaster Anda (atau memperbarui yang sudah ada).

Bagian ini menawarkan dua prosedur untuk membuat atau memperbaruikubeconfigberkas. Anda dapat dengan cepat membuat atau memperbaruikubeconfigfile denganAWS CLI update-kubeconfigperintah secara otomatis dengan menggunakanAWS CLI, atau Anda dapat membuatkubeconfigfile secara manual menggunakanAWS CLIatauaws-iam-authenticator.

Amazon EKS menggunakanaws eks get-tokenperintah, tersedia dalam versi1.16.156atau yang lebih baruAWS CLIatauAWSAutentikasi Autentikasi untukKubernetesbersamakubectluntuk otentikasi cluster. Jika Anda telah menginstalAWS CLIpada sistem Anda, maka secara defaultAWSAutentikasi Autentikasi untukKubernetesmenggunakan kredensil yang sama yang dikembalikan dengan perintah berikut:

aws sts get-caller-identity

Untuk informasi lebih lanjut, lihat Mengonfigurasi AWS CLI di Panduan Pengguna AWS Command Line Interface.

Buatkubeconfigfile secara otomatis

Untuk membuat file kubeconfig Anda dengan AWS CLI

  1. Pastikan Anda memiliki versi1.25.46atau2.7.21atau kemudian diinstal. Untuk menginstal atau memutakhirkan AWS CLI, lihat Menginstal AWS CLI dalam Panduan Pengguna AWS Command Line Interface.

    Versi Python sistem Anda harus2.7.9atau yang lebih baru. Jika tidak, Anda menerima galat hostname doesn't match dengan panggilan AWS CLI ke Amazon EKS.

    Anda dapat memeriksa versi AWS CLI dengan perintah berikut:

    aws --version

    Pengelola paket seperti yum, apt-get, atau Homebrew untuk macOS seringkali berada di belakang beberapa versi AWS CLI. Untuk memastikan bahwa Anda memiliki versi terbaru, lihat Menginstal AWS CLI dalam Panduan Pengguna AWS Command Line Interface.

  2. Buat atau perbarui file kubeconfig untuk klaster Anda. Ganti example values dengan milik Anda sendiri.

    • Secara default, file konfigurasi yang dihasilkan dibuat pada defaultkubeconfigjalur (.kube) di direktori home Anda atau digabung dengan yang sudah adaconfigfile di lokasi itu. Anda dapat menentukan jalur lain dengan opsi --kubeconfig.

    • Anda dapat menentukan ARN IAM role dengan pilihan --role-arn untuk digunakan dalam autentikasi ketika Anda mengeluarkan perintah kubectl. Jika tidak, entitas IAM di default AWS CLI atau rantai kredensia SDK Anda digunakan. Anda dapat melihat default AWS CLI atau identitas SDK Anda dengan menjalankan perintah aws sts get-caller-identity.

    • Untuk informasi selengkapnya, lihat halaman bantuan dengan perintah aws eks update-kubeconfig help atau lihat update-kubeconfig dalam Referensi Perintah AWS CLI.

    Untuk menjalankan perintah berikut, Anda harus memiliki izin untuk menggunakan tindakan eks:DescribeCluster API dengan klaster yang Anda tentukan. Untuk informasi selengkapnya, lihat Contoh kebijakan berbasis identitas Amazon EKS.

    aws eks update-kubeconfig --region region-code --name my-cluster
  3. Uji konfigurasi Anda.

    kubectl get svc

    Contoh output adalah sebagai berikut.

    NAME             TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
    svc/kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   1m

Buatkubeconfigberkas secara manual

Untuk membuat file kubeconfig secara manual Anda

  1. Tetapkan nilai untuk beberapa variabel dengan menggantiexample valuesdengan Anda sendiri dan kemudian menjalankan perintah yang dimodifikasi.

    export region_code=region-code
    export cluster_name=my-cluster
    export account_id=111122223333
  2. Ambil endpoint untuk klaster Anda dan simpan nilainya dalam variabel.

    cluster_endpoint=$(aws eks describe-cluster \
        --region $region_code \
        --name $cluster_name \
        --query "cluster.endpoint" \
        --output text)
  3. Ambil data sertifikat yang dikodekan Base64 yang diperlukan untuk berkomunikasi dengan klaster Anda dan menyimpan nilai dalam variabel.

    certificate_data=$(aws eks describe-cluster \
        --region $region_code \
        --name $cluster_name \
        --query "cluster.certificateAuthority.data" \
        --output text)
  4. Buat default~/.kubedirektori jika belum ada.

    mkdir -p ~/.kube
  5. Jalankan perintah untuk metode token klien pilihan Anda (AWS CLIatauAWSAutentikasi IAM authenticator untukKubernetes) untuk membuatconfigfile di~/.kubedirektori. Anda dapat menentukan hal berikut sebelum menjalankan salah satu perintah dengan memodifikasi perintah untuk menyertakan yang berikut:

    • Peran IAM role —Hapus#di awal baris di bawahargs:. Gantimy-roledengan nama peran IAM role yang ingin Anda lakukan operasi klasterAWSrantai penyedia kredensi. Untuk informasi selengkapnya, lihatMengaturkubectluntuk menggunakan token otentikasi yang disediakan olehAWSAutentikasi Autentikasi untukKubernetes di atasGitHub.

    • SesiAWSCLIprofil Bernama— Hapus#pada awalenv:baris, dan hapus#di awal baris di bawahnya. Gantiaws-profiledengan nama profil untuk digunakan. Jika Anda tidak menentukan profil, maka profil default akan digunakan. Untuk informasi tambahan, lihatMenentukan Kredensi & MenggunakanAWSProfildi atasGitHub.

  6. Menambahkan jalur fileKUBECONFIGvariabel lingkungan sehinggakubectltahu di mana harus mencari konfigurasi klaster Anda.

    • Untuk Bash shells di macOS atauLinux:

      export KUBECONFIG=$KUBECONFIG:~/.kube/config
    • Untuk PowerShell di atasWindows:

      $ENV:KUBECONFIG="{0};{1}" -f  $ENV:KUBECONFIG, "$ENV:userprofile\.kube\config"

  7. (Opsional) Tambahkan konfigurasi ke file inisialisasi shell Anda sehingga dapat dikonfigurasi ketika Anda membuka shell.

    • Untuk Bash shells di macOS:

      echo 'export KUBECONFIG=$KUBECONFIG:~/.kube/config' >> ~/.bash_profile
    • Untuk Bash shells onLinux:

      echo 'export KUBECONFIG=$KUBECONFIG:~/.kube/config' >> ~/.bashrc
    • Untuk PowerShell di atasWindows:

      [System.Environment]::SetEnvironmentVariable('KUBECONFIG', $ENV:KUBECONFIG, 'Machine')

  8. Uji konfigurasi Anda.

    kubectl get svc

    Contoh output adalah sebagai berikut.

    NAME             TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
    svc/kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   1m