Hubungkan kubectl ke cluster EKS dengan membuat file kubeconfig - Amazon EKS

View a markdown version of this page

Hubungkan kubectl ke cluster EKS dengan membuat file kubeconfig - Amazon EKS

Bantu meningkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih GitHub tautan Edit halaman ini di yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Hubungkan kubectl ke cluster EKS dengan membuat file kubeconfig

Tip

Daftar untuk lokakarya Amazon EKS mendatang.

Dalam topik ini, Anda membuat kubeconfig file untuk cluster Anda (atau memperbarui yang sudah ada).

Alat kubectl baris perintah menggunakan informasi konfigurasi dalam kubeconfig file untuk berkomunikasi dengan server API cluster. Untuk informasi selengkapnya, lihat Mengatur Akses Cluster Menggunakan File kubeconfig dalam dokumentasi Kubernetes.

Amazon EKS menggunakan aws eks get-token perintah dengan kubectl untuk otentikasi cluster. Secara default, AWS CLI menggunakan kredenSIAL yang sama yang dikembalikan dengan perintah berikut:

aws sts get-caller-identity
  • Sebuah klaster Amazon EKS yang sudah ada. Untuk menyebarkannya, lihatMemulai dengan Amazon EKS.

  • Alat kubectl baris perintah diinstal pada perangkat Anda atau AWS CloudShell. Versi dapat sama dengan atau hingga satu versi minor lebih awal atau lebih baru dari versi Kubernetes cluster Anda. Misalnya, jika versi cluster Anda adalah1.29, Anda dapat menggunakan kubectl versi 1.281.29,, atau 1.30 dengannya. Untuk menginstal atau memutakhirkan kubectl, lihat Siapkan kubectl dan eksctl .

  • Versi 2.12.3 atau yang lebih baru atau versi 1.27.160 atau yang lebih baru dari AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi pada perangkat Anda atau AWS CloudShell. Untuk memeriksa versi Anda saat ini, gunakanaws --version | cut -d / -f2 | cut -d ' ' -f1. Manajer paket sepertiyum,apt-get, atau Homebrew untuk macOS sering memiliki beberapa versi di belakang versi terbaru AWS CLI. Untuk menginstal versi terbaru, lihat Meng instal dan konfigurasi cepat dengan aws configure di Panduan Pengguna Antar AWS muka Baris Perintah. Versi AWS CLI yang diinstal AWS CloudShell mungkin juga beberapa versi di belakang versi terbaru. Untuk memperbaruinya, lihat AWS Meng instal CLI ke direktori home Anda di Panduan AWS CloudShell Pengguna.

  • Pengguna atau peran IAM dengan izin untuk menggunakan tindakan eks:DescribeCluster API untuk cluster yang Anda tentukan. Untuk informasi selengkapnya, lihat Contoh kebijakan berbasis identitas Amazon EKS. Jika Anda menggunakan identitas dari penyedia OpenID Connect Anda sendiri untuk mengakses cluster Anda, lihat Menggunakan kubectl dalam dokumentasi Kubernetes untuk membuat atau memperbarui file Anda. kubeconfig

Hubungkan menggunakan konsol EKS (CloudShell)

Anda dapat terhubung ke cluster Anda langsung dari Konsol Manajemen AWS penggunaan AWS CloudShell, tanpa pengaturan lokal apa pun.

  1. Buka konsol Amazon EKS di https://console.aws.amazon.com/eks/home #/cluster.

  2. Pilih nama cluster yang ingin Anda sambungkan.

  3. Pada halaman detail cluster, pilih Connect dari bilah tindakan kanan atas.

  4. AWS CloudShell terbuka dengan kubectl pra-konfigurasi untuk cluster Anda.

Setelah terhubung, Anda dapat menjalankan kubectl perintah segera:

kubectl get nodes kubectl get pods -A

CloudShell sesi meliputikubectl, AWS CLI, dan CloudShell utilitas standar. Fitur ini mendukung cluster dengan titik akhir server API publik dan pribadi. Untuk cluster dengan titik akhir pribadi, CloudShell secara otomatis meluncurkan lingkungan VPC untuk menjangkau server API pribadi cluster Anda dan meminta Anda untuk memasukkan nama untuk lingkungan.

Buat file kubeconfig menggunakan AWS CLI

  • Versi 2.12.3 atau yang lebih baru atau versi 1.27.160 atau yang lebih baru dari AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi pada perangkat Anda atau AWS CloudShell. Untuk memeriksa versi Anda saat ini, gunakanaws --version | cut -d / -f2 | cut -d ' ' -f1. Manajer paket sepertiyum,apt-get, atau Homebrew untuk macOS sering memiliki beberapa versi di belakang versi terbaru AWS CLI. Untuk menginstal versi terbaru, lihat Meng instal dan konfigurasi cepat dengan aws configure di Panduan Pengguna Antar AWS muka Baris Perintah. Versi AWS CLI yang diinstal AWS CloudShell mungkin juga beberapa versi di belakang versi terbaru. Untuk memperbaruinya, lihat AWS Meng instal CLI ke direktori home Anda di Panduan AWS CloudShell Pengguna.

  • Izin untuk menggunakan tindakan eks:DescribeCluster API untuk cluster yang Anda tentukan. Untuk informasi selengkapnya, lihat Contoh kebijakan berbasis identitas Amazon EKS.

    1. Buat atau perbarui file kubeconfig untuk klaster Anda. Ganti region-code dengan AWS Wilayah tempat cluster Anda berada dan ganti my-cluster dengan nama cluster Anda.

      aws eks update-kubeconfig --region region-code --name my-cluster

      Secara default, file konfigurasi yang dihasilkan dibuat di kubeconfig jalur default (.kube) di direktori home Anda atau digabungkan dengan config file yang ada di lokasi tersebut. 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, prinsip IAM dalam rantai kredensia AWS CLI atau SDK default Anda digunakan. Anda dapat melihat identitas AWS CLI atau SDK default Anda dengan menjalankan aws sts get-caller-identity perintah.

      Untuk semua opsi yang tersedia, jalankan aws eks update-kubeconfig help perintah atau lihat update-kubeconfig di Referensi Perintah CLI. AWS

    2. 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

      Jika Anda menerima kesalahan jenis otorisasi atau sumber daya, lihat topik Tidak sah atau akses ditolak (kubectl) pemecahan masalah.