Kita tahu, Saat menggunakan Replica Set atau Replication Controller, Pod akan dijalankan di Node secara random oleh si Kubernetes.
Ternyata, misal kita ingin menjalankan Pod di setiap Node yang ada di Kubernetes, dan tiap Pod hanya boleh jalan 1 di Node, kita bisa menggunakan Daemon Set. Secara default Daemon Set akan menjalankan Pod di setiap Node yang ada di Kubernetes Cluster, kecuali jika kita meminta hanya jalan di Node tertentu.
Kurang lebih untuk Daemon Set, seperti di bawah :
Daemon Set pada gamabr diatur untuk menjalankan 1 Pod di setiap Node.
Contoh kasus penggunaan Daemon Set :
Untuk memuat Daemon Set bisa gunakan template ini :
6.1.1-template-daemonset.yaml
Sebagai contoh dari template di atas kita coba di nginx :
6.1.2-nginx-daemonset.yaml
Untuk perintahnya kurang lebih sama seperti sebelumnya :
Untuk (filename.yaml), dan (daemonsetname) disesuaikan dengan penamaan file dan konfigurasi
Disini akan dicoba untuk Daemon Set dengan perintah 6.1.2-nginx-daemonset.yaml :
Mungkin tak berpengaruh untuk kasus 1 node saja, tetapi jika ternyata banyak node atau diartu banyak node kita akan melihat banyak Pod yang berjalan di setiap Node yang ada.
Sebelumnya, kita telah belajar Pod, tetapi kalian sadar tidak? Pod yang kalian jalankan adalah Pod yang berjalan terus tanpa henti atau tidak akan berhenti jika ada kendala atau perintah.
Tapi nyatanya, kasus di Pod terkadang membutuhkan 1 kali run saja lalu berhenti. Nah untuk melakukan hal tersebut, cukup menggunakan Job.
Job adalah resource di Kubernetes yang digunakan untuk menjalankan Pod yang hanya butuh berjalan sekali, lalu berhenti.
Mungkin jika sadar, pada Replication Controller, Replica Set dan Daemon Set, jika Pod mati, maka secara otomatis Pod akan dijalankan ulang
Berbeda dengan Job. Pada Job justru Pod akan mati jika pekerjaannya selesai dilakukan.
Contoh Penggunaan Job :
Untuk membuat Job bisa menggunakan konfigurasi file dengan template seperti di bawah :
6.2.1-template-job.yaml
Dan contohnya seperti ini :
6.2.2-nodejs-job.yaml
Perintah-perintah di Job kurang lebih juga sama seperti sebelumnya :
Untuk (filename.yaml), dan (jobname) disesuaikan dengan penamaan file dan konfigurasi
Seperti biasa, akan dicoba lakukan di percobaan dengan contoh 6.2.2-nodejs-job.yaml :
Jika kalian lihat tahap dari Job akan membuat 4 Pod, dan setelah aplikasi berjalan (yang dimana node.js tersebut mengeluarkan keluaran) maka Pod akan langsung mati dengan mengeluarkan status completed.
Cron Job adalah aplikasi untuk penjadwalan yang biasanya ada di Sistem Operasi Unix, dengan menggunakan Cron Job kita bisa menjadwalkan aplikasi berjalan sesuai jadwal yang kita inginkan
Kubernetes mendukung resource Cron Job, dimana cara kerjanya mirip Job, hanya saja kalo Job berjalan sekali, tapi Cron Job bisa berjalan berulang kali sesuai dengan jadwal yang kita inginkan. Cron Job juga bisa memungkinkan kita untuk menjalankan aplikasi dengan waktu yang telah ditentukan
Contoh Penggunaan Cron Job :
Untuk membuat Cron Job bisa dengan template :
6.3.1-template-cronjob.yaml
Untuk mempelajari konfigurasi dari schedule anda bisa membuka website [CronTab].(https://crontab.guru/)
Dengan contoh seperti dari template :
6.3.2-nodejs-cronjob.yaml
Untuk perintahnya kurang lebih sama seperti sebelumnya :
Seperti biasa, melakukan percobaan cron job dengan file 6.3.2-nodejs-cronjob.yaml :
Bisa dilihat bahwa setiap 1 menit Pod akan bertambah, cronjob sendiri sudah mengatur sesuai yang ada di konmfigurasi file.