Meskipun ada perbedaan dalam metodologi dan kemampuan di seluruh alat, orkestrasi kontainer pada dasarnya adalah proses tiga langkah (atau siklus, ketika menjadi bagian dari pipeline agile atau DevOps yang berulang).
Sebagian besar alat orkestrasi kontainer mendukung model konfigurasi deklaratif: Seorang pengembang menulis berkas konfigurasi (dalam YAML atau JSON, tergantung pada alatnya) yang mendefinisikan status konfigurasi yang diinginkan. Alat orkestrasi yang menjalankan file tersebut menggunakan kecerdasannya sendiri untuk mencapai status tersebut. File konfigurasi biasanya
- Menentukan gambar kontainer mana yang membentuk aplikasi, dan lokasinya (di registri mana).
- Menyediakan kontainer dengan penyimpanan dan sumber daya lainnya.
- Mendefinisikan dan mengamankan koneksi jaringan di antara kontainer.
- Menentukan pembuatan versi (untuk peluncuran bertahap atau canary).
Alat orkestrasi menjadwalkan penerapan kontainer (dan replika kontainer, untuk ketahanan) ke host. Alat memilih host terbaik berdasarkan kapasitas CPU yang tersedia, memori, atau persyaratan atau batasan lain yang ditentukan dalam file konfigurasi.
Setelah kontainer diterapkan, alat orkestrasi mengelola siklus hidup aplikasi terkontainerisasi berdasarkan file definisi kontainer (biasanya berupa Dockerfile). Ini termasuk
- Mengelola skalabilitas (naik dan turun), penyeimbangan beban, dan alokasi sumber daya di antara kontainer.
- Memastikan ketersediaan dan kinerja dengan merelokasi kontainer ke host lain jika terjadi pemadaman atau kekurangan sumber daya sistem.
- Mengumpulkan dan menyimpan data log dan telemetri lain yang digunakan untuk memantau kesehatan dan kinerja aplikasi.
Manfaat orkestrasi kontainer
Mungkin sudah jelas bahwa manfaat utama orkestrasi kontainer adalah otomatisasi - dan bukan hanya karena hal ini sangat mengurangi upaya dan kerumitan dalam mengelola sebuah containerized application estate yang besar. Dengan mengotomatiskan operasi, orkestrasi mendukung pendekatan agile atau DevOps yang memungkinkan tim untuk mengembangkan dan menerapkan dalam siklus yang cepat dan berulang, serta merilis fitur dan kapabilitas baru dengan lebih cepat.
Selain itu, kecerdasan alat orkestrasi dapat meningkatkan atau memperluas banyak manfaat yang melekat pada kontainerisasi. Misalnya, pemilihan host otomatis dan alokasi sumber daya, berdasarkan konfigurasi deklaratif, memaksimalkan penggunaan sumber daya komputasi yang efisien; pemantauan kesehatan otomatis dan relokasi kontainer memaksimalkan ketersediaan.