Azure Service Fabric عبارة عن نظام أساسي للأنظمة الموزعة لنشر وإدارة خدمات وحاويات قابلة للتطوير وموثوق بها.
لا يتطلب تشغيل تطبيق موجود في حاوية Windows على مجموعة Service Fabric أي تغييرات على التطبيق الخاص بك. توضح لك هذه البداية السريعة كيفية نشر صورة حاوية Docker سابقة الإنشاء في تطبيق Service Fabric. عند الانتهاء، سيكون لديك خادم Windows Server Core 2016 وحاوية IIS قيد التشغيل. تصف هذه البداية السريعة نشر حاوية Windows. اقرأ هذا التشغيل السريع لنشر حاوية Linux.
قم بتعبئة حاوية صورة Docker باستخدام Visual Studio
توفر مجموعة أدوات تطوير البرمجيات Service Fabric SDK وأدواتها قالب خدمة لمساعدتك في نشر حاوية إلى مجموعة Service Fabric.
بدء Visual Studio كـ "المسؤول". حدد "File">"New">"Project".
حدد تطبيق Service Fabric، وقم بتسميه "MyFirstContainer"، وانقر فوق Create.
حدد Container من قوالب Hosted Containers and Applications .
في اسم الصورة، أدخل "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2016"، وWindows Server Core Server والصورة الأساسية ل IIS.
قم بتكوين تعيين منفذ الحاوية إلى منفذ المضيف بحيث يتم تعيين الطلبات الواردة إلى الخدمة على المنفذ 80 إلى المنفذ 80 في الحاوية. تعيين منفذ الحاوية إلى "80" وتعيين منفذ المضيف إلى "80".
قم بتسمية الخدمة "MyContainerService"، وانقر فوق موافق.
حدد إصدار نظام التشغيل لصورة الحاوية الخاصة بك
قد لا يتم تشغيل الحاويات التي تم إنشاؤها باستخدام إصدار معين من Windows Server على مضيف يقوم بتشغيل إصدار مختلف من Windows Server. على سبيل المثال، لا تعمل الحاويات التي تم إنشاؤها باستخدام الإصدار 1709 من Windows Server على الأجهزة المضيفة التي تعمل بنظام Windows Server 2016. لمعرفة المزيد، راجع نظام تشغيل حاوية Windows Server وتوافق نظام التشغيل المضيف.
باستخدام الإصدار 6.1 من وقت تشغيل Service Fabric والإصدارات الأحدث، يمكنك تحديد عدة صور لنظام التشغيل لكل حاوية ووضع علامة على كل منها بإصدار إنشاء نظام التشغيل الذي يجب نشره فيه. يساعد هذا في التأكد من أن التطبيق الخاص بك سيعمل عبر مضيفين يقومون بتشغيل إصدارات مختلفة من نظام التشغيل Windows. لمعرفة المزيد، راجع تحديد صور حاوية محددة لإنشاء نظام التشغيل.
تنشر Microsoft صورًا مختلفة لإصدارات IIS المبنية على إصدارات مختلفة من Windows Server. للتأكد من أن Service Fabric ينشر حاوية متوافقة مع إصدار Windows Server الذي يعمل على عقد نظام المجموعة حيث ينشر التطبيق الخاص بك، أضف الأسطر التالية إلى ملف ApplicationManifest.xml . إصدار البناء لـ Windows Server 2016 هو 14393 وإصدار البناء لـ Windows Server الإصدار 1709 هو 16299.
يستمر بيان الخدمة في تحديد صورة واحدة فقط للخادم النانوي، mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2016.
أيضا في ملف ApplicationManifest.xml ، قم بتغيير PasswordEncrypted إلى false. الحساب وكلمة المرور فارغان لصورة الحاوية العامة الموجودة على Docker Hub، لذلك قمنا بإيقاف التشفير لأن تشفير كلمة مرور فارغة سيؤدي إلى حدوث خطأ في الإنشاء.
يُنشئ البرنامج النصي التالي عينة مجموعة نسيج خدمة مكونة من خمس عقد مؤمنة بشهادة X.509. يقوم الأمر بإنشاء شهادة موقعة ذاتيًّا وتحميلها إلى مخزن مفاتيح جديد. يتم نسخ الشهادة أيضاً إلى دليل محلي. يمكنك معرفة المزيد حول إنشاء نظام مجموعة باستخدام هذا البرنامج النصي في إنشاء مجموعة Service Fabric.
إذا لزم الأمر، فقم بتثبيت Azure PowerShell بالاستعانة بالإرشادات المذكورة في دليل Azure PowerShell .
قبل تشغيل البرنامج النصي التالي، في PowerShell، قم بتشغيل Connect-AzAccount لإنشاء اتصال مع Azure.
انسخ البرنامج النصي التالي إلى الحافظة وافتح Windows PowerShell ISE. قم بلصق المحتويات في إطار Untitled1.ps1 الفارغ. ثم قم بتوفير قيم للمتغيرات في البرنامج النصي: subscriptionIdو certpwdcertfolderو adminuseradminpwdو و وهكذا. يجب أن يكون الدليل الذي تحدده موجودا certfolder قبل تشغيل البرنامج النصي.
PowerShell
#Provide the subscription Id$subscriptionId = 'yourSubscriptionId'# Certificate variables.$certpwd="Password#1234" | ConvertTo-SecureString -AsPlainText -Force$certfolder="c:\mycertificates\"# Variables for VM admin.$adminuser="vmadmin"$adminpwd="Password#1234" | ConvertTo-SecureString -AsPlainText -Force# Variables for common values$clusterloc="SouthCentralUS"$clustername = "mysfcluster"$groupname="mysfclustergroup"$vmsku = "Standard_D2_v2"$vaultname = "mykeyvault"$subname="$clustername.$clusterloc.cloudapp.azure.com"# Set the number of cluster nodes. Possible values: 1, 3-99$clustersize=5# Set the context to the subscription Id where the cluster will be createdSelect-AzSubscription -SubscriptionId$subscriptionId# Create the Service Fabric cluster.New-AzServiceFabricCluster -Name$clustername -ResourceGroupName$groupname -Location$clusterloc `
-ClusterSize $clustersize -VmUserName$adminuser -VmPassword$adminpwd -CertificateSubjectName$subname `
-CertificatePassword $certpwd -CertificateOutputFolder$certfolder `
-OS WindowsServer2016DatacenterwithContainers -VmSku$vmsku -KeyVaultName$vaultname
بمجرد توفير قيمك للمتغيرات، اضغط على F5 لتشغيل البرنامج النصي.
بعد تشغيل البرنامج النصي وإنشاء نظام المجموعة، ابحث عن ClusterEndpoint في الإخراج. على سبيل المثال:
الآن سنقوم بتثبيت PFX في CurrentUser\My certificate store. سيكون ملف PFX في الدليل الذي حددته باستخدام certfolder متغير البيئة في البرنامج النصي PowerShell أعلاه.
قم بالتغيير إلى هذا الدليل، ثم قم بتشغيل أمر PowerShell التالي، مع استبدال اسم ملف PFX الموجود في الدليل وكلمة certfolder المرور التي حددتها في certpwd المتغير. في هذا المثال، يتم تعيين الدليل الحالي إلى الدليل المحدد بواسطة certfolder المتغير في البرنامج النصي PowerShell. من هناك يتم Import-PfxCertificate تشغيل الأمر:
الآن وبعد أن أصبح التطبيق جاهزًا، يمكنك نشره على مجموعة مباشرة من Visual Studio.
انقر بزر الماوس الأيمن فوق MyFirstContainer في مستكشف الحلول واختر نشر. يظهر مربع الحوار نشر Publish.
انسخ المحتوى التالي CN = في نافذة PowerShell عند تشغيل Import-PfxCertificate الأمر أعلاه، وأضف منفذا 19000 إليه. على سبيل المثال، mysfcluster.SouthCentralUS.cloudapp.azure.com:19000 انسخه في حقل نقطة نهاية الاتصال. تذكر هذه القيمة لأنك ستحتاج إليها في خطوة مستقبلية.
انقر فوق معلمات الاتصال المتقدمة وتحقق من معلومات معلمة الاتصال. يجب أن تتطابق قيم FindValue وServerCertThumbprint مع بصمة الإبهام للشهادة المثبتة عند التشغيل Import-PfxCertificate في الخطوة السابقة. ثم اختر Publish.
يجب أن يكون لكل تطبيق في الكتلة اسم فريد. إذا كان هناك تعارض في الأسماء، فقم بإعادة تسمية مشروع Visual Studio ونشره مرة أخرى.
افتح مستعرضا وانتقل إلى العنوان الذي وضعته في حقل نقطة نهاية الاتصال في الخطوة السابقة. يمكنك اختياريا إلحاق معرف النظام وإلحاق http://المنفذ ب :80URL. على سبيل المثال، http://mysfcluster.SouthCentralUS.cloudapp.azure.com:80.
يجب أن تشاهد صفحة الويب الافتراضية ل IIS:
تنظيف
تستمر في تحمل الرسوم أثناء تشغيل المجموعة. ضع في اعتبارك حذف نظام المجموعة الخاص بك.
الخطوات التالية
في هذا البدء السريع، قد تعلّمت كيفية:
قم بتعبئة حاوية صورة Docker
تكوين الاتصال
بناء وحزم تطبيق نسيج الخدمة
انشر تطبيق الحاوية على Azure
لمعرفة المزيد حول العمل مع حاويات Windows في Service Fabric، تابع إلى البرنامج التعليمي لتطبيقات حاوية Windows.
Erstellen von End-to-End-Lösungen in Microsoft Azure zum Erstellen von Azure Functions-Lösungen, Implementieren und Verwalten von Web-Apps, Entwickeln von Lösungen mit Azure Storage u. v. m.