Layanan Kontainer Azure (ACS) adalah solusi hosting wadah yang dioptimalkan untuk alat orkestra wadah sumber terbuka yang umum digunakan. Alat orkestra container yang didukung adalah DC/OS berbasis Mesos, Kubernetes, dan Docker Swarm. Atau, mesin Docker mandiri dapat digunakan. Azure Container Service mengekspos titik akhir API untuk mesin orkestrasi yang dipilih, sehingga alat open source untuk berbagai kasus penggunaan termasuk pemantauan, integrasi berkelanjutan, dan alat baris perintah dapat mengakses layanan container.
Apa itu ACS Docker Swarm?
Kawanan Docker adalah kumpulan/cluster mesin virtual (VM) yang menjalankan Docker Engine dan menyertakan sumber daya lain seperti Load Balancer, VM Scale Sets atau Availability Sets, Storage, dan Network. Docker Swarm di Azure Container Service terdiri dari Swarm Master dan Swarm Agent node (VM). Swarm Master dapat langsung terhubung menggunakan SSH RSA Key. Agen Swarm tidak dapat dihubungkan secara langsung dengan menggunakan kunci SSH RSA.
Azure Container Service Docker Swarm Cluster bukan cluster mode Docker Swarm. Mode Docker Swarm harus diinisialisasi pada master ACS Swarm. Saat Docker Swarm Cluster dibuat di Portal Azure, semua sumber daya yang diperlukan (VM, Scale Set, Load balancer) dibuat secara otomatis.
Artikel ini memiliki bagian berikut:
- Mengatur Lingkungan
- Memulai Azure Cloud Shell
- Membuat Pasangan Kunci RSA SSH
- Membuat Kawanan Docker Layanan Kontainer Azure
- Menjelajahi Sumber Daya Cluster Docker Swarm
- Menghubungkan ke Swarm Master
- Kesimpulan
Mengatur Lingkungan
Akun Azure adalah satu-satunya prasyarat. Akun Azure dapat dibuat di https://azure.microsoft.com/.
Memulai Azure Cloud Shell
Azure menyediakan antarmuka klien untuk terhubung dengan alat Azure yang disebut Cloud Shell. Cloud Shell adalah shell admin berbasis browser untuk terhubung ke Azure. Cloud Shell mendukung alat klien untuk dipilih, termasuk modul PowerShell, alat Azure, alat penampung, alat database, penerjemah shell Linux, kontrol sumber, dan alat pembangunan. Cloud Shell juga mendukung beberapa bahasa pemrograman untuk dipilih, termasuk .NET dan Node.js. Untuk memulai Cloud Shell, klik >_ ikon, seperti yang ditunjukkan pada Gambar 1.
Gambar 1: Memulai Cloud Shell
Membuat Pasangan Kunci RSA SSH
Untuk membuat solusi host berbasis Azure Container Service, diperlukan SSH RSA Key. Buat kunci SSH RSA dari Cloud Shell dengan perintah berikut:
ssh-keygen -t rsa -b 2048
Prompt perintah untuk menentukan file tempat menyimpan kunci akan ditampilkan, seperti yang ditunjukkan pada Gambar 2. Klik Enter untuk memilih file default.
Gambar 2: Membuat Kunci RSA SSH
Prompt perintah lain untuk menentukan frasa sandi akan ditampilkan. Klik Enter untuk tidak menggunakan frasa sandi. Terlepas dari apakah frasa sandi dipilih atau tidak, prompt perintah konfirmasi akan ditampilkan untuk menentukan frasa sandi lagi. Klik Enter lagi jika tidak ada frasa sandi yang digunakan. Sepasang kunci publik/pribadi dibuat dan disimpan. Output lengkap dari perintah ssh-keygen tercantum di bawah ini:
[email protected]:~$ ssh-keygen -t rsa -b 2048 Generating public/private rsa key pair. Enter file in which to save the key (/home/deepak/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/deepak/.ssh/id_rsa. Your public key has been saved in /home/deepak/.ssh/id_rsa.pub. The key fingerprint is: SHA256:+YArpP5Eri/JENp0b3CKVbOz3qFPveivTHr1vyaHv/o [email protected] The key's randomart image is: +---[RSA 2048]----+ | | | o | | . o | |. . + +. . | |.+ +o=.oS | |o o=. +..+. | | o..+o.oooo. . | | .+o .o=o. .+ o | | o+o .+*oo .OEo | +----[SHA256]-----+
Izin default yang ditetapkan pada kunci SSH RSA terlalu terbuka dan tidak dapat digunakan dengan ACS. Ubah izin menjadi 400 (hanya-baca oleh pemilik):
[email protected]:~$ chmod 400 /home/deepak/.ssh/id_rsa
Kami akan menggunakan kunci SSH RSA saat kami membuat Docker Swarm. Buka file kunci publik di editor vi:
[email protected]:~$ vi /home/deepak/.ssh/id_rsa.pub
Dan, pilih semua dan salin isi id_rsa.pub file dan simpan dalam file teks untuk digunakan nanti.
Membuat Kawanan Docker Layanan Kontainer Azure
Untuk membuat Docker Swarm berbasis Azure Container Service, klik Baru di portal Azure, seperti yang ditunjukkan pada Gambar 3.
Gambar 3: Portal Azure>Baru
Dalam Baru wizard, beberapa aplikasi Azure Marketplace ditampilkan untuk dipilih, seperti yang ditunjukkan pada Gambar 4.
Gambar 4: Penyihir baru
Pilih Layanan Kontainer Azure, seperti yang ditunjukkan pada Gambar 5.
Gambar 5: Memilih Layanan Kontainer Azure
Wizard Buat Layanan Kontainer Azure akan dimulai, seperti yang ditunjukkan pada Gambar 6, dengan Dasar dialog untuk mengonfigurasi pengaturan dasar ditampilkan.
Gambar 6: Buat Layanan Kontainer Azure>Dasar
Tentukan layanan penampung Nama (hello-world-docker), dan pilih Langganan . Untuk Grup sumber daya, pilih Gunakan yang ada dan pilih grup sumber daya, seperti yang ditunjukkan pada Gambar 7. Atau, pilih opsi Buat baru pilihan.
Gambar 7: Buat Layanan Kontainer Azure>Dasar
Pilih Lokasi dan klik OK, seperti yang ditunjukkan pada Gambar 8.
Gambar 8: Mengonfigurasi Pengaturan Dasar untuk Layanan Kontainer Azure
Dalam konfigurasi Master, berikan informasi master, seperti yang ditunjukkan pada Gambar 9.
Gambar 9: Konfigurasi Utama
Pilih Orkestrator sebagai Swarm , seperti yang ditunjukkan pada Gambar 10.
Gambar 10: Memilih Orchestrator sebagai Docker Swarm
Tentukan awalan nama DNS (“docker” – nama arbitrer), dan tentukan Nama pengguna , yang juga merupakan nama arbitrer. Di bidang kunci publik SSH, letakkan kunci publik SSH RSA yang disimpan sebelumnya dalam file teks, seperti yang dibahas di bagian Membuat Pasangan Kunci RSA SSH . Pilih Jumlah master (1, 3, atau 5), seperti yang ditunjukkan pada Gambar 11. Jumlah node master yang ganjil disediakan untuk persyaratan ketersediaan tinggi.
Gambar 11 Memberikan informasi utama
Klik OK (lihat Gambar 12).
Gambar 12: Menyelesaikan Konfigurasi Master
Dalam Konfigurasi agen , tentukan Jumlah agen , pilih Ukuran mesin virtual agen , dan klik OK, seperti yang ditunjukkan pada Gambar 13.
Gambar 13: Konfigurasi Agen
Dalam Ringkasan , konfigurasi Swarm divalidasi dan pesan “Validation passing” akan ditampilkan, seperti yang ditunjukkan pada Gambar 14. Klik OK.
Gambar 14: Ringkasan Kawanan
Penyebaran Swarm dimulai, seperti yang ditunjukkan pada Gambar 15.
Gambar 15: Menerapkan Layanan Kontainer Azure
Saat penerapan selesai, pesan “Penerapan berhasil” akan ditampilkan (lihat Gambar 16).
Gambar 16: Penerapan Berhasil
Menjelajahi Sumber Daya Cluster Docker Swarm
Sumber daya untuk Swarm ditampilkan, seperti yang ditunjukkan pada Gambar 17. Klik See more untuk menampilkan daftar lengkap sumber daya yang dihasilkan.
Gambar 17: Sumber daya
Semua sumber daya Swarm ditampilkan, seperti yang ditunjukkan pada Gambar 18. Jenis sumber daya Swarm ditunjukkan dalam TYPE kolom dan termasuk mesin virtual, set skala mesin virtual, alamat IP publik, set ketersediaan, penyeimbang beban, dan antarmuka jaringan.
Gambar 18: Sumber Daya Kawanan
Menghubungkan ke Swarm Master
Untuk terhubung ke master Swarm, klik mesin virtual master Swarm, seperti yang ditunjukkan pada Gambar 18. Salin Alamat IP Publik dari halaman detail master Swarm (lihat Gambar 19).
Gambar 19: Alamat IP Publik Swarm Master
Klik untuk menyalin Alamat IP Publik master Swarm, seperti yang ditunjukkan pada Gambar 20.
Gambar 20: Menyalin Alamat IP Publik Swarm Master
Menggunakan kunci pribadi SSH, port SSH (2200), nama pengguna, dan alamat IP Publik, sambungkan ke VM master Swarm:
[email protected]:~$ ssh -i /home/deepak/.ssh/id_rsa -p 2200 [email protected]
Pada prompt perintah "Apakah Anda yakin ingin melanjutkan koneksi (ya/tidak)?", tentukan "ya" dan koneksi akan dibuat ke master Swarm, seperti yang ditunjukkan pada Gambar 21. Master Swarm diindikasikan menjalankan Ubuntu OS.
Gambar 21: Menghubungkan ke Swarm Master
VM master Swarm menjalankan mesin Docker secara default.
Kesimpulan
Pada artikel ini, kami membuat cluster Docker Swarm di Azure Container Service (ACS). ACS Docker Swarm bukanlah kluster mode Docker Swarm, yang harus diinisialisasi seperti pada host Docker mana pun yang menjalankan versi 1.12 atau yang lebih baru. Opsi lainnya (selain Docker Swarm) adalah membuat DC/OS berbasis Mesos atau cluster Kubernetes. ACS Docker Swarm adalah sekelompok mesin virtual yang menjalankan Docker. Azure Container Service menyediakan semua sumber daya termasuk mesin virtual, alamat IP publik, set skala mesin virtual, penyeimbang beban, dan antarmuka jaringan. Kami terhubung ke master Swarm menggunakan kunci pribadi SSH RSA, nama pengguna, dan Alamat IP Publik master Swarm.