Bantu tingkatkan 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 Edit halaman ini pada GitHub tautan 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.
Topik ini menjelaskan cara memulai menjalankan Pod di AWS Fargate dengan klaster Amazon EKS Anda.
Jika Anda membatasi akses ke titik akhir publik klaster Anda menggunakan blok CIDR, sebaiknya Anda juga mengaktifkan akses titik akhir pribadi. Dengan cara ini, Fargate Pod dapat berkomunikasi dengan cluster. Tanpa mengaktifkan titik akhir pribadi, blok CIDR yang Anda tentukan untuk akses publik harus menyertakan sumber keluar dari VPC Anda. Untuk informasi selengkapnya, lihat Kontrol akses jaringan ke titik akhir server API cluster.
Prasyarat
Sebuah klaster yang sudah ada. Jika Anda belum memiliki cluster Amazon EKS, lihatMemulai dengan Amazon EKS.
Langkah 1: Pastikan node yang ada dapat berkomunikasi dengan Fargate Pods
Jika Anda bekerja dengan cluster baru tanpa node, atau cluster dengan hanya grup node terkelola (lihatSederhanakan siklus hidup node dengan grup node terkelola), Anda dapat melompat keLangkah 2: Buat peran eksekusi Fargate Pod.
Asumsikan bahwa Anda bekerja dengan cluster yang sudah ada yang sudah memiliki node yang terkait dengannya. Pastikan bahwa Pod pada node ini dapat berkomunikasi secara bebas dengan Pod yang berjalan di Fargate. Pod yang berjalan di Fargate secara otomatis dikonfigurasi untuk menggunakan grup keamanan klaster untuk klaster yang terkait dengannya. Pastikan bahwa setiap node yang ada di cluster Anda dapat mengirim dan menerima lalu lintas ke dan dari grup keamanan klaster. Grup node terkelola secara otomatis dikonfigurasi untuk menggunakan grup keamanan klaster juga, jadi Anda tidak perlu memodifikasi atau memeriksa kompatibilitas ini (lihatSederhanakan siklus hidup node dengan grup node terkelola).
Untuk grup node yang sudah ada yang dibuat dengan eksctl
atau AWS CloudFormation templat terkelola Amazon EKS, Anda dapat menambahkan grup keamanan klaster ke node secara manual. Atau, sebagai alternatif, Anda dapat memodifikasi templat peluncuran grup Auto Scaling untuk grup node untuk melampirkan grup keamanan klaster ke instance. Untuk informasi selengkapnya, lihat Mengubah grup keamanan instans di Panduan Pengguna Amazon VPC.
Anda dapat memeriksa grup keamanan untuk klaster Anda AWS Management Console di bagian bawah Jaringan untuk cluster. Atau, Anda dapat melakukan ini menggunakan perintah AWS CLI berikut. Saat menggunakan perintah ini, ganti my-cluster
dengan nama cluster Anda.
aws eks describe-cluster --name my-cluster --query cluster.resourcesVpcConfig.clusterSecurityGroupId
Langkah 2: Buat peran eksekusi Fargate Pod
Saat klaster Anda membuat Pod di AWS Fargate, komponen yang berjalan di infrastruktur Fargate harus melakukan panggilan atas nama Anda. AWS APIs Peran eksekusi Amazon EKS Pod memberikan izin IAM untuk melakukan ini. Untuk membuat peran eksekusi AWS Fargate Pod, lihat. Peran IAM Eksekusi Amazon EKS Pod
catatan
Jika Anda membuat klaster dengan eksctl
menggunakan --fargate
opsi, klaster Anda sudah memiliki peran eksekusi Pod yang dapat Anda temukan di konsol IAM dengan pola eksctl-my-cluster-FargatePodExecutionRole-ABCDEFGHIJKL
tersebut. Demikian pula, jika Anda gunakan eksctl
untuk membuat profil Fargate Anda, eksctl
buat peran eksekusi Pod Anda jika belum dibuat.
Langkah 3: Buat profil Fargate untuk cluster Anda
Sebelum Anda dapat menjadwalkan Pod yang berjalan di Fargate di klaster Anda, Anda harus menentukan profil Fargate yang menentukan Pod mana yang menggunakan Fargate saat diluncurkan. Untuk informasi selengkapnya, lihat Tentukan Pod mana yang menggunakan AWS Fargate saat diluncurkan.
catatan
Jika Anda membuat klaster dengan eksctl
menggunakan --fargate
opsi, maka profil Fargate sudah dibuat untuk klaster Anda dengan pemilih untuk semua Pod di dan namespace. kube-system
default
Gunakan prosedur berikut untuk membuat profil Fargate untuk namespaces lain yang ingin Anda gunakan dengan Fargate.
Anda dapat membuat profil Fargate menggunakan salah satu alat ini:
eksctl
Prosedur ini membutuhkan eksctl
versi 0.204.0
atau yang lebih baru. Anda dapat memeriksa versi Anda dengan perintah berikut:
eksctl version
Untuk petunjuk tentang cara menginstal atau meningkatkaneksctl
, lihat Instalasieksctl
dokumentasi.
Untuk membuat profil Fargate dengan eksctl
Buat profil Fargate Anda dengan eksctl
perintah berikut, ganti masing-masing example value
dengan nilai Anda sendiri. Anda diminta untuk menentukan namespace. Namun, --labels
opsi tidak diperlukan.
eksctl create fargateprofile \ --cluster my-cluster \ --name my-fargate-profile \ --namespace my-kubernetes-namespace \ --labels key=value
Anda dapat menggunakan wildcard tertentu untuk my-kubernetes-namespace
dan key=value
label. Untuk informasi selengkapnya, lihat Wildcard profil Fargate.
AWS Management Console
Untuk membuat profil Fargate dengan AWS Management Console
-
Buka konsol Amazon EKS
. -
Pilih klaster untuk membuat profil Fargate untuk.
-
Pilih tab Compute.
-
Di bawah Profil Fargate, pilih Tambahkan profil Fargate.
-
Pada halaman profil Konfigurasi Fargate, lakukan hal berikut:
-
Untuk Nama, masukkan nama untuk profil Fargate Anda. Nama harus unik.
-
Untuk peran eksekusi Pod, pilih peran eksekusi Pod yang akan digunakan dengan profil Fargate Anda. Hanya peran IAM dengan kepala
eks-fargate-pods.amazonaws.com
layanan yang ditampilkan. Jika Anda tidak melihat peran apa pun yang terdaftar, Anda harus membuatnya. Untuk informasi selengkapnya, lihat Peran IAM Eksekusi Amazon EKS Pod. -
Ubah Subnet yang dipilih sesuai kebutuhan.
catatan
Hanya subnet pribadi yang didukung untuk Pod yang berjalan di Fargate.
-
Untuk Tandai, Anda dapat menandai profil Fargate Anda secara opsional. Tag ini tidak menyebar ke sumber daya lain yang terkait dengan profil seperti Pod.
-
Pilih Berikutnya.
-
-
Pada halaman pemilihan Configure Pod, lakukan hal berikut:
-
Untuk Namespace, masukkan namespace yang cocok dengan Pod.
-
Anda dapat menggunakan ruang nama tertentu untuk mencocokkan, seperti
kube-system
atau.default
-
Anda dapat menggunakan wildcard tertentu (misalnya,
prod-*
) untuk mencocokkan beberapa ruang nama (misalnya,prod-deployment
dan).prod-test
Untuk informasi selengkapnya, lihat Wildcard profil Fargate.
-
-
(Opsional) Tambahkan label Kubernetes ke pemilih. Secara khusus menambahkannya ke salah satu yang harus dicocokkan dengan Pod di namespace tertentu.
-
Anda dapat menambahkan label
infrastructure: fargate
ke pemilih sehingga hanya Pod di namespace tertentu yang juga memiliki labelinfrastructure: fargate
Kubernetes yang cocok dengan pemilih. -
Anda dapat menggunakan wildcard tertentu (misalnya,
key?: value?
) untuk mencocokkan beberapa ruang nama (misalnya,keya: valuea
dan).keyb: valueb
Untuk informasi selengkapnya, lihat Wildcard profil Fargate.
-
-
Pilih Berikutnya.
-
-
Pada halaman Periksa dan buat, tinjau informasi untuk profil Fargate Anda dan pilih Buat.
Langkah 4: Perbarui CoreDNS
Secara default, CoreDNS dikonfigurasi untuk berjalan di EC2 infrastruktur Amazon di kluster Amazon EKS. Jika Anda hanya ingin menjalankan Pod di Fargate di klaster Anda, selesaikan langkah-langkah berikut.
catatan
Jika Anda membuat cluster Anda dengan eksctl
menggunakan --fargate
opsi, maka Anda dapat melompat keLangkah selanjutnya.
-
Buat profil Fargate untuk CoreDNS dengan perintah berikut. Ganti
my-cluster
dengan nama klaster Anda,111122223333
dengan ID akun Anda,AmazonEKSFargatePodExecutionRole
dengan nama peran eksekusi Pod Anda, dan0000000000000001
0000000000000002
,, dan0000000000000003
dengan subnet pribadi Anda. IDs Jika Anda tidak memiliki peran eksekusi Pod, Anda harus membuatnya terlebih dahulu (lihatLangkah 2: Buat peran eksekusi Fargate Pod).penting
Peran ARN tidak dapat menyertakan jalur selain.
/
Misalnya, jika nama peran Andadevelopment/apps/my-role
, Anda perlu mengubahnya menjadimy-role
saat menentukan ARN untuk peran tersebut. Format ARN peran harusarn:aws: iam::111122223333:role/role-name
.aws eks create-fargate-profile \ --fargate-profile-name coredns \ --cluster-name my-cluster \ --pod-execution-role-arn arn:aws: iam::111122223333:role/AmazonEKSFargatePodExecutionRole \ --selectors namespace=kube-system,labels={k8s-app=kube-dns} \ --subnets subnet-0000000000000001 subnet-0000000000000002 subnet-0000000000000003
-
Jalankan perintah berikut untuk menghapus
eks.amazonaws.com/compute-type : ec2
anotasi dari Pod CoreDNS.kubectl patch deployment coredns \ -n kube-system \ --type json \ -p='[{"op": "remove", "path": "/spec/template/metadata/annotations/eks.amazonaws.com~1compute-type"}]'
Langkah selanjutnya
-
Anda dapat mulai memigrasi aplikasi yang ada untuk berjalan di Fargate dengan alur kerja berikut.
-
Buat profil Fargateyang cocok dengan namespace Kubernetes dan label Kubernetes aplikasi Anda.
-
Hapus dan buat ulang Pod yang ada sehingga dijadwalkan di Fargate. Misalnya, perintah berikut memicu peluncuran penerapan.
coredns
Anda dapat memodifikasi namespace dan tipe deployment untuk memperbarui Pod spesifik Anda.kubectl rollout restart -n kube-system deployment coredns
-
-
Menerapkan Rute aplikasi dan lalu lintas HTTP dengan Application Load Balancers untuk memungkinkan objek Ingress untuk Pod Anda berjalan di Fargate.
-
Anda dapat menggunakannya Sesuaikan sumber daya pod dengan Vertical Pod Autoscaler untuk mengatur ukuran CPU dan memori awal yang benar untuk Pod Fargate Anda, lalu gunakan Menskalakan penerapan pod dengan Horizontal Pod Autoscaler untuk menskalakan Pod tersebut. Jika Anda ingin Vertical Pod Autoscaler untuk secara otomatis men-deploy ulang Pod ke Fargate dengan kombinasi CPU dan memori yang lebih tinggi, atur mode Vertical Pod Autoscaler ke salah satu atau.
Auto
Recreate
Ini untuk memastikan fungsionalitas yang benar. Untuk informasi selengkapnya, lihat dokumentasi Vertical Pod Autoscalerpada. GitHub -
Anda dapat mengatur kolektor AWS Distro for OpenTelemetry
(ADOT) untuk pemantauan aplikasi dengan mengikuti petunjuk ini.