Cara Menyebarkan Docker Swarm di Ubuntu 22.04 Langkah-demi-Langkah
Dalam panduan ini, kita akan membahas cara menerapkan Docker Swarm di Ubuntu 22.04 langkah demi langkah.
Apa itu Docker Swarm?
Docker Swarm adalah alat orkestrasi container yang berjalan di platform Docker. Ini membantu pengguna untuk membuat dan mengelola sekelompok node Docker. Clustering di Docker adalah konsep penting dalam menyediakan redundansi dengan mengaktifkan Docker Swarm untuk gagal jika satu atau lebih node dalam cluster gagal.
Docker Swarm menggunakan API Docker standar untuk berkomunikasi dengan alat lain seperti Docker Engine. Ini secara cerdas menetapkan kontainer ke node pekerja dan memastikan pengoptimalan sumber daya dengan menjadwalkan beban kerja kontainer untuk dijalankan pada node yang paling sesuai
Lab setup
Untuk mendemonstrasikan cara kerja Docker Swarm, kami memiliki cluster sederhana yang terdiri dari node Swarm Manager dan dua node pekerja seperti yang ditunjukkan . Node Manajer menangani semua tugas manajemen kluster sementara node pekerja akan menjalankan container.
swarm-manager 10.128.0.57worker-node-1 10.128.0.58worker-node-2 figur figur 2 figur , masuk ke setiap node dan perbarui file /etc/hosts dengan entri berikut:
swarm-manager 10.128.0.57 worker-node-1 10.128.0.58 worker-node-2 10.128.0.59
Selanjutnya, pastikan bahwa semua node dapat saling ping. Oleh karena itu, pada node manager, jalankan perintah:
$ ping -c 4 10.128.0.58 $ ping -c 4 10.128.0.59
On worker Node 1
$ ping -c 4 10.128.0.57 $ ping -c 4 10.128.0.59
On worker Node 2
$ ping -c 4 10.128.0.57 $ ping -c 4 10.128.0.58
Langkah 2) Instal Docker CE pada semua node
Langkah selanjutnya adalah menginstal Docker pada semua node. Kita akan menginstal Docker Community Edition (Docker CE) yang gratis untuk diinstal dan digunakan.
Oleh karena itu, masuk ke setiap node dan perbarui paket lokal index.
$ sudo apt update
Selanjutnya, instal paket prasyarat yang diperlukan selama instalasi
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
Setelah semua paket diinstal, tambahkan key
Docker GPG$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/ gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg
Pada langkah berikutnya, tambahkan repositori Docker resmi ke system
Ubuntu 22.04 Anda sudo add-apt-repository "deb [arch=amd64] https ://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Selanjutnya, perbarui indeks paket lokal untuk membuat sistem, mengetahui repositori yang baru ditambahkan.
$ sudo apt update
Lalu instal Docker dari Docker resmi repositori,
$ sudo apt install docker-ce -y
Perintah menginstal Docker bersama paket tambahan yang akan diperlukan oleh Docker untuk berfungsi seperti yang diharapkan.
Setelah Docker diinstal, tambahkan pengguna yang saat ini masuk ke grup Docker untuk menghindari menjalankan Docker sebagai pengguna sudo setiap kali Anda menjalankan Docker.
$ sudo usermod -aG docker ${USER} $ newgrp docker
Step 3) Pastikan Docker berjalan di semua node
Setelah diinstal, daemon Docker dimulai secara otomatis. Anda dapat memverifikasi bahwa layanan berjalan dengan menjalankan perintah:
$ sudo systemctl status docker
Selain itu, pastikan untuk mengaktifkan layanan Docker agar dimulai secara otomatis pada saat boot.
$ sudo systemctl enable dockerypre
Langkah 4) Buat Docker Swarm Cluster
Langkah selanjutnya adalah menginisialisasi Docker Swarm pada node Manager. Setelah diinisialisasi, kita kemudian akan menambahkan node pekerja ke cluster.
Untuk membuat Docker Swarm Cluster, jalankan perintah:
$ sudo docker swarm init --advertise-addr 10.128.0.57
Setelah Docker Swarm telah diinisialisasi, perintah untuk bergabung node pekerja ke cluster akan ditampilkan di terminal. Salin perintah karena Anda perlu menjalankannya di setiap node pekerja seperti yang disebutkan sebelumnya.
Selanjutnya, login kembali ke setiap node pekerja dan tempel perintah untuk bergabung dengan cluster.
$ sudo docker swarm join --token SWMTKN-1-1k397e5o52cae0yipopqcu9werjcwuss1exbyj4635rrjjl723-7ocx56uhb7p1ri7h2u6ynxyno 10.128.0.57:2377
If all goes well, you should get the following output
Output
This node joined a swarm as a worker
Next, confirm that all the nodes have joined the cluster as follows.
$ sudo docker node ls
You should get output berikut menampilkan semua node di cluster.
Step 5) Uji Instalasi Docker Swarm
Untuk menguji instalasi docker swarm, buka node manager dan terapkan aplikasi container ke cluster. Dalam contoh ini, kami menggunakan wadah server web Nginx dan memetakannya ke port 8080 di host.
$ sudo docker service create --name web-server --publish 8080:80 nginx:latest
Selanjutnya, verifikasi status aplikasi service deploy.
$ sudo docker service ls
Langkah 6) Buat replika layanan
Terakhir, buat tiga replika layanan dan skalakan di kedua manajer Docker dan node pekerja.
$ sudo docker service scale web-server=3
Selanjutnya, konfirmasikan status replika. Kali ini, Anda akan melihat bahwa kami memiliki 3 replicas.
Pada titik ini, wadah server web Nginx harus berjalan di semua node di cluster pada port 8080. Untuk mengonfirmasi ini, buka browser Anda, dan akses server web dari semua node.
http://manager-node:8080
http://worker-node-1:8080
http://worker-node-2:8080
Kesimpulan
Dalam panduan ini, kami berhasil menginstal dan mengkonfigurasi Docker Swarm. Kami juga melangkah lebih jauh dan menerapkan aplikasi ke cluster dan kemudian menskalakannya di semua node di cluster.
Baca Juga: 20 Contoh Perintah Docker yang Berguna di Linux