Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tutorial ini adalah bagian ketiga dari seri dan menunjukkan kepada Anda cara menyebarkan aplikasi Service Fabric ke kluster di Azure.
Di bagian ketiga seri ini, Anda mempelajari cara:
- Membuat kluster Linux yang aman di Azure
- Menyebarkan aplikasi ke kluster
Dalam tutorial ini, Anda akan belajar cara:
Prasyarat
Sebelum Anda memulai tutorial ini:
- Jika Anda tidak memiliki langganan Azure, buatlah akun gratis
- Instal Azure CLI
- Menginstal Service Fabric SDK untuk Mac atau Linux
- Menginstal Python 3
Membuat kluster Service Fabric di Azure
Langkah-langkah berikut membuat sumber daya yang diperlukan untuk menyebarkan aplikasi Anda ke kluster Service Fabric. Selain itu, sumber daya yang diperlukan untuk memantau kesehatan solusi Anda menggunakan ELK stack (Elasticsearch, Logstash, Kibana) telah disiapkan. Secara khusus, Event Hubs digunakan sebagai tujuan penyimpanan untuk log dari Service Fabric. Ini dikonfigurasi untuk mengirim log dari kluster Service Fabric ke instans Logstash Anda.
Buka terminal dan unduh paket berikut yang berisi skrip pembantu yang diperlukan dan templat untuk membuat sumber daya di Azure
git clone https://github.com/Azure-Samples/service-fabric-java-quickstart.gitMasuk ke akun Azure Anda
az loginAtur langganan Azure yang ingin Anda gunakan untuk membuat sumber daya
az account set --subscription [SUBSCRIPTION-ID]Dari folder service-fabric-java-quickstart/AzureCluster , jalankan perintah berikut untuk membuat sertifikat kluster di Key Vault. Sertifikat ini digunakan untuk mengamankan kluster Service Fabric Anda. Berikan wilayah (harus sama dengan kluster Service Fabric Anda), nama grup sumber daya brankas kunci, nama brankas kunci, kata sandi sertifikat, dan nama DNS kluster.
./new-service-fabric-cluster-certificate.sh [REGION] [KEY-VAULT-RESOURCE-GROUP] [KEY-VAULT-NAME] [CERTIFICATE-PASSWORD] [CLUSTER-DNS-NAME-FOR-CERTIFICATE] Example: ./new-service-fabric-cluster-certificate.sh 'westus' 'testkeyvaultrg' 'testkeyvault' '<password>' 'testservicefabric.westus.cloudapp.azure.com'Perintah sebelumnya mengembalikan informasi berikut yang harus dicatat untuk digunakan nanti.
Source Vault Resource Id: /subscriptions/<subscription_id>/resourceGroups/testkeyvaultrg/providers/Microsoft.KeyVault/vaults/<name> Certificate URL: https://<name>.vault.azure.net/secrets/<cluster-dns-name-for-certificate>/<guid> Certificate Thumbprint: <THUMBPRINT>Membuat grup sumber daya untuk akun penyimpanan yang menyimpan log Anda
az group create --location [REGION] --name [RESOURCE-GROUP-NAME] Example: az group create --location westus --name teststorageaccountrgMembuat akun penyimpanan yang akan digunakan untuk menyimpan log yang akan diproduksi
az storage account create -g [RESOURCE-GROUP-NAME] -l [REGION] --name [STORAGE-ACCOUNT-NAME] --kind Storage Example: az storage account create -g teststorageaccountrg -l westus --name teststorageaccount --kind StorageAkses portal Microsoft Azure dan navigasikan ke tab Tanda Tangan Akses Bersama untuk akun Penyimpanan Anda. Hasilkan token SAS sebagai berikut.
Salin URL SAS akun dan sisihkan untuk digunakan saat membuat kluster Service Fabric Anda. Ini menyerupai URL berikut ini.
?sv=2017-04-17&ss=bfqt&srt=sco&sp=rwdlacup&se=2018-01-31T03:24:04Z&st=2018-01-30T19:24:04Z&spr=https,http&sig=IrkO1bVQCHcaKaTiJ5gilLSC5Wxtghu%2FJAeeY5HR%2BPU%3DBuat grup sumber daya yang berisi sumber daya Pusat Aktivitas. Azure Event Hubs digunakan untuk mengirim pesan dari Service Fabric ke server yang menjalankan sumber daya ELK.
az group create --location [REGION] --name [RESOURCE-GROUP-NAME] Example: az group create --location westus --name testeventhubsrgBuat sumber daya Azure Event Hubs menggunakan perintah berikut. Ikuti perintah untuk memasukkan detail untuk namespaceName, eventHubName, consumerGroupName, sendAuthorizationRule, dan receiveAuthorizationRule.
az deployment group create -g [RESOURCE-GROUP-NAME] --template-file eventhubsdeploy.json Example: az deployment group create -g testeventhubsrg --template-file eventhubsdeploy.json Please provide string value for 'namespaceName' (? for help): testeventhubnamespace Please provide string value for 'eventHubName' (? for help): testeventhub Please provide string value for 'consumerGroupName' (? for help): testeventhubconsumergroup Please provide string value for 'sendAuthorizationRuleName' (? for help): sender Please provide string value for 'receiveAuthorizationRuleName' (? for help): receiverSalin konten bidang output di output JSON dari perintah sebelumnya. Informasi pengirim digunakan saat kluster Service Fabric dibuat. Nama penerima dan kunci harus disimpan untuk digunakan dalam tutorial berikutnya ketika layanan Logstash dikonfigurasi untuk menerima pesan dari Event Hub. Blob berikut adalah contoh output JSON:
"outputs": { "receiver Key": { "type": "String", "value": "[KEY]" }, "receiver Name": { "type": "String", "value": "receiver" }, "sender Key": { "type": "String", "value": "[KEY]" }, "sender Name": { "type": "String", "value": "sender" } }Jalankan skrip eventhubssastoken.py untuk menghasilkan url SAS untuk sumber daya EventHubs yang Anda buat. URL SAS ini digunakan oleh kluster Service Fabric untuk mengirim log ke Azure Event Hubs. Akibatnya, kebijakan pengirim digunakan untuk menghasilkan URL. Skrip mengembalikan URL SAS untuk sumber daya Azure Event Hubs yang digunakan dalam langkah berikut:
python3 eventhubssastoken.py 'testeventhubs' 'testeventhubs' 'sender' '[PRIMARY-KEY]'Salin nilai bidang sr di JSON yang dikembalikan. Nilai bidang sr adalah token SAS untuk EventHubs. URL berikut adalah contoh bidang sr :
https%3A%2F%testeventhub.servicebus.windows.net%testeventhub&sig=7AlFYnbvEm%2Bat8ALi54JqHU4i6imoFxkjKHS0zI8z8I%3D&se=1517354876&skn=senderURL SAS Anda untuk EventHubs mengikuti struktur:
https://<namespacename>.servicebus.windows.net/<eventhubsname>?sr=<sastoken>. Misalnya:https://testeventhubnamespace.servicebus.windows.net/testeventhub?sr=https%3A%2F%testeventhub.servicebus.windows.net%testeventhub&sig=7AlFYnbvEm%2Bat8ALi54JqHU4i6imoFxkjKHS0zI8z8I%3D&se=1517354876&skn=senderBuka file sfdeploy.parameters.json dan ganti konten berikut dari langkah-langkah sebelumnya. [SAS-URL-STORAGE-ACCOUNT] dicatat di langkah 8. [SAS-URL-EVENT-HUBS] dicatat di langkah 11.
"applicationDiagnosticsStorageAccountName": { "value": "teststorageaccount" }, "applicationDiagnosticsStorageAccountSasToken": { "value": "[SAS-URL-STORAGE-ACCOUNT]" }, "loggingEventHubSAS": { "value": "[SAS-URL-EVENT-HUBS]" }Membuka sfdeploy.parameters.json. Ubah parameter berikut lalu simpan file.
- clusterName. Gunakan hanya huruf kecil dan angka.
- adminUserName (ke nilai selain kosong)
- adminPassword (ke nilai yang bukan kosong)
Jalankan perintah berikut untuk membuat kluster Service Fabric Anda
az sf cluster create --location 'westus' --resource-group 'testlinux' --template-file sfdeploy.json --parameter-file sfdeploy.parameters.json --secret-identifier <certificate_url_from_step4>
Menyebarkan aplikasi Anda ke kluster
Sebelum menyebarkan aplikasi, Anda perlu menambahkan cuplikan berikut ke file Voting/VotingApplication/ApplicationManifest.xml . Field X509FindValue adalah thumbprint yang dikembalikan pada Langkah 4 bagian Buat cluster Service Fabric di Azure. Cuplikan ini disarangkan di bawah bidang ApplicationManifest (bidang akar).
<Certificates> <SecretsCertificate X509FindType="FindByThumbprint" X509FindValue="[CERTIFICATE-THUMBPRINT]" /> </Certificates>Untuk menyebarkan aplikasi Anda ke kluster ini, Anda harus menggunakan SFCTL untuk membuat koneksi ke kluster. SFCTL memerlukan file PEM dengan kunci publik dan privat untuk terhubung ke kluster. Jalankan perintah berikut untuk menghasilkan file PEM dengan kunci publik dan privat.
openssl pkcs12 -in <clustername>.<region>.cloudapp.azure.com.pfx -out sfctlconnection.pem -nodes -passin pass:<password>Jalankan perintah berikut untuk menyambungkan ke kluster.
sfctl cluster select --endpoint https://<clustername>.<region>.cloudapp.azure.com:19080 --pem sfctlconnection.pem --no-verifyUntuk menyebarkan aplikasi Anda, navigasikan ke folder Voting/Scripts dan jalankan skrip install.sh .
./install.shUntuk mengakses Service Fabric Explorer, buka browser favorit Anda dan ketik .
https://testlinuxcluster.westus.cloudapp.azure.com:19080Pilih sertifikat dari penyimpanan sertifikat yang ingin Anda gunakan untuk menyambungkan ke titik akhir ini. Jika Anda menggunakan komputer Linux, sertifikat yang dihasilkan oleh skrip new-service-fabric-cluster-certificate.sh harus diimpor ke Chrome untuk melihat Service Fabric Explorer. Jika Anda menggunakan Mac, Anda harus menginstal file PFX ke Rantai Kunci Anda. Anda melihat aplikasi Anda telah diinstal pada kluster.
Untuk mengakses aplikasi Anda, ketik
https://testlinuxcluster.westus.cloudapp.azure.com:8080
Untuk menghapus instalan aplikasi Anda dari kluster, jalankan skrip uninstall.sh di folder Skrip
./uninstall.sh
Langkah berikutnya
Dalam tutorial ini, Anda belajar cara:
- Membuat kluster Linux yang aman di Azure
- Membuat sumber daya yang diperlukan untuk pemantauan dengan ELK
Melanjutkan ke tutorial berikutnya: