Elastic Container Instance (ECI) menyediakan lingkungan runtime kontainer untuk Pod di Kubernetes, sedangkan Kubernetes menyediakan kemampuan seperti dependensi layanan, load balancing, skalabilitas elastis, dan penjadwalan periodik. Topik ini menjelaskan cara Container Service for Kubernetes (ACK) berintegrasi dengan ECI untuk menggunakan ECI sebagai sumber daya komputasi bagi Pod.
Metode integrasi
ECI menyediakan solusi hierarkis untuk Kubernetes: ECI menangani penjadwalan dan manajemen sumber daya kontainer Pod pada lapisan infrastruktur, sedangkan Kubernetes bertindak sebagai lapisan PaaS di atas ECI untuk mengelola beban kerja bisnis seperti Deployment, Service, StatefulSet, dan CronJob.
Berdasarkan Virtual Kubelet (VK) dari komunitas Kubernetes, ECI dapat ditambahkan ke kluster Kubernetes sebagai node virtual. Kluster tersebut kemudian dapat diskalakan secara elastis tanpa dibatasi oleh kapasitas komputasi node kluster. ECI mengelola infrastruktur Pod yang mendasarinya: ECI menyiapkan sumber daya yang dibutuhkan Pod dan menjalankan instans Pod tersebut. Oleh karena itu, Anda tidak perlu memantau sumber daya mesin virtual yang mendasarinya. ECI memastikan bahwa sumber daya yang dibutuhkan Pod selalu tersedia. Sisi kluster tetap menentukan Pod mana yang berjalan di ECI, berdasarkan konfigurasi penjadwalan Anda.
Pod yang berjalan di ECI menggunakan lingkungan runtime kontainer yang aman dan terisolasi. Setiap Pod berkorespondensi dengan satu instans ECI.
Kemampuan Kubernetes berikut didukung saat Anda menjalankan Pod di ECI:
Workload controller — Controller umum seperti Deployment, ReplicaSet, Job, CronJob, dan StatefulSet didukung dan dapat dijalankan langsung.
Service discovery — PrivateZone didukung untuk penemuan layanan.
Load balancing — Load balancing didukung. Konfigurasikan Service dengan tipe
LoadBalancer.
ECI telah terintegrasi dengan Alibaba Cloud ACK. Tabel berikut menjelaskan jenis kluster yang dapat menjalankan Pod di ECI serta kapan masing-masing jenis tersebut sebaiknya dipilih.
Jenis kluster | Kapan memilihnya | Persyaratan node virtual |
ACK Serverless cluster (Direkomendasikan) | Anda menginginkan lingkungan Kubernetes yang sepenuhnya berjalan di ECI, baik untuk layanan online maupun offline, lingkungan simulasi, atau lingkungan pengembangan dan pengujian. | Tidak diperlukan. Anda membuat Pod ECI secara langsung. |
ACK cluster (hibrida ECI dan ECS) | Anda sudah memiliki kluster ACK dan ingin menambahkan Pod ECI sesuai kebutuhan, misalnya untuk menangani lonjakan trafik pada beban kerja jangka panjang. | Deploy node virtual berbasis VK. |
Kluster Kubernetes yang dikelola sendiri | Kluster Kubernetes Anda berjalan di Alibaba Cloud ECS atau di pusat data lokal. | Terapkan node virtual berdasarkan VNode. |
ACK Serverless cluster (sepenuhnya berbasis ECI)
ACK Serverless cluster menyediakan lingkungan Kubernetes yang sepenuhnya berjalan di ECI. Semua Pod berjalan di ECI, dan Kubernetes hanya bertanggung jawab untuk mengelola beban kerja bisnis.
(Direkomendasikan) Jika Anda sedang mengevaluasi jenis kluster Kubernetes, pilih ACK Serverless cluster untuk layanan online dan offline, lingkungan simulasi, serta lingkungan pengembangan dan pengujian Anda.
Hemat biaya — Anda tidak perlu membeli node, melakukan maintenance node, atau merencanakan kapasitas kluster. Deploy aplikasi terkontainerisasi secara langsung dan bayar hanya untuk sumber daya CPU dan memori yang dikonfigurasi untuk aplikasi Anda.
Tanpa maintenance infrastruktur — Kelola aplikasi terkontainerisasi secara langsung menggunakan API Kubernetes atau command line. ACK Serverless cluster juga terintegrasi dengan berbagai layanan Alibaba Cloud untuk menyederhanakan pengembangan Kubernetes, sehingga Anda dapat fokus membangun aplikasi alih-alih mengelola infrastruktur.
Di dalam ACK Serverless cluster, Anda tidak perlu mendeploy node virtual secara manual. Buat Pod ECI secara langsung. Untuk informasi lebih lanjut, lihat Ikhtisar ACK Serverless.
Gambar berikut menunjukkan kluster tempat setiap Pod berjalan di ECI.

ACK cluster (hibrida ECI dan ECS)
ACK termasuk salah satu platform pertama di dunia yang lulus sertifikasi kesesuaian Kubernetes, serta menyediakan layanan manajemen aplikasi terkontainerisasi berkinerja tinggi yang mengintegrasikan kemampuan virtualisasi, penyimpanan, jaringan, dan keamanan Alibaba Cloud untuk menyederhanakan pembuatan dan penskalaan kluster.
Jika Anda sudah memiliki kluster ACK, deploy node virtual berbasis VK untuk menggunakan ECI. Kemudian buat Pod ECI sesuai kebutuhan guna menskalakan kluster tanpa perlu merencanakan kapasitas komputasi node. Pod ECI dapat berkomunikasi dengan Pod di node nyata dalam kluster.
Mengarahkan lonjakan trafik ke ECI mempercepat waktu skala keluar, mengurangi biaya penskalaan, dan memaksimalkan pemanfaatan sumber daya yang ada. Saat trafik menurun, Anda dapat segera melepas Pod yang dideploy di ECI untuk mengurangi biaya.
Untuk informasi lebih lanjut, lihat Ikhtisar produk ACK.
Gambar berikut menunjukkan kluster ACK tempat Pod berjalan baik di ECI maupun di node Elastic Compute Service (ECS).

Kluster Kubernetes yang dikelola sendiri
Jika Anda memiliki kluster Kubernetes yang dikelola sendiri di Alibaba Cloud ECS atau di pusat data lokal, Anda harus mendeploy node virtual berbasis VNode untuk menggunakan ECI. Untuk informasi lebih lanjut, lihat Integrasikan kluster Kubernetes yang dikelola sendiri dengan ECI.
Batasan dan pertimbangan
Karena batasan keamanan cloud publik dan keterbatasan inheren node virtual, ECI tidak mendukung beberapa fitur Kubernetes, seperti HostPath dan DaemonSet, sebagaimana dijelaskan dalam tabel berikut.
| Fitur yang tidak didukung | Alasan tidak didukung | Alternatif |
|---|---|---|
| HostPath | Memerlukan akses langsung ke filesystem host | Gunakan volume emptyDir, disk, atau File Storage NAS (NAS) |
| HostNetwork | Memerlukan Pod untuk berbagi namespace jaringan host | Buat Service dengan tipe LoadBalancer |
| DaemonSet | Memerlukan menjalankan replika Pod di setiap node | Deploy beberapa gambar dalam satu Pod menggunakan kontainer sidecar |
| Service dengan tipe NodePort | Memerlukan pemetaan port host ke kontainer | Buat Service dengan tipe LoadBalancer |
Beberapa hal berikut harus diputuskan sebelum Anda membuat kluster. Saat menggunakan ECI dengan ACK, perhatikan hal-hal berikut:
Gambar kontainer — Unggah gambar kontainer Anda ke repository gambar terlebih dahulu agar proses pulling gambar lebih cepat. Sebagai praktik terbaik, gunakan Alibaba Cloud Container Registry (ACR) dan gunakan alamat endpoint VPC untuk repository gambar, misalnya
registry-vpc.xxx.Penemuan layanan — (Direkomendasikan) Aktifkan PrivateZone saat membuat kluster.
Versi add-on — Untuk menggunakan fitur baru terkait ECI, Anda harus melakukan peningkatan add-on
ack-virtual-nodekluster ACK Anda.Untuk informasi tentang versi komponen
ack-virtual-node, lihatack-virtual-nodecomponent.Untuk informasi tentang cara meningkatkan komponen tersebut, lihat Kelola komponen.
Alur kerja
ACK Serverless cluster
Buat ACK Serverless cluster. Untuk petunjuknya, lihat Buat kluster.
Siapkan gambar kontainer dan unggah ke repository gambar, sebagaimana dijelaskan dalam bagian Batasan dan pertimbangan topik ini.
Buat Pod ECI. Untuk petunjuknya, lihat Buat Pod ECI.
Lihat status berjalan instans ECI yang mendukung Pod Anda. Untuk detailnya, lihat bagian Lihat dan kelola instans ECI dalam topik ini.
ACK cluster
Buat kluster ACK. Untuk petunjuknya, lihat Buat kluster ACK terkelola.
Deploy add-on
ack-virtual-nodeuntuk membuat node virtual. Untuk petunjuknya, lihat Deploy komponen node virtual ACK.Siapkan gambar kontainer dan unggah ke repository gambar, sebagaimana dijelaskan dalam bagian Batasan dan pertimbangan topik ini.
Konfigurasikan metode penjadwalan agar Pod Anda berjalan di ECI alih-alih di node ECS kluster. Untuk detailnya, lihat bagian Jadwalkan Pod ke ECI dalam topik ini.
Buat Pod ECI. Untuk petunjuknya, lihat Buat Pod ECI.
Lihat status berjalan instans ECI yang mendukung Pod Anda. Untuk detailnya, lihat bagian Lihat dan kelola instans ECI dalam topik ini.
Jadwalkan Pod ke ECI
Untuk ACK Serverless cluster, seluruh kluster berjalan di ECI sehingga tidak diperlukan penjadwalan khusus. Untuk kluster ACK hibrida yang menggunakan node ECI dan ECS, Anda dapat menjadwalkan Pod agar berjalan di ECI dengan metode berikut: menjadwalkan beban kerja tertentu secara manual, atau menjadwalkan Pod secara otomatis berdasarkan namespace atau label Pod.
Jadwalkan Pod ke ECI secara manual
Jadwalkan Pod secara manual agar berjalan di ECI pada node virtual tertentu dengan mengonfigurasi label Pod, menambahkan nodeSelector, atau mengonfigurasi topologySpreadConstraints. Pilih topik yang sesuai dengan arsitektur node virtual Anda:
(Pratinjau berdasarkan undangan) Jadwalkan Pod ke node virtual Windows
Untuk mendistribusikan Pod ECI di berbagai zona atau menerapkan aturan afinitas, lihat Sebarkan Pod ECI di berbagai zona atau konfigurasi afinitas.
Jadwalkan Pod ke ECI secara otomatis
eci-profile menyediakan kemampuan ECI Scheduler, yaitu mekanisme penjadwalan baru berbasis mutating webhook. Dalam file konfigurasi eci-profile, Anda dapat menentukan namespace atau label Pod yang akan dicocokkan. Pod dengan label yang cocok akan secara otomatis dijadwalkan ke ECI. Untuk detailnya, lihat Konfigurasikan eci-profile.
Gunakan fitur ECI
Saat membuat Pod di ECI dalam kluster Kubernetes, Anda dapat menambahkan anotasi ke metadata tingkat Pod untuk menggunakan fitur ECI tanpa mengubah semantik Kubernetes. Untuk daftar anotasi yang didukung dan contoh konfigurasinya, lihat Anotasi Pod ECI.
Tambahkan anotasi secara manual saat membuat Pod, atau konfigurasikan eci-profile untuk menambahkan anotasi secara otomatis ke Pod dengan label yang cocok. Untuk informasi lebih lanjut tentang eci-profile, lihat bagian Jadwalkan Pod ke ECI dalam topik ini.
Lihat dan kelola instans ECI
Kelola kluster Kubernetes Anda dan pantau status berjalan instans ECI menggunakan alat berikut. Alat ini berlaku baik untuk ACK Serverless cluster maupun kluster ACK yang menggunakan node virtual.
Konsol Elastic Container Instance
Untuk melihat status berjalan instans ECI di konsol Elastic Container Instance, lakukan langkah-langkah berikut:
Login ke Konsol Elastic Container Instance.
Di bilah navigasi atas, pilih wilayah.
Di halaman Container Group, lihat instans ECI yang dibuat di wilayah yang dipilih.
Konsol ACK
Gunakan Konsol ACK untuk mengelola ACK Serverless cluster atau kluster ACK serta melihat status berjalan instans ECI. Lakukan langkah-langkah berikut untuk melihat instans ECI:
Login ke Konsol ACK.
Di bilah navigasi atas, pilih wilayah.
Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster target dan klik ID kluster untuk membuka halaman detail.
Di panel navigasi kiri, pilih Workloads > Pods.
Di halaman Pods, pilih namespace untuk melihat instans ECI di namespace tersebut.
Alibaba Cloud CloudShell
Gunakan Alibaba Cloud CloudShell untuk mengakses kluster Kubernetes Anda dan gunakan perintah kubectl untuk mengelola kluster. Untuk petunjuknya, lihat Gunakan kubectl untuk terhubung ke kluster di Workbench atau CloudShell.
Klien kubectl
Gunakan klien kubectl lokal untuk mengakses kluster Kubernetes remote dan gunakan perintah kubectl untuk mengelola kluster. Untuk petunjuknya, lihat Terhubung ke kluster Kubernetes menggunakan kubectl.