Memulai dengan Amazon EKS — AWS Management Console dan AWS CLI - Amazon EKS

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

Memulai dengan Amazon EKS — AWS Management Console dan AWS CLI

Panduan ini membantu Anda membuat semua sumber daya yang diperlukan untuk memulai dengan Amazon Elastic Kubernetes Service (EKSAmazon) menggunakan dan. AWS Management Console AWS CLI Dalam panduan ini, Anda membuat setiap sumber daya secara manual. Di akhir tutorial ini, Anda akan memiliki EKS cluster Amazon yang berjalan yang dapat Anda gunakan aplikasi.

Prosedur dalam panduan ini memberikan visibilitas lengkap tentang bagaimana setiap sumber daya dibuat dan bagaimana mereka berinteraksi satu sama lain. Jika Anda lebih suka memiliki sebagian besar sumber daya yang dibuat untuk Anda secara otomatis, gunakan eksctl CLI untuk membuat cluster dan node Anda. Untuk informasi selengkapnya, lihat Memulai dengan Amazon EKS — eksctl.

Prasyarat

Sebelum memulai tutorial ini, Anda harus menginstal dan mengkonfigurasi alat dan sumber daya berikut yang Anda butuhkan untuk membuat dan mengelola EKS cluster Amazon.

  • AWS CLI— Alat baris perintah untuk bekerja dengan AWS layanan, termasuk AmazonEKS. Untuk informasi selengkapnya, lihat Menginstal di Panduan Pengguna Antarmuka Baris AWS Perintah. Setelah menginstal AWS CLI, kami sarankan Anda juga mengkonfigurasinya. Untuk informasi selengkapnya, lihat Konfigurasi cepat dengan aws configure di Panduan Pengguna Antarmuka Baris AWS Perintah. Perhatikan bahwa AWS CLI v2 diperlukan untuk menggunakan opsi update-kubeconfig yang ditampilkan di halaman ini.

  • kubectl— Alat baris perintah untuk bekerja dengan Kubernetes klaster. Untuk informasi selengkapnya, lihat Siapkan kubectl dan eksctl.

  • IAMIzin yang diperlukan — Prinsip IAM keamanan yang Anda gunakan harus memiliki izin untuk bekerja dengan EKS IAM peran Amazon, peran terkait layanan,, a AWS CloudFormationVPC, dan sumber daya terkait. Untuk informasi selengkapnya, lihat Tindakan dan Menggunakan peran terkait layanan di IAM Panduan Pengguna. Anda harus menyelesaikan semua langkah dalam panduan ini sebagai pengguna yang sama. Untuk memeriksa pengguna saat ini, jalankan perintah berikut:

    aws sts get-caller-identity

Kami menyarankan Anda menyelesaikan langkah-langkah dalam topik ini di shell Bash. Jika Anda tidak menggunakan shell Bash, beberapa perintah skrip seperti karakter kelanjutan baris dan cara variabel diatur dan digunakan memerlukan penyesuaian untuk shell Anda. Selain itu, aturan mengutip dan melarikan diri untuk shell Anda mungkin berbeda. Untuk informasi selengkapnya, lihat Menggunakan tanda kutip dengan string di Panduan Pengguna Antarmuka Baris AWS Perintah. AWS CLI

Langkah 1: Buat EKS cluster Amazon Anda

penting

Untuk memulai sesederhana dan secepat mungkin, topik ini mencakup langkah-langkah untuk membuat cluster dengan pengaturan default. Sebelum membuat cluster untuk penggunaan produksi, kami sarankan Anda membiasakan diri dengan semua pengaturan dan menyebarkan cluster dengan pengaturan yang memenuhi persyaratan Anda. Untuk informasi selengkapnya, lihat Buat EKS klaster Amazon. Beberapa pengaturan hanya dapat diaktifkan saat membuat cluster Anda.

  1. Buat Amazon VPC dengan subnet publik dan pribadi yang memenuhi EKS persyaratan Amazon. Ganti region-code dengan AWS Wilayah mana pun yang didukung oleh AmazonEKS. Untuk daftar AWS Wilayah, lihat EKStitik akhir dan kuota Amazon di panduan Referensi AWS Umum. Anda dapat mengganti my-eks-vpc-stack dengan nama apa pun yang Anda pilih.

    aws cloudformation create-stack \ --region region-code \ --stack-name my-eks-vpc-stack \ --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
    Tip

    Untuk daftar semua sumber daya yang dibuat oleh perintah sebelumnya, buka AWS CloudFormation konsol di cloudformation. Pilih my-eks-vpc-stack tumpukan dan kemudian pilih tab Sumber Daya.

  2. Buat IAM peran klaster dan lampirkan kebijakan EKS IAM terkelola Amazon yang diperlukan padanya. Kubernetes cluster yang dikelola oleh Amazon EKS melakukan panggilan ke AWS layanan lain atas nama Anda untuk mengelola sumber daya yang Anda gunakan dengan layanan tersebut.

    1. Salin konten berikut ke file bernama eks-cluster-role-trust-policy.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Buat peran.

      aws iam create-role \ --role-name myAmazonEKSClusterRole \ --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
    3. Lampirkan IAM kebijakan EKS terkelola Amazon yang diperlukan ke peran tersebut.

      aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSClusterPolicy \ --role-name myAmazonEKSClusterRole
  3. Buka EKS konsol Amazon di https://console.aws.amazon.com/eks/rumah#/cluster.

    Pastikan bahwa AWS Region yang ditampilkan di kanan atas konsol Anda adalah AWS Wilayah tempat Anda ingin membuat klaster. Jika tidak, pilih dropdown di sebelah nama AWS Region dan pilih AWS Region yang ingin Anda gunakan.

  4. Pilih Add cluster, lalu pilih Create. Jika Anda tidak melihat opsi ini, pilih Cluster di panel navigasi kiri terlebih dahulu.

  5. Pada halaman Configure cluster, lakukan hal berikut:

    1. Masukkan Nama untuk klaster Anda, sepertimy-cluster. Nama hanya dapat berisi karakter alfanumerik (peka huruf besar/kecil) dan tanda hubung. Itu harus dimulai dengan karakter alfanumerik dan tidak boleh lebih dari 100 karakter. Nama harus unik di dalam AWS Wilayah dan AWS akun tempat Anda membuat klaster.

    2. Untuk Peran Layanan Cluster, pilih myAmazonEKSClusterRole.

    3. Biarkan pengaturan yang tersisa pada nilai defaultnya dan pilih Berikutnya.

  6. Pada halaman Tentukan jaringan, lakukan hal berikut:

    1. Pilih ID VPC yang Anda buat pada langkah sebelumnya dari daftar VPCdropdown. Ini adalah sesuatu seperti vpc-00x0000x000x0x000 | my-eks-vpc-stack-VPC.

    2. Biarkan pengaturan yang tersisa pada nilai defaultnya dan pilih Berikutnya.

  7. Pada halaman Konfigurasi observabilitas, pilih Berikutnya.

  8. Pada halaman Pilih add-on, pilih Berikutnya.

    Untuk informasi lebih lanjut tentang add-on, lihatEKSPengaya Amazon.

  9. Pada halaman Konfigurasi pengaturan add-on yang dipilih, pilih Berikutnya.

  10. Pada halaman Tinjau dan buat, pilih Buat.

    Di sebelah kanan nama cluster, status cluster adalah Creating selama beberapa menit hingga proses penyediaan cluster selesai. Jangan lanjutkan ke langkah berikutnya sampai statusnya Aktif.

    catatan

    Anda mungkin menerima kesalahan bahwa salah satu Availability Zone dalam permintaan Anda tidak memiliki kapasitas yang cukup untuk membuat EKS klaster Amazon. Jika hal ini terjadi, output galat berisi Availability Zones yang dapat mendukung klaster baru. Cobalah untuk kembali membuat klaster dengan setidaknya dua subnet yang terletak di Availability Zones yang didukung untuk akun Anda. Untuk informasi selengkapnya, lihat Kapasitas tidak mencukupi.

Langkah 2: Konfigurasikan komputer Anda agar bisa berkomunikasi dengan klaster Anda

Di bagian ini, Anda akan membuat file kubeconfig untuk klaster Anda. Pengaturan dalam file ini memungkinkan kubectl CLI untuk berkomunikasi dengan cluster Anda.

Sebelum melanjutkan, pastikan pembuatan klaster Anda berhasil diselesaikan di Langkah 1.

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

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

    Secara default, config file dibuat ~/.kube atau konfigurasi cluster baru ditambahkan ke config file yang ada di~/.kube.

  2. Uji konfigurasi Anda.

    kubectl get svc
    catatan

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

    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

Langkah 3: Buat node

penting

Untuk memulai sesederhana dan secepat mungkin, topik ini mencakup langkah-langkah untuk membuat node dengan pengaturan default. Sebelum membuat node untuk penggunaan produksi, kami sarankan Anda membiasakan diri dengan semua pengaturan dan menyebarkan node dengan pengaturan yang memenuhi persyaratan Anda. Untuk informasi selengkapnya, lihat Mengelola sumber daya komputasi dengan menggunakan node. Beberapa pengaturan hanya dapat diaktifkan saat membuat node Anda.

Anda dapat membuat sebuah klaster dengan salah satu jenis simpul berikut. Untuk mempelajari selengkapnya tentang setiap jenis, lihat Mengelola sumber daya komputasi dengan menggunakan node. Setelah klaster Anda di-deploy, Anda dapat menambahkan jenis simpul lainnya.

  • Fargate — Linux — Pilih jenis node ini jika Anda ingin menjalankan Linux aplikasi padaSederhanakan manajemen komputasi dengan Fargate AWS. Fargate adalah mesin komputasi tanpa server yang memungkinkan Anda menerapkan Kubernetes Pods tanpa mengelola EC2 instans Amazon.

  • Node terkelola - Linux — Pilih jenis node ini jika Anda ingin menjalankan aplikasi Amazon Linux di EC2 instans Amazon. Meskipun tidak tercantum dalam panduan ini, Anda juga dapat menambahkan simpul Windows swakelola dan Bottlerocket ke klaster Anda.

Fargate - Linux

Buat profil Fargate. Saat Kubernetes Pods digunakan dengan kriteria yang sesuai dengan kriteria yang ditentukan dalam profil, Pods dikerahkan ke Fargate.

Untuk membuat profil Fargate

  1. Buat IAM peran dan lampirkan kebijakan EKS IAM terkelola Amazon yang diperlukan padanya. Saat kluster Anda membuat Pods pada infrastruktur Fargate, komponen yang berjalan pada infrastruktur Fargate harus melakukan panggilan atas nama Anda. AWS APIs Ini agar mereka dapat melakukan tindakan seperti menarik gambar kontainer dari Amazon ECR atau merutekan log ke AWS layanan lain. Amazon EKS Pod peran eksekusi memberikan IAM izin untuk melakukan ini.

    1. Salin isi berikut ke file bernama pod-execution-role-trust-policy.json. Ganti region-code dengan AWS Wilayah tempat cluster Anda berada. Jika Anda ingin menggunakan peran yang sama di semua AWS Wilayah di akun Anda, ganti region-code dengan*. Ganti 111122223333 dengan ID akun Anda dan my-cluster dengan nama cluster Anda. Jika Anda ingin menggunakan peran yang sama untuk semua cluster di akun Anda, ganti my-cluster dengan\*.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws: eks:region-code:111122223333:fargateprofile/my-cluster/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Buat Pod IAMperan eksekusi.

      aws iam create-role \ --role-name AmazonEKSFargatePodExecutionRole \ --assume-role-policy-document file://"pod-execution-role-trust-policy.json"
    3. Lampirkan IAM kebijakan EKS terkelola Amazon yang diperlukan ke peran tersebut.

      aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy \ --role-name AmazonEKSFargatePodExecutionRole
    4. Buka EKS konsol Amazon di https://console.aws.amazon.com/eks/rumah#/cluster.

    5. Pada halaman Clusters, pilih my-cluster klaster.

    6. Pada my-cluster halaman, lakukan hal berikut:

    7. Pilih tab Compute.

    8. Di bawah Profil Fargate, pilih Tambahkan Profil Fargate.

  2. Pada halaman Konfigurasi Profil Fargate, lakukan hal berikut:

    1. Untuk Nama, masukkan nama unik untuk profil Fargate Anda, seperti my-profile.

    2. Untuk peran eksekusi Pod, pilih A mazonEKSFargate PodExecutionRole yang Anda buat pada langkah sebelumnya.

    3. Pilih dropdown Subnet dan batalkan pilihan subnet apa pun dengan namanya. Public Hanya subnet pribadi yang didukung untuk Pods yang berjalan di Fargate.

    4. Pilih Berikutnya.

  3. Pada Konfigurasi Pod halaman seleksi, lakukan hal berikut:

    1. Untuk Namespace, masukkan default.

    2. Pilih Berikutnya.

  4. Pada halaman Periksa dan buat, tinjau informasi untuk profil Fargate Anda dan pilih Buat.

  5. Setelah beberapa menit, Status di bagian konfigurasi Profil Fargate akan berubah dari Membuat menjadi Aktif. Jangan lanjutkan ke langkah berikutnya sampai statusnya Aktif.

  6. Jika Anda berencana untuk menyebarkan semua Pods ke Fargate (tidak ada ke EC2 node Amazon), lakukan hal berikut untuk membuat profil Fargate lain dan jalankan penyelesai nama default (CoreDNS) di Fargate.

    catatan

    Jika Anda tidak melakukan ini, Anda tidak akan memiliki node saat ini.

    1. Pada halaman Profil Fargate, pilih my-profile.

    2. Di bawah profil Fargate, pilih Tambahkan Profil Fargate.

    3. Untuk Nama, masukkan CoreDNS.

    4. Untuk peran eksekusi Pod, pilih A mazonEKSFargate PodExecutionRole yang Anda buat pada langkah sebelumnya.

    5. Pilih dropdown Subnet dan batalkan pilihan subnet apa pun dengan namanya. Public Hanya subnet pribadi yang didukung untuk Pods berjalan di Fargate.

    6. Pilih Berikutnya.

    7. Untuk Namespace, masukkan kube-system.

    8. Pilih Match labels, lalu pilih Add label.

    9. Masukkan k8s-app untuk Kunci dan kube-dns untuk nilai. Ini diperlukan untuk penyelesai nama default (CoreDNS) untuk menyebarkan ke Fargate.

    10. Pilih Berikutnya.

    11. Pada halaman Periksa dan buat, tinjau informasi untuk profil Fargate Anda dan pilih Buat.

    12. Jalankan perintah berikut untuk menghapus eks.amazonaws.com/compute-type : ec2 anotasi default dari CoreDNS Pods.

      kubectl patch deployment coredns \ -n kube-system \ --type json \ -p='[{"op": "remove", "path": "/spec/template/metadata/annotations/eks.amazonaws.com~1compute-type"}]'
      catatan

      Sistem membuat dan menyebarkan dua node berdasarkan label profil Fargate yang Anda tambahkan. Anda tidak akan melihat apa pun yang tercantum dalam grup Node karena tidak berlaku untuk node Fargate, tetapi Anda akan melihat node baru yang tercantum di tab Ikhtisar.

Managed nodes - Linux

Buat grup node terkelola, tentukan subnet dan IAM peran node yang Anda buat di langkah sebelumnya.

Untuk membuat Amazon EC2 Linux grup simpul terkelola

  1. Buat IAM peran node dan lampirkan kebijakan EKS IAM terkelola Amazon yang diperlukan ke dalamnya. kubeletDaemon EKS node Amazon membuat panggilan ke AWS APIs atas nama Anda. Node menerima izin untuk API panggilan ini melalui profil IAM instance dan kebijakan terkait.

    1. Salin isi berikut ke file bernama node-role-trust-policy.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Buat IAM peran simpul.

      aws iam create-role \ --role-name myAmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-policy.json"
    3. Lampirkan IAM kebijakan terkelola yang diperlukan ke peran tersebut.

      aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name myAmazonEKSNodeRole
    4. Buka EKS konsol Amazon di https://console.aws.amazon.com/eks/rumah#/cluster.

    5. Pilih nama cluster yang Anda buat di Langkah 1: Buat EKS klaster Amazon Anda, seperti my-cluster.

    6. Pada my-cluster halaman, lakukan hal berikut:

    7. Pilih tab Compute.

    8. Pilih Tambahkan Grup Node.

  2. Pada halaman Configure Node Group, lakukan hal berikut:

    1. Untuk Nama, masukkan nama unik untuk grup node terkelola Anda, seperti my-nodegroup. Nama grup node tidak boleh lebih dari 63 karakter. Itu harus dimulai dengan huruf atau digit, tetapi juga dapat menyertakan tanda hubung dan garis bawah untuk karakter yang tersisa.

    2. Untuk nama IAM peran Node, pilih myAmazonEKSNodeRole peran yang Anda buat pada langkah sebelumnya. Kami menyarankan agar setiap grup node menggunakan IAM peran uniknya sendiri.

    3. Pilih Berikutnya.

  3. Pada halaman Setel konfigurasi komputasi dan penskalaan, terima nilai default dan pilih Berikutnya.

  4. Pada halaman Tentukan jaringan, terima nilai default dan pilih Berikutnya.

  5. Pada halaman Tinjauan dan buat, tinjau konfigurasi grup simpul terkelola dan pilih Buat.

  6. Setelah beberapa menit, Status di bagian Konfigurasi Grup simpul akan berubah dari Sedang membuat ke Aktif. Jangan lanjutkan ke langkah berikutnya sampai statusnya Aktif.

Langkah 4: Lihat sumber daya

Anda dapat melihat node Anda dan Kubernetes beban kerja.

  1. Pada panel navigasi sebelah kiri, pilih Klaster. Dalam daftar Cluster, pilih nama cluster yang Anda buat, seperti my-cluster.

  2. Pada my-cluster halaman, pilih yang berikut ini:

    1. Tab komputasi — Anda melihat daftar Node yang digunakan untuk cluster. Anda dapat memilih nama node untuk melihat informasi lebih lanjut tentangnya.

    2. Tab sumber daya - Anda melihat semua Kubernetes sumber daya yang digunakan secara default ke EKS kluster Amazon. Pilih jenis sumber daya apa pun di konsol untuk mempelajarinya lebih lanjut.

Langkah 5: Hapus sumber daya

Setelah Anda selesai dengan cluster dan node yang Anda buat untuk tutorial ini, Anda harus menghapus sumber daya yang Anda buat. Jika Anda ingin melakukan lebih banyak hal dengan cluster ini sebelum menghapus sumber daya, lihatLangkah selanjutnya.

  1. Hapus grup node atau profil Fargate yang Anda buat.

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

    2. Pada panel navigasi sebelah kiri, pilih Klaster. Dalam daftar cluster, pilih my-cluster.

    3. Pilih tab Compute.

    4. Jika Anda membuat grup simpul, pilih my-nodegroup grup simpul dan kemudian pilih Hapus. Masuk my-nodegroup, dan kemudian pilih Hapus.

    5. Untuk setiap profil Fargate yang Anda buat, pilih dan kemudian pilih Hapus. Masukkan nama profil, lalu pilih Hapus.

      catatan

      Saat menghapus profil Fargate kedua, Anda mungkin harus menunggu yang pertama selesai dihapus.

    6. Jangan lanjutkan sampai grup node atau profil Fargate dihapus.

  2. Hapus klaster .

    1. Pada panel navigasi sebelah kiri, pilih Klaster. Dalam daftar cluster, pilih my-cluster.

    2. Pilih Hapus klaster.

    3. Masuk my-cluster dan kemudian pilih Hapus. Jangan lanjutkan sampai cluster dihapus.

  3. Hapus VPC AWS CloudFormation tumpukan yang Anda buat.

    1. Buka AWS CloudFormation konsol.

    2. Pilih my-eks-vpc-stack tumpukan, lalu pilih Hapus.

    3. Dalam Hapus my-eks-vpc-stack kotak dialog konfirmasi, pilih Hapus tumpukan.

  4. Hapus IAM peran yang Anda buat.

    1. Buka IAM konsol di https://console.aws.amazon.com/iam/.

    2. Di panel navigasi sebelah kiri, pilih Peran.

    3. Pilih setiap peran yang Anda buat dari daftar ( myAmazonEKSClusterRole , serta A mazonEKSFargate PodExecutionRole atau myAmazonEKSNodeRole). Pilih Hapus, masukkan teks konfirmasi yang diminta, lalu pilih Hapus.

Langkah selanjutnya

Topik dokumentasi berikut membantu Anda untuk memperluas fungsionalitas klaster Anda.