Pada kali ini pembahasan kita adalah bagaimana cara menggunakan docker swarm. Docker Swarm adalah layanan orkestrasi yang disediakan oleh docker nya langsung dan untuk pembaruan sekarang sudah termasuk ketika kita menginstall docker maka docker swarm sudah tersedia bersama docker engine yang dimana sebelumnya docker swarm berdiri sendiri dan diinstall terpisah, mungkin kita kenal layanan orkestrasi lainnya seperti kubernetes salah satunya yang cukup populer kemudian ada Openshift, Rancher, Meson dan lain lain.
Dibawah ini saya menyiapkan 3 server sebagai simulasi belajar Docker Swarm yang dimana 1 server menjadi manager dan sisanya menjadi worker.
Clustering
pastikan ketiga server telah terinstall docker, maka untuk clustering atau membuat swarm kita perlu mengeksekusi perintah dibawah ini pada server 1 yang nantinya dijadikan sebagai manager.
#docker swarm init --advertise-addr 10.23.3.2
setelah itu akan muncul output seperti dibawah yang merupakan informasi token untuk join cluster
ketikan perintah tersebut pada server 2 dan server 3 untuk join cluster
#docker swarm join --token SWMTKN-1-3f6oh1g33j64o9xpk05am6itxqz0df3s9ibbk2rz3zeqaq60cq-achir1pxz906nu9wxarkr97js 10.23.3.2:2377
maka akan muncul output “This node joined a swarm as a worker.” maka join cluster telah berhasil. kita bisa cek dengan perintah “docker node ls”
sampai sini kita telah berhasil membuat clustering atau swarm. selanjutnya kita akan coba untuk deploy dan manajemen container atau service di swarm, mulai dari sini semua command atau perintah di eksekusi di server 1 atau manager. karena server 1 lah yang berperan sebagai manager atau leader yang nantinya akan memerintah server 2 dan server 3 secara otomatis.
Create service to Docker Swarm
Pertama tama, kita akan coba buat service pada docker swarm dengan replica 6 perintah nya seperti dibawah ini. disini saya menggunakan image yang saya kustom sendiri dengan linux alpine dan juga nginx, temen temen bisa baca juga terkait bagaimana kustom image atau membuat image menggunakan dockerfile
Temen temen bebas bisa menggunakan image saya atau menggunakan image lain
#docker service create --name webserver --replicas=6 -p 80:80 yudi33/labsatu:0.2
untuk melihat service bisa gunakan perintah dibawah
#docker service ls
untuk melihat dimana service berjalan bisa gunakan docker service ps namaservice
terlihat service telah terbuat dengan 6 replica, bisa cek dengan dengan curl atau akses via web
#curl 10.23.3.2
#curl 10.23.3.3
#curl 10.23.3.4
atau
Inspect Service
untuk melihat detail informasi dari service tersebut bisa gunakan perintah dibawah
#docker service inspect --pretty webserver
selain itu kita juga bisa melakukan limitasi pembatasan cpu dan memori dari service
#docker service create --name namaservice --reserve-cpu 1 --limit-cpu 1 \
--reserve-memory 256mb --limit-memory 128mb nginx:latest
Scaling up / scaling down
selanjutnya kita juga bisa melakukan scale up atau scale down pada service yaitu menambah replica atau mengurangi replica. disini kita akan coba menambah replica menjadi 12.
#docker service scale webserver=12
kita lihat diatas bahwa jumlah replica telah berhasil di scale up atau ditambah. untuk melihatnya bisa gunakan perintah .
#docker service ps webserver
atau
#docker service ls
Rolling Update
kita bisa juga melakukan pembaruan service
#docker service update --image yudi33/labsatu:0.3 webserver
jika berhasil maka tampilan awal akan berubah
Remove Service
untuk menghapus service bisa gunakan perintah dibawah
#docker service rm webserver
Mungkin itu saja yang bisa saya sampaikan disini terkait basic atau dasar penggunaan docker swarm.
0 Comments