Elastic Container Instance (ECI) menyediakan runtime kontainer dasar untuk kluster Kubernetes. Setiap instans kontainer elastis merupakan sebuah pod. ECI terhubung ke kluster Kubernetes melalui node virtual yang dibangun berdasarkan teknologi Virtual Kubelet dari komunitas Kubernetes.
Kasus penggunaan
Beban kerja burst: Skalakan beban kerja kontainer sesuai permintaan tanpa perlu menyediakan kelompok node sebelumnya.
Tugas AI dan ML: Jalankan tugas pelatihan atau inferensi yang dipercepat GPU dengan menentukan tipe instans ECS yang mendukung GPU.
Pemrosesan batch: Jalankan pekerjaan tanpa status dan toleran kesalahan menggunakan instans preemptible untuk mengurangi biaya.
Mikrolayanan dan API: Deploy layanan berbasis kontainer dengan jaringan terisolasi dan opsi penyimpanan fleksibel.
Konfigurasi pod
Setiap pod memiliki empat area konfigurasi inti:
Spesifikasi
Tentukan performa komputasi dengan menetapkan jumlah vCPU dan ukuran memori. Untuk menggunakan GPU, disk lokal, atau kemampuan perangkat keras lainnya, tentukan tipe instans ECS sebagai gantinya (misalnya, ecs.gn6i-c4g1.xlarge untuk beban kerja yang dipercepat GPU).
Gambar kontainer
Sebuah pod mendukung hingga 20 kontainer. Untuk mengurangi waktu startup pod, gunakan fitur cache gambar agar tidak perlu menarik gambar dari registri setiap kali diluncurkan.
Jaringan
Setiap pod menggunakan satu antarmuka jaringan elastis (ENI) dari vSwitch di virtual private cloud (VPC)-nya dan secara default diberi alamat IP internal. Untuk mengaktifkan akses internet—misalnya, untuk menarik gambar publik—kaitkan alamat IP elastis (EIP) ke pod tersebut atau konfigurasikan gerbang NAT pada VPC.
Penyimpanan
Setiap pod menyediakan penyimpanan temporary sebesar 30 GiB secara default. Untuk menyimpan file secara persisten melebihi siklus hidup pod, pasang volume eksternal seperti sistem file Penyimpanan File NAS (NAS), bucket Object Storage Service (OSS), atau disk cloud.
Buat pod
Pilih metode pembuatan
Pilih metode berdasarkan kebutuhan perangkat keras dan preferensi penagihan Anda:
| Metode | Ditagih oleh | Kapan digunakan |
|---|---|---|
| Tentukan jumlah vCPU dan ukuran memori | Spesifikasi vCPU dan memori | Beban kerja tujuan umum; sistem secara otomatis memilih tipe instans yang kompatibel |
| Tentukan tipe instans ECS | Tipe instans ECS yang ditentukan | Beban kerja yang memerlukan perangkat keras spesifik—GPU, disk lokal, ARM, atau x86 |
| Tentukan vCPU dan memori dengan filter keluarga instans | Tipe instans ECS yang benar-benar digunakan | Keseimbangan antara ukuran fleksibel dan batasan keluarga instans |
Untuk metode pertama, jika kombinasi vCPU dan memori yang tepat tidak tersedia, sistem akan menyesuaikan spesifikasi dan menagih berdasarkan nilai yang telah disesuaikan tersebut. Untuk mengontrol keluarga instans mana saja yang dapat dipilih oleh sistem, gunakan metode ketiga.
Pod secara default menggunakan arsitektur x86. Untuk menggunakan perangkat keras berbasis ARM, jadwalkan pod ke node virtual berbasis ARM.
Untuk langkah-langkah detail setiap metode, lihat referensi di bagian Langkah selanjutnya.
Kurangi biaya
Kombinasikan instans pay-as-you-go dengan opsi berikut untuk menurunkan tagihan Anda:
Instans preemptible: Paling cocok untuk beban kerja tanpa status dan toleran kesalahan.
Rencana penghematan tujuan umum: Berlaku untuk pod yang ditagih berdasarkan vCPU dan memori, serta pod yang ditagih berdasarkan tipe instans ECS.
Rencana penghematan komputasi ECS dan instans terjadwal: Hanya berlaku untuk pod yang ditagih berdasarkan tipe instans ECS. Gunakan untuk beban kerja stabil yang berjalan lama.
Atasi ketidaktersediaan resource
Saat membuat sejumlah besar pod, resource di satu zona mungkin tidak mencukupi. Untuk meningkatkan ketersediaan:
Tentukan beberapa vSwitch di zona yang berbeda.
Tentukan beberapa spesifikasi pod agar sistem dapat beralih ke konfigurasi yang tersedia.
Siklus hidup pod
Pod mengalami berbagai status selama siklus hidupnya. Status pod ECI dipetakan langsung ke status pod Kubernetes. Untuk referensi lengkap status, lihat Siklus hidup pod.