Elastic Container Instance menyediakan runtime kontainer dasar untuk kluster Kubernetes. Setiap contoh kontainer elastis adalah sebuah pod. Topik ini menjelaskan konfigurasi dasar, siklus hidup, dan batasan dari contoh kontainer elastis.
Konfigurasi dasar
Virtual Kubelet adalah implementasi sumber terbuka dari Kubelet Kubernetes. Node virtual dibuat menggunakan Virtual Kubelet, memungkinkan contoh kontainer elastis berfungsi sebagai pod dalam kluster Kubernetes. Node virtual ini mendukung konfigurasi seperti spesifikasi, gambar, penyimpanan, dan jaringan.
Spesifikasi
Spesifikasi mencakup konfigurasi vCPU dan memori yang menentukan performa komputasi pod. Saat membuat pod, Anda dapat menentukan jumlah vCPU dan ukuran memori, atau menentukan tipe instance Elastic Compute Service (ECS) untuk memenuhi kebutuhan khusus, seperti GPU dan disk lokal. Metode penagihan berbeda berlaku untuk jenis spesifikasi ini. Untuk informasi lebih lanjut, lihat Penagihan Contoh Kontainer Elastis.
Sumber daya di Elastic Container Instance dapat dibuat dengan cara yang berbeda. Pilih metode berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Tentukan Spesifikasi Komputasi Contoh Kontainer Elastis.
Gambar
Sebuah pod dapat berisi hingga 20 kontainer. Sebelum menerapkan aplikasi kontainer, Anda harus menyiapkan gambar kontainer. Gambar kontainer berisi program, file pustaka, dan konfigurasi yang diperlukan untuk menjalankan aplikasi berbasis kontainer. Pastikan jaringan dapat diakses sebelum menarik gambar. Kami merekomendasikan penggunaan ImageCache untuk mempercepat startup dan pembuatan pod.
Tarik Gambar
Saat contoh kontainer elastis dimulai, containerd-nya menarik gambar kontainer dari repositori gambar jarak jauh. Untuk menarik gambar publik, pastikan bahwa contoh kontainer elastis memiliki akses Internet. Anda dapat mengonfigurasi gateway Network Address Translation (NAT) publik untuk virtual private cloud (VPC) tempat contoh kontainer elastis diterapkan. Selain itu, Anda dapat mengaitkan alamat IP elastis (EIP) dengan contoh kontainer elastis untuk menarik gambar publik.
Kami merekomendasikan menyimpan gambar kontainer di Container Registry untuk menarik gambar lebih cepat melalui VPC. Selain itu, Anda dapat menarik gambar privat dari Container Registry tanpa Secret. Ini memastikan efisiensi tinggi untuk penarikan gambar. Untuk informasi lebih lanjut, lihat Tarik Gambar dari Instance Container Registry Tanpa Menggunakan Secret dan Instal dan Gunakan Komponen Bebas Secret yang Dikelola.
Cache Gambar
Elastic Container Instance menyediakan fitur cache gambar yang memungkinkan Anda membuat snapshot cache dari gambar. Snapshot cache ini dapat digunakan untuk membuat contoh kontainer elastis, menghilangkan atau mengurangi kebutuhan untuk mengunduh lapisan gambar dan dengan demikian mempercepat proses pembuatan. Secara default, kluster ACK Serverless diterapkan dengan CustomResourceDefinition (CRD) ImageCache untuk mengaktifkan fitur ini. Untuk informasi lebih lanjut, lihat Gunakan ImageCache untuk Mempercepat Pembuatan Contoh Kontainer Elastis.
Penyimpanan
Penyimpanan Sementara
Secara default, sebuah pod dialokasikan 30 GiB memori gratis untuk penyimpanan sementara, yang digunakan oleh gambar kontainer untuk memulai contoh kontainer elastis. Anda dapat meningkatkan ukuran memori untuk penyimpanan sementara berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Perbesar Ruang Penyimpanan Sementara.
Penyimpanan Persisten
Anda dapat berbagi atau menyimpan file yang disimpan dengan memasang volume ke contoh kontainer elastis. Di kluster ACK Serverless, gunakan plug-in CSI untuk memasang volume penyimpanan Alibaba Cloud, seperti disk, File Storage NAS (NAS), dan bucket Object Storage Service (OSS). Untuk informasi lebih lanjut, lihat Ikhtisar CSI.
Untuk informasi lebih lanjut tentang konfigurasi penyimpanan di contoh kontainer elastis, lihat Penyimpanan.
Jaringan
Alamat IP Privat
Pod menggunakan antarmuka jaringan elastis (ENI) dari vSwitch di VPC tempat pod tersebut berada. Saat membuat pod, alamat IP privat dipilih secara acak dari vSwitch yang sesuai. vSwitch dipilih berdasarkan bidang
k8s.aliyun.com/eci-vswitchdalam anotasi pod, diikuti oleh konfigurasi PodNetworking dan eci-profile secara berurutan. Untuk informasi lebih lanjut tentang cara menentukan alamat IP privat atau menggunakan alamat tetap, lihat Tentukan Alamat IP Privat untuk Pod dan Konfigurasikan Alamat IP Tetap untuk Pod.Akses Internet
Secara default, pod diberi alamat IP internal. Jika pod perlu mengakses Internet, misalnya untuk menarik gambar publik, Anda harus mengaitkan alamat IP elastis (EIP) dengan pod, atau mengaitkan gateway network address translation (NAT) dengan VPC tempat pod berada. Untuk informasi lebih lanjut, lihat Aktifkan Akses Internet untuk Pod.
Alamat IPv6
Elastic Container Instance mendukung alamat IPv6, menawarkan kumpulan alamat IP yang lebih besar dibandingkan dengan IPv4. Untuk informasi lebih lanjut, lihat Tetapkan Alamat IPv6 ke Pod Berbasis Elastic Container Instance.
Untuk informasi lebih lanjut tentang konfigurasi jaringan di contoh kontainer elastis, lihat Jaringan.
Kontainer
Anda dapat mengonfigurasi perintah startup kontainer, probe liveness dan readiness, serta konteks keamanan untuk pod agar menggunakan argumen yang telah ditentukan sebelumnya, mirip dengan cara yang dilakukan di Kubernetes. Untuk informasi lebih lanjut tentang konfigurasi kontainer di contoh kontainer elastis, lihat Konfigurasi Kontainer.
Kelola siklus hidup
Dalam siklus hidup pod, pod memiliki status yang berbeda di setiap tahap. Untuk informasi lebih lanjut tentang status pod di Elastic Container Instance dan status yang sesuai dari pod Kubernetes, lihat Siklus Hidup Pod.
Batasan
Elastic Container Instance tidak mendukung beberapa fitur Kubernetes seperti hostPaths dan DaemonSets karena batasan keamanan dari public cloud Alibaba Cloud dan batasan yang diberlakukan oleh node virtual. Tabel berikut menjelaskan fitur yang tidak didukung.
Fitur yang Tidak Didukung | Deskripsi | Alternatif yang Direkomendasikan |
HostPath | Memungkinkan Anda memasang file dari host lokal ke kontainer. | Gunakan volume emptyDir, disk, atau sistem file File Storage NAS (NAS). |
HostNetwork | Memungkinkan Anda memetakan port host ke kontainer. | Buat Layanan tipe LoadBalancer. |
DaemonSet | Memungkinkan Anda menerapkan pod statis pada host kontainer. | Terapkan beberapa gambar dalam pod menggunakan kontainer sidecar. |
Layanan Tipe NodePort | Memungkinkan Anda memetakan port host ke kontainer. | Buat Layanan tipe LoadBalancer. |
Untuk informasi lebih lanjut, lihat Batasan.
Orkestrasi pod
Perubahan yang tidak tepat pada file YAML terkait bisnis Anda dapat menyebabkan masalah yang tidak terduga. Untuk menghindari masalah ini, Elastic Container Instance menyediakan file konfigurasi eci-profile. eci-profile memungkinkan Anda mengonfigurasi contoh kontainer elastis dalam kluster dan mengatur pod berdasarkan pemilih. Untuk informasi lebih lanjut, lihat Konfigurasikan eci-profile.
Fitur tambahan
Cache data
Fitur ini memungkinkan Anda membuat cache dari sejumlah besar data bisnis, seperti data pelatihan model. Saat membuat contoh kontainer elastis, Anda dapat memasang dan menggunakan data yang di-cache. Ini mengurangi waktu startup instance dan mencegah pengunduhan data berulang, sehingga mengurangi biaya penggunaan instance. Untuk informasi lebih lanjut, lihat Ikhtisar Cache Data.
Anotasi pod ECI
Saat menjadwalkan pod kluster Kubernetes untuk dijalankan pada contoh kontainer elastis, Anda dapat menambahkan anotasi ke pod untuk memanfaatkan sepenuhnya fitur Elastic Container Instance. Pastikan bahwa anotasi sesuai dengan sintaksis Kubernetes. Untuk informasi lebih lanjut tentang anotasi yang didukung oleh Elastic Container Instance, lihat Anotasi Pod ECI.
Anotasi dapat ditambahkan secara manual selama pembuatan pod atau secara otomatis melalui konfigurasi eci-profile yang cocok dengan label pod.