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.
Menyederhanakan manajemen komputasi dengan AWS Fargate
Topik ini membahas penggunaan Amazon EKS untuk menjalankan Kubernetes Pod di Fargate. AWS Fargate adalah teknologi yang menyediakan kapasitas komputasi sesuai permintaan dan berukuran tepat untuk kontainer. https://aws.amazon.com/what-are-containers
Anda dapat mengontrol Pod mana yang dimulai di Fargate dan bagaimana mereka berjalan dengan profil Fargate. Profil Fargate didefinisikan sebagai bagian dari cluster Amazon EKS Anda. Amazon EKS mengintegrasikan Kubernetes dengan Fargate dengan menggunakan pengontrol yang dibangun dengan menggunakan model hulu yang dapat diper AWS luas yang disediakan oleh Kubernetes. Pengontrol ini berjalan sebagai bagian dari pesawat kontrol Kubernetes yang dikelola Amazon EKS dan bertanggung jawab untuk menjadwalkan Pod Kubernetes asli ke Fargate. Pengendali Fargate termasuk penjadwal baru yang berjalan dengan penjadwal Kubernetes default selain beberapa pengendali masuk urusan mutasi dan validasi. Saat Anda memulai Pod yang memenuhi kriteria untuk berjalan di Fargate, pengontrol Fargate yang berjalan di cluster mengenali, memperbarui, dan menjadwalkan Pod ke Fargate.
Topik ini menjelaskan berbagai komponen Pod yang berjalan di Fargate, dan menyebutkan pertimbangan khusus untuk menggunakan Fargate dengan Amazon EKS.
AWS Pertimbangan Fargate
Berikut adalah beberapa hal yang perlu dipertimbangkan tentang menggunakan Fargate di Amazon EKS.
-
Setiap Pod yang berjalan di Fargate memiliki batas komputasi sendiri. Mereka tidak berbagi kernel yang mendasarinya, sumber daya CPU, sumber daya memori, atau antarmuka jaringan elastis dengan Pod lain.
-
Network Load Balancers dan Application Load Balancers (ALB) dapat digunakan dengan Fargate dengan target IP saja. Untuk informasi selengkapnya, lihat Buat penyeimbang beban jaringan dan Rute aplikasi dan lalu lintas HTTP dengan Application Load Balancers.
-
Layanan terbuka Fargate hanya berjalan pada mode IP tipe target, dan bukan pada mode IP node. Cara yang disarankan untuk memeriksa konektivitas dari layanan yang berjalan pada node terkelola dan layanan yang berjalan di Fargate adalah dengan menghubungkan melalui nama layanan.
-
Pod harus cocok dengan profil Fargate pada saat dijadwalkan untuk dijalankan di Fargate. Pod yang tidak cocok dengan profil Fargate mungkin macet sebagai
Pending. Jika ada profil Fargate yang cocok, Anda dapat menghapus Pod tertunda yang telah Anda buat untuk menjadwalkan ulang mereka ke Fargate. -
Daemonsets tidak didukung di Fargate. Jika aplikasi Anda memerlukan daemon, konfigurasikan ulang daemon tersebut untuk dijalankan sebagai wadah sidecar di Pod Anda.
-
Kontainer istimewa tidak didukung di Fargate.
-
Pod yang berjalan di Fargate tidak dapat menentukan
HostPortatauHostNetworkdalam manifes Pod. -
Batas default
nofiledannprocsoft adalah 1024 dan batas keras adalah 65535 untuk Fargate Pod. -
GPU saat ini tidak tersedia di Fargate.
-
Pod yang berjalan di Fargate hanya didukung pada subnet pribadi (dengan akses gateway NAT ke AWS layanan, tetapi bukan rute langsung ke Gateway Internet), sehingga VPC cluster Anda harus memiliki subnet pribadi yang tersedia. Untuk klaster tanpa akses internet luar, lihat Menyebarkan cluster pribadi dengan akses internet terbatas.
-
Anda dapat menggunakan sumber daya Adjust pod dengan Vertical Pod Autoscaler untuk mengatur ukuran awal CPU dan memori yang benar untuk Pod Fargate Anda, lalu menggunakan penyebaran S cale pod dengan Horizontal Pod Auto scaler untuk menskalakan Pod tersebut. Jika Anda ingin Vertical Pod Autoscaler secara otomatis menerapkan kembali Pod ke Fargate dengan kombinasi CPU dan memori yang lebih besar, atur mode untuk Vertical Pod Autoscaler ke salah satu atau
Autountuk memastikan fungsionalitas yang benar.RecreateUntuk informasi selengkapnya, lihat dokumentasiVertical Pod Autoscaler di. GitHub -
Resolusi DNS dan nama host DNS harus diaktifkan untuk VPC Anda. Untuk informasi selengkapnya, lihat Melihat dan memperbarui dukungan DNS untuk VPC Anda.
-
Amazon EKS Fargate menambahkan pertahanan mendalam untuk aplikasi Kubernetes dengan mengisolasi setiap Pod dalam Mesin Virtual (VM). Batas VM ini mencegah akses ke sumber daya berbasis host yang digunakan oleh Pod lain jika terjadi pelarian kontainer, yang merupakan metode umum untuk menyerang aplikasi kontainer dan mendapatkan akses ke sumber daya di luar wadah.
Menggunakan Amazon EKS tidak mengubah tanggung jawab Anda di bawah model tanggung jawab bersama. Anda harus mempertimbangkan dengan cermat konfigurasi keamanan cluster dan kontrol tata kelola. Cara teraman untuk mengisolasi aplikasi adalah selalu menjalankannya di cluster terpisah.
-
Profil Fargate mendukung penentuan subnet dari blok CIDR sekunder VPC. Anda mungkin ingin menentukan blok CIDR sekunder. Ini karena ada sejumlah alamat IP yang tersedia di subnet. Akibatnya, ada juga sejumlah Pod yang dapat dibuat di cluster. Dengan menggunakan subnet yang berbeda untuk Pod, Anda dapat meningkatkan jumlah alamat IP yang tersedia. Untuk informasi selengkapnya, lihat Menambahkan blok CIDR IPv4 ke VPC.
-
Layanan metadata instans Amazon EC2 (IMDS) tidak tersedia untuk Pod yang digunakan ke node Fargate. Jika Anda memiliki Pod yang digunakan ke Fargate yang memerlukan kredentif IAM, tetapkan ke Pod Anda menggunakan peran IAM untuk akun layanan. Jika Pod Anda memerlukan akses ke informasi lain yang tersedia melalui IMDS, maka Anda harus mengkodekan informasi ini ke dalam spesifikasi Pod Anda. Ini termasuk AWS Wilayah atau Zona Ketersediaan tempat Pod digunakan.
-
Anda tidak dapat menggunakan Pod Fargate ke Pos Terdepan AWS , Panjang Gel AWS ombang, atau Zona AWS Lokal.
-
Amazon EKS harus menambal Fargate Pod secara berkala agar tetap aman. Kami mencoba pembaruan dengan cara yang mengurangi dampak, tetapi ada kalanya Pod harus dihapus jika tidak berhasil diusir. Ada beberapa tindakan yang dapat Anda lakukan untuk meminimalkan gangguan. Untuk informasi selengkapnya, lihat Tetapkan tindakan untuk AWS acara patching OS Fargate.
-
Plugin Amazon VPC CNI untuk Amazon EKS diinstal pada
node Fargate. Anda tidak dapat menggunakan plugin CNI Alternatif untuk cluster Amazon EKS dengan node Fargate. -
Pod yang berjalan di Fargate secara otomatis memasang sistem file Amazon EFS, tanpa memerlukan langkah instalasi driver manual. Anda tidak dapat menggunakan penyediaan volume persisten dinamis dengan node Fargate, tetapi Anda dapat menggunakan penyediaan statis.
-
Amazon EKS tidak mendukung Fargate Spot.
-
Anda tidak dapat memasang volume Amazon EBS ke Fargate Pod.
-
Anda dapat menjalankan pengontrol Amazon EBS CSI di node Fargate, tetapi node Amazon EBS CSI hanya DaemonSet dapat berjalan pada instans Amazon EC2.
-
Versi rollback: Versi rollback tidak didukung untuk node pekerja Fargate. Anda dapat memutar kembali bidang kontrol cluster yang menggunakan Fargate, tetapi pod Fargate yang menjalankan versi Kubernetes yang sama sebagai bidang kontrol memicu wawasan miring versi kubelet dengan status ERROR. Jika Anda memiliki pod Fargate dengan versi minor yang cocok dengan versi bidang kontrol, hapus pod tersebut sebelum memutar kembali. Kemudian putar kembali pesawat kontrol Anda. Pod yang tersisa diluncurkan dengan versi rolled-back saat Anda menyebarkannya kembali. Atau, gunakan
--forceuntuk melewati pemeriksaan wawasan, tetapi melanjutkan dengan pelanggaran kemiringan versi kubelet dapat mengakibatkan perilaku yang tidak terduga. Untuk informasi selengkapnya, lihat Kembalikan cluster ke versi Kubernetes sebelumnya. -
Setelah Job Kubernetes
ditandai CompletedatauFailed, Pod yang dibuat Job biasanya terus ada. Perilaku ini memungkinkan Anda untuk melihat log dan hasil, tetapi dengan Fargate Anda akan dikenakan biaya jika Anda tidak membersihkan Pekerjaan setelahnya.Untuk menghapus Pod terkait secara otomatis setelah Pekerjaan selesai atau gagal, Anda dapat menentukan periode waktu menggunakan pengontrol time-to-live (TTL). Contoh berikut menunjukkan penentuan
.spec.ttlSecondsAfterFinisheddalam manifes Pekerjaan Anda.apiVersion: batch/v1 kind: Job metadata: name: busybox spec: template: spec: containers: - name: busybox image: busybox command: ["/bin/sh", "-c", "sleep 10"] restartPolicy: Never ttlSecondsAfterFinished: 60 # <-- TTL controller
Tabel Perbandingan Fargate
| Kriteria | AWS Fargate |
|---|---|
|
Dapat dikerahkan ke AWS pos terdepan |
Tidak |
|
Dapat dikerahkan ke Zona AWS Lokal |
Tidak |
|
Dapat menjalankan kontainer yang memerlukan Windows |
Tidak |
|
Dapat menjalankan kontainer yang membutuhkan Linux |
Ya |
|
Dapat menjalankan beban kerja yang memerlukan Chip Inferentia |
Tidak |
|
Dapat menjalankan beban kerja yang memerlukan GPU |
Tidak |
|
Dapat menjalankan beban kerja yang memerlukan prosesor Arm |
Tidak |
|
Dapat menjalankan AWS
Bottlerocket |
Tidak |
|
Pod berbagi lingkungan runtime kernel dengan Pod lain |
Tidak — Setiap Pod memiliki kernel khusus |
|
Pod berbagi sumber daya CPU, memori, penyimpanan, dan jaringan dengan Pod lainnya. |
Tidak — Setiap Pod memiliki sumber daya khusus dan dapat diukur secara independen untuk memaksimalkan pemanfaatan sumber daya. |
|
Pod dapat menggunakan lebih banyak perangkat keras dan memori daripada yang diminta dalam spesifikasi Pod |
Tidak — Pod dapat digunakan kembali menggunakan konfigurasi vCPU dan memori yang lebih besar. |
|
Harus men-deploy dan mengelola instans Amazon EC2 |
Tidak |
|
Harus mengamankan, memelihara, dan patch sistem operasi dari instans Amazon EC2 |
Tidak |
|
Dapat memberikan argumen bootstrap pada penyebaran node, seperti argumen kubel |
Tidak |
|
Dapat menetapkan alamat IP ke Pod dari blok CIDR yang berbeda dari alamat IP yang ditetapkan ke node. |
Tidak |
|
Dapat SSH ke simpul |
Tidak — Tidak ada sistem operasi host node untuk SSH. |
|
Dapat men-deploy AMI kustom Anda sendiri ke simpul |
Tidak |
|
Dapat men-deploy CNI kustom Anda sendiri ke simpul |
Tidak |
|
Harus memperbarui node AMI sendiri |
Tidak |
|
Harus memperbarui versi node Kubernetes sendiri |
Tidak — Anda tidak mengelola node. |
|
Dapat menggunakan penyimpanan Amazon EBS dengan Pod |
Tidak |
|
Dapat menggunakan penyimpanan Amazon EFS dengan Pod |
|
|
Dapat menggunakan Amazon FSx untuk penyimpanan Lustre dengan Pod |
Tidak |
|
Dapat menggunakan Network Load Balancer untuk layanan |
Ya, saat menggunakan Create a network load balancer |
|
Pods dapat berjalan dalam subnet publik |
Tidak |
|
Dapat menetapkan grup keamanan VPC yang berbeda untuk Pod individu |
Ya |
|
Dapat menjalankan Kubernetes DaemonSets |
Tidak |
|
Dukungan |
Tidak |
|
AWS Ketersediaan wilayah |
|
|
Dapat menjalankan wadah di host khusus Amazon EC2 |
Tidak |
|
Harga |
Biaya memori Fargate secara individu dan konfigurasi CPU. Setiap Pod memiliki biayanya sendiri. Untuk informasi lebih lanjut, lihat AWS harga Fargate |