0Pricing
DevOps Bootcamp · Pelajaran

Menerapkan Layanan ke Swarm

Terapkan dan skalakan aplikasi dalam kontainer sebagai layanan di klaster Swarm, serta kelola siklus hidupnya.

Menerapkan Layanan ke Swarm adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa Itu Layanan Docker Swarm?

Dalam Docker Swarm, layanan adalah definisi tentang cara Anda ingin menjalankan aplikasi yang dikontainerisasi di seluruh klaster.

Alih-alih menjalankan kontainer satu per satu, Anda menentukan layanan untuk memberi tahu Swarm: "Saya ingin menjalankan X instans image ini, pada port-port ini, dengan pengaturan ini."

Swarm kemudian memastikan keadaan yang Anda inginkan tetap terjaga dan otomatis memulai ulang kontainer jika mengalami kegagalan.

Menerapkan Layanan ke Swarm — ilustrasi 1

Layanan vs. Kontainer

Bayangkan seperti ini:

  • Sebuah kontainer adalah satu instans aplikasi.
  • Sebuah layanan adalah cetak biru untuk menjalankan satu atau beberapa kontainer identik (disebut tugas) di seluruh Swarm.

Layanan menyediakan ketersediaan tinggi dan skalabilitas dengan mendistribusikan tugas serta menangani kegagalan secara otomatis.

Menerapkan Layanan Pertama Anda

Perintah docker service create digunakan untuk menerapkan aplikasi sebagai layanan ke klaster Swarm Anda. Mari buat layanan server web Nginx sederhana.

Coba jalankan contoh berikut:

docker service create \
  --name my-web-app \
  -p 80:80 \
  --replicas 1 \
  nginx

Memahami Pembuatan Layanan

Mari kita uraikan perintah yang baru saja digunakan:

  • --name my-web-app: Memberikan nama yang mudah diingat untuk layanan Anda.
  • -p 80:80: Memetakan port 80 pada node Swarm ke port 80 di dalam kontainer.
  • --replicas 1: Memberi tahu Swarm untuk mempertahankan satu instans yang berjalan (tugas) dari layanan ini.
  • nginx: Menentukan image Docker yang akan digunakan untuk tugas layanan.

Memeriksa Layanan Anda

Setelah membuat layanan, Anda perlu memeriksa statusnya dan melihat tugas yang sedang berjalan. Gunakan perintah berikut:

  • docker service ls: Menampilkan semua layanan di Swarm Anda.
  • docker service ps <service_name>: Menampilkan tugas individual (kontainer) yang terkait dengan suatu layanan.
docker service ls
docker service ps my-web-app

Meningkatkan Skala Layanan Anda

Salah satu manfaat utama Docker Swarm adalah penskalaan yang mudah. Anda dapat menambah jumlah instans yang berjalan (replika) dari layanan dengan satu perintah.

Mari tingkatkan skala my-web-app menjadi tiga replika:

docker service scale my-web-app=3

Menurunkan Skala Layanan Anda

Dengan cara yang sama, Anda dapat menurunkan skala layanan untuk mengurangi penggunaan sumber daya atau mengelola lalu lintas. Swarm akan menghentikan kontainer yang berlebih secara teratur, sementara kontainer lainnya tetap berjalan.

Mari turunkan skala my-web-app kembali menjadi satu replika:

docker service scale my-web-app=1

Memperbarui Layanan

Saat perlu menerapkan versi baru aplikasi atau mengubah pengaturan layanan, docker service update melakukan pembaruan bergulir. Swarm memperbarui tugas satu per satu sehingga aplikasi Anda tetap tersedia.

Mari perbarui layanan Nginx ke versi tertentu:

docker service update --image nginx:1.25 my-web-app

Menghapus Layanan

Saat layanan tidak lagi diperlukan, Anda dapat menghapusnya dari Swarm. Tindakan ini akan menghentikan semua tugas terkait dan menghapus definisi layanan dari klaster.

Untuk menghapus layanan aplikasi web contoh kita:

docker service rm my-web-app

Kuis Pengelolaan Layanan

Anda memiliki layanan bernama my-backend yang berjalan dengan 3 replika dan menggunakan image my-backend:v1. Anda perlu memperbaruinya agar menggunakan image baru, my-backend:v2, sekaligus menambah jumlah replikanya menjadi 5.

Rangkuman: Layanan Swarm

Bagus! Anda telah mempelajari hal-hal penting dalam menerapkan dan mengelola aplikasi sebagai layanan di Docker Swarm.

  • Layanan menentukan keadaan yang diinginkan untuk aplikasi yang dikontainerisasi.
  • Anda telah mempelajari cara membuat layanan menggunakan docker service create.
  • Anda telah membahas cara memeriksa, melakukan penskalaan (docker service scale), dan memperbarui (docker service update) layanan.
  • Terakhir, Anda dapat menghapus layanan dengan docker service rm.

Layanan merupakan dasar penting untuk membangun aplikasi yang skalabel dan tangguh dalam klaster Swarm!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menerapkan Layanan ke Swarm” gratis?

Ya — teks lengkap “Menerapkan Layanan ke Swarm” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menerapkan Layanan ke Swarm”?

Terapkan dan skalakan aplikasi dalam kontainer sebagai layanan di klaster Swarm, serta kelola siklus hidupnya. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Menerapkan Layanan ke Swarm” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pengantar Docker Swarm
  2. Menyiapkan Klaster Swarm
  3. Menerapkan Layanan ke Swarm
  4. Penskalaan dan Pembaruan Bergulir di Swarm
← Kembali ke DevOps Bootcamp