Bagikan melalui


Merencanakan dan menyiapkan penyebaran kluster Standalone Service Fabric Anda

Lakukan langkah-langkah berikut sebelum membuat kluster.

Merencanakan infrastruktur kluster Anda

Anda akan membuat kluster Service Fabric pada komputer yang Anda "miliki", sehingga Anda dapat memutuskan jenis kegagalan apa yang Anda inginkan untuk bertahan hidup. Misalnya, apakah Anda memerlukan saluran listrik atau koneksi Internet terpisah yang disediakan untuk komputer-komputer ini? Selain itu, pertimbangkan keamanan fisik komputer-komputer ini. Di mana komputer berada dan siapa yang membutuhkan akses ke sana? Setelah Anda membuat keputusan ini, Anda dapat memetakan komputer secara logis ke berbagai domain kesalahan (lihat langkah berikutnya). Perencanaan infrastruktur untuk kluster produksi lebih terlibat daripada untuk kluster pengujian.

Menentukan jumlah domain kesalahan dan meningkatkan domain

Domain fault domain (FD) adalah unit fisik kegagalan dan terkait langsung dengan infrastruktur fisik di pusat data. Domain kesalahan terdiri dari komponen perangkat keras (komputer, sakelar, jaringan, dan lainnya) yang berbagi satu titik kegagalan. Meskipun tidak ada pemetaan 1:1 antara domain kesalahan dan rack, secara longgar, setiap rack dapat dianggap sebagai domain kesalahan.

Saat Anda menentukan FD di ClusterConfig.json, Anda dapat memilih nama untuk setiap FD. Service Fabric mendukung FD hierarkis, sehingga Anda dapat mencerminkan topologi infrastruktur Anda di dalamnya. Misalnya, FD berikut ini valid:

  • "faultDomain": "fd:/Room1/Rack1/Machine1"
  • "faultDomain": "fd:/FD1"
  • "faultDomain": "fd:/Room1/Rack1/PDU1/M1"

Domain peningkatan (UD) adalah unit node logis. Selama peningkatan orkestra Service Fabric (baik peningkatan aplikasi atau peningkatan kluster), semua node dalam UD diturunkan untuk melakukan peningkatan sementara node di ID lain tetap tersedia untuk melayani permintaan. Peningkatan firmware yang Anda lakukan pada komputer Anda tidak memperhatikan UD, sehingga Anda harus melakukannya satu komputer pada satu waktu.

Cara paling sederhana untuk memikirkan konsep-konsep ini adalah dengan mempertimbangkan FD sebagai unit kegagalan dan UD yang tidak direncanakan sebagai unit pemeliharaan yang direncanakan.

Saat Anda menentukan UD di ClusterConfig.json, Anda dapat memilih nama untuk setiap UD. Misalnya, nama-nama berikut ini valid:

  • "upgradeDomain": "UD0"
  • "upgradeDomain": "UD1A"
  • "upgradeDomain": "DomainRed"
  • "upgradeDomain": "Blue"

Untuk informasi lebih terperinci tentang FD dan UD, lihat Menggambarkan kluster Service Fabric.

Kluster dalam produksi harus mencakup setidaknya tiga FD untuk didukung di lingkungan produksi, jika Anda memiliki kendali penuh atas pemeliharaan dan manajemen node, yaitu, Anda bertanggung jawab untuk memperbarui dan mengganti komputer. Untuk kluster yang berjalan di lingkungan (yaitu, instans Amazon Web Services VM) yang di situ Anda tidak memiliki kontrol penuh atas komputer, Anda harus memiliki minimal lima FD di kluster Anda. Setiap FD dapat memiliki satu atau beberapa node. Ini untuk mencegah masalah yang disebabkan oleh peningkatan dan pembaruan komputer, yang tergantung pada waktunya, dapat mengganggu berjalannya aplikasi dan layanan dalam kluster.

Tentukan ukuran kluster awal

Umumnya, jumlah node dalam kluster Anda ditentukan berdasarkan kebutuhan bisnis Anda, yaitu berapa banyak layanan dan kontainer yang akan berjalan pada kluster dan berapa banyak sumber daya yang Anda butuhkan untuk mempertahankan beban kerja Anda. Untuk kluster produksi, kami sarankan Anda memiliki setidaknya lima node di kluster Anda, yang mencakup 5 FD. Namun, seperti yang dijelaskan di atas, jika Anda memiliki kontrol penuh atas node Anda dan dapat menjangkau tiga FD, maka tiga node juga harus melakukan pekerjaan itu.

Kluster pengujian yang menjalankan beban kerja stateful harus memiliki tiga node, sedangkan kluster pengujian hanya menjalankan beban kerja stateless hanya perlu satu node. Perlu juga dicatat bahwa untuk tujuan pengembangan, Anda dapat memiliki lebih dari satu node pada komputer tertentu. Namun, dalam lingkungan produksi, Service Fabric hanya mendukung satu node per komputer fisik atau virtual.

Siapkan komputer yang akan berfungsi sebagai node

Berikut adalah spesifikasi yang direkomendasikan untuk komputer dalam kluster Service Fabric:

  • Minimal 16 GB RAM
  • Minimal 40 GB ruang disk yang tersedia
  • CPU 4 core atau lebih besar
  • Konektivitas ke jaringan atau jaringan yang aman untuk semua komputer
  • OS Windows Server terinstal (versi yang valid: 2012 R2, 2016, 1709, atau 1803). Service Fabric versi 6.4.654.9590 dan yang lebih baru juga mendukung Server 2019 dan 1809.
  • .NET Framework 4.5.1 atau lebih tinggi, penginstalan penuh
  • Windows PowerShell 3.0
  • Layanan RemoteRegistry harus berjalan pada semua komputer
  • Drive pemasangan Service Fabric harus sistem file NTFS
  • Layanan Windows Log & Pemberitahuan Performa dan Log Windows Event harus diaktifkan.
  • Kontrol Akun Pengguna Jarak Jauh harus dinonaktifkan

Penting

Administrator kluster yang menyebarkan dan mengonfigurasi kluster harus memiliki hak administrator pada tiap-tiap komputer. Anda tidak dapat menginstal Service Fabric pada pengendali domain.

Mengunduh paket standalone Service Fabric untuk Windows Server

Tautan Unduhan - Paket Standalone Service Fabric - Windows Server dan unzip paket, baik ke komputer penyebaran yang bukan bagian dari kluster, atau ke salah satu komputer yang akan menjadi bagian dari kluster Anda.

Mengubah konfigurasi kluster

Untuk membuat kluster standalone, Anda harus membuat konfigurasi kluster standalone ClusterConfig.jsfile, yang menjelaskan spesifikasi kluster. Anda dapat mendasarkan file konfigurasi pada templat yang ditemukan di tautan di bawah ini.
Konfigurasi Kluster Standalone

Untuk penjelasan lebih lanjut tentang bagian dalam file ini, lihat Pengaturan konfigurasi untuk kluster Windows standalone.

Buka salah satu file ClusterConfig.json dari paket yang Anda unduh dan ubah pengaturan berikut:

Pengaturan Konfigurasi Keterangan
NodeTypes Jenis node memungkinkan Anda memisahkan node kluster Anda ke berbagai grup. Kluster harus memiliki setidaknya satu NodeType. Semua simpul dalam grup memiliki karakteristik umum berikut:
Nama - Ini adalah nama tipe node.
Port Endpoint - Ini adalah beberapa titik akhir (port) yang terkait dengan jenis node ini. Anda dapat menggunakan nomor port apa pun yang Anda inginkan, selama tidak bertentangan dengan hal lain dalam manifes ini dan belum digunakan oleh aplikasi lain yang berjalan pada komputer/VM.
Properti Penempatan - Ini menjelaskan properti untuk jenis node ini yang Anda gunakan sebagai batasan penempatan untuk layanan sistem atau layanan Anda. Properti ini adalah pasangan kunci/nilai yang ditentukan pengguna yang menyediakan data meta tambahan untuk node tertentu. Contoh properti node adalah apakah node memiliki hard drive atau kartu grafis, jumlah spindle di hard drive, core, dan properti fisik lainnya.
Kapasitas - Kapasitas node menentukan nama dan jumlah sumber daya tertentu yang tersedia untuk dikonsumsi oleh node tertentu. Misalnya, node dapat menentukan bahwa ia memiliki kapasitas untuk metrik yang disebut "MemoryInMb" dan memiliki 2048 MB yang tersedia secara default. Kapasitas ini digunakan pada waktu proses untuk memastikan bahwa layanan yang memerlukan jumlah sumber daya tertentu ditempatkan pada node yang memiliki sumber daya yang tersedia dalam jumlah yang diperlukan.
IsPrimary - Jika Anda memiliki lebih dari satu NodeType yang ditentukan memastikan bahwa hanya satu yang diatur ke primer dengan nilai true, yang merupakan tempat layanan sistem berjalan. Semua tipe node lainnya harus diatur ke nilai false
Node Ini adalah detail untuk masing-masing node yang merupakan bagian dari kluster (jenis node, nama node, alamat IP, domain kesalahan, dan domain peningkatan node). Komputer yang Anda inginkan untuk dibuat kluster perlu dicantumkan di sini dengan alamat IP-nya.
Jika Anda menggunakan alamat IP yang sama untuk semua node, maka kluster satu kotak dibuat, yang dapat Anda gunakan untuk tujuan pengujian. Jangan gunakan kluster Satu kotak untuk menyebarkan beban kerja produksi.

Setelah konfigurasi kluster memiliki semua pengaturan yang dikonfigurasi ke lingkungan, konfigurasi dapat diuji terhadap lingkungan kluster (langkah 7).

Penyiapan lingkungan

Saat administrator kluster mengonfigurasi kluster mandiri Service Fabric, lingkungan perlu disiapkan dengan kriteria berikut:

  1. Pengguna yang membuat kluster harus memiliki hak keamanan tingkat administrator untuk semua komputer yang terdaftar sebagai node dalam file konfigurasi kluster.

  2. Komputer dari mana kluster dibuat, serta setiap komputer node kluster harus:

    • Menghapus instalan SDK Service Fabric
    • Menghapus instalan runtime Service Fabric
    • Mengaktifkan layanan Windows Firewall (mpssvc)
    • Mengaktifkan Layanan Registri Jarak Jauh (registri jarak jauh)
    • Mengaktifkan berbagi file (SMB)
    • Membuka port yang diperlukan, berdasarkan port konfigurasi kluster
    • Membuka port yang diperlukan untuk Windows SMB dan layanan Remote Registry: 135, 137, 138, 139, dan 445
    • Memiliki konektivitas jaringan satu sama lain
  3. Tidak ada komputer node kluster yang harus menjadi Pengendali Domain.

  4. Jika kluster yang akan digunakan adalah kluster aman, validasi prasyarat keamanan yang diperlukan sudah ada, dan dikonfigurasi dengan benar terhadap konfigurasi.

  5. Jika komputer kluster tidak dapat diakses internet, atur yang berikut ini dalam konfigurasi kluster:

    • Nonaktifkan telemetri: Pada properti , atur "enableTelemetry": false
    • Nonaktifkan pengunduhan & pemberitahuan versi Fabric bahwa versi kluster saat ini mendekati akhir dukungannya: Pada properti, atur "fabricClusterAutoupgradeEnabled": false
    • Atau, jika akses internet jaringan terbatas pada domain yang diizinkan, domain di bawah ini diperlukan untuk peningkatan otomatis: go.microsoft.com download.microsoft.com
  6. Tetapkan pengecualian antivirus Service Fabric yang sesuai:

Direktori Antivirus Dikecualikan
Program Files\Microsoft Service Fabric
FabricDataRoot (dari konfigurasi kluster)
FabricLogRoot (dari konfigurasi kluster)
Antivirus Proses yang dikecualikan
Fabric.exe
FabricHost.exe
FabricInstallerService.exe
FabricSetup.exe
FabricDeployer.exe
ImageBuilder.exe
FabricGateway.exe
FabricDCA.exe
FabricFAS.exe
FabricUOS.exe
FabricRM.exe
FileStoreService.exe

Memvalidasi lingkungan menggunakan skrip TestConfiguration

Skrip TestConfiguration.ps1 dapat ditemukan dalam paket standalone. Ini digunakan sebagai Penganalisis Praktik Terbaik untuk memvalidasi beberapa kriteria di atas dan harus digunakan sebagai pemeriksaan sanitas untuk memvalidasi apakah kluster dapat digunakan pada lingkungan tertentu. Jika ada kegagalan, lihat daftar di bawah Penyiapan Lingkungan untuk pemecahan masalah.

Skrip ini dapat dijalankan pada komputer apa pun yang memiliki akses administrator ke semua komputer yang terdaftar sebagai node dalam file konfigurasi kluster. Komputer yang dijalankan skrip ini tidak harus menjadi bagian dari kluster.

PS C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer> .\TestConfiguration.ps1 -ClusterConfigFilePath .\ClusterConfig.Unsecure.DevCluster.json
Trace folder already exists. Traces will be written to existing trace folder: C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer\DeploymentTraces
Running Best Practices Analyzer...
Best Practices Analyzer completed successfully.


LocalAdminPrivilege        : True
IsJsonValid                : True
IsCabValid                 : True
RequiredPortsOpen          : True
RemoteRegistryAvailable    : True
FirewallAvailable          : True
RpcCheckPassed             : True
NoConflictingInstallations : True
FabricInstallable          : True
Passed                     : True

Saat ini modul pengujian konfigurasi ini tidak memvalidasi konfigurasi keamanan sehingga ini harus dilakukan secara independen.

Catatan

Kami terus melakukan perbaikan untuk membuat modul ini lebih kuat, jadi jika ada kasus yang rusak atau hilang yang Anda yakini saat ini tidak tertangkap oleh TestConfiguration, harap beri tahu kami melalui saluran dukungan kami.

Langkah berikutnya