Menyiapkan kluster Linux Service Fabric di mesin pengembang Windows Anda
Dokumen ini membahas cara menyiapkan kluster Linux Service Fabric lokal pada mesin pengembangan Windows. Menyiapkan kluster Linux lokal berguna untuk menguji aplikasi yang ditargetkan untuk kluster Linux dengan cepat tetapi dikembangkan pada mesin Windows.
Prasyarat
Kluster Service Fabric berbasis Linux tidak berjalan di Windows, tetapi untuk mengaktifkan pembuatan prototipe lintas platform, kami telah menyediakan kontainer docker kluster Linux Service Fabric one box, yang dapat disebarkan melalui Docker untuk Windows.
Sebelum memulai, Anda memerlukan:
- Minimal RAM 4-GB
- Versi terbaru Docker for Windows
- Docker harus berjalan dalam mode kontainer Linux
Tip
Untuk memasang Docker di mesin Windows Anda, ikuti langkah-langkah dalam dokumentasi Docker. Setelah menginstal, verifikasi penginstalan Anda.
Membuat kontainer lokal dan menyiapkan Service Fabric
Untuk menyiapkan kontainer Docker lokal dan memiliki kluster Service Fabric yang berjalan di atasnya, jalankan langkah-langkah berikut:
Perbarui konfigurasi daemon Docker di host Anda dengan yang berikut ini dan mulai ulang daemon Docker:
{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" }
Cara yang disarankan untuk memperbarui adalah dengan membuka:
- Ikon Docker > Pengaturan > Mesin Docker
- Menambahkan bidang baru yang tercantum di atas
- Menerapkan & Memulai ulang - mulai ulang daemon Docker agar perubahan diterapkan.
Mulai kluster melalui PowerShell.
Ubuntu 20.04 LTS:docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u20
Ubuntu 18.04 LTS:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18
Tip
Secara default, hal ini akan menarik citra dengan versi terbaru Service Fabric. Untuk revisi tertentu, lihat halaman Service Fabric Onebox di Docker Hub.
Opsional: Buat citra Service Fabric yang diperluas.
Di direktori baru, buat file yang disebut
Dockerfile
untuk menyusun citra yang disesuaikan:Catatan
Anda dapat menyesuaikan citra di atas dengan Dockerfile untuk menambahkan program atau dependensi tambahan ke dalam kontainer Anda. Misalnya, menambahkan
RUN apt-get install nodejs -y
akan memungkinkan dukungan untuk aplikasinodejs
sebagai tamu yang dapat dijalankan.FROM mcr.microsoft.com/service-fabric/onebox:u18 RUN apt-get install nodejs -y EXPOSE 19080 19000 80 443 WORKDIR /home/ClusterDeployer CMD ["./ClusterDeployer.sh"]
Tip
Secara default, hal ini akan menarik citra dengan versi terbaru Service Fabric. Untuk revisi khusus, harap kunjungi halaman Docker Hub.
Untuk membangun citra yang dapat digunakan kembali dari
Dockerfile
, buka terminal dancd
ke penahanan langsungDockerfile
Anda, lalu jalankan:docker build -t mysfcluster .
Catatan
Operasi ini akan memakan waktu tetapi hanya berlaku satu kali.
Sekarang Anda dapat dengan cepat memulai salinan lokal Service Fabric kapan pun Anda membutuhkannya dengan menjalankan:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mysfcluster
Tip
Berikan nama untuk instans kontainer Anda sehingga dapat ditangani dengan cara yang lebih mudah dibaca.
Jika aplikasi Anda mendengarkan port tertentu, port harus ditentukan menggunakan tag
-p
tambahan. Misalnya, jika aplikasi Anda mendengarkan di port 8080, tambahkan tag-p
berikut:docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18
Kluster akan memakan waktu singkat untuk memulai, Anda dapat melihat log menggunakan perintah berikut atau melanjutkan ke dasbor untuk melihat kesehatan kluster
http://localhost:19080
:docker logs sftestcluster
Setelah kluster berhasil disebarkan seperti yang diamati pada langkah 4, Anda dapat membuka
http://localhost:19080
dari mesin Windows untuk menemukan dasbor Service Fabric Explorer. Pada titik ini, Anda dapat terhubung ke kluster ini menggunakan alat dari mesin pengembang Windows Anda dan menyebarkan aplikasi yang ditargetkan untuk kluster Linux Service Fabric.Catatan
Plugin Eclipse saat ini tidak didukung pada Windows.
Setelah selesai, hentikan dan hapus kontainer dengan perintah ini:
docker rm -f sftestcluster
Batasan Umum
Berikut ini adalah batasan yang diketahui dari kluster lokal yang berjalan dalam kontainer untuk Mac:
- Layanan DNS tidak berjalan dan saat ini tidak didukung dalam kontainer. Masalah #132
- Menjalankan aplikasi berbasis kontainer memerlukan menjalankan SF pada host Linux. Aplikasi kontainer berlapis saat ini tidak didukung.
Langkah berikutnya
- Menyiapkan kluster Linux di Windows melalui WSL2
- Membuat dan menyebarkan aplikasi Service Fabric Java pertama di Linux menggunakan Yeoman
- Mulai menggunakan Eclipse
- Lihat sampel Java lainnya
- Pelajari tentang opsi dukungan Service Fabric