Hızlı başlangıç: Linux kapsayıcıları Service Fabric'e dağıtma

Azure Service Fabric; ölçeklenebilir ve güvenilir mikro hizmetleri ve kapsayıcıları dağıtmayı ve yönetmeyi sağlayan bir dağıtılmış sistemler platformudur.

Bu hızlı başlangıçta, Linux kapsayıcılarının Azure'da bir Service Fabric kümesine nasıl dağıtılacağı gösterilmektedir. Tamamladığınızda Service Fabric kümesinde çalışan Python web ön ucu ve Redis arka ucundan oluşan bir oy verme uygulamasına sahip olacaksınız. Ayrıca, bir uygulamanın yükünü devretme ve kümenizde bir uygulamayı ölçeklendirme hakkında da bilgi edineceksiniz.

Oylama uygulaması web sayfası

Önkoşullar

Bu hızlı başlangıcı tamamlamak için:

  1. Aboneliğiniz yoksa başlamadan önce ücretsiz bir Azure hesabı oluşturun.

  2. Azure CLI'yi yükleme

  3. Service Fabric SDK'sını ve CLI'yi yükleme

  4. Git'i yükleme

Uygulama paketini alma

Kapsayıcıları Service Fabric üzerinde dağıtmak için ayrı kapsayıcıları ve uygulamayı açıklayan bildirim dosyası (uygulama tanımı) kümesine ihtiyacınız vardır.

Bir konsolda git kullanarak uygulama tanımının bir kopyasını kopyalayın; ardından dizinleri kopyanızdaki dizinle Voting değiştirin.

git clone https://github.com/Azure-Samples/service-fabric-containers.git

cd service-fabric-containers/Linux/container-tutorial/Voting

Service Fabric kümesi oluşturma

Uygulamayı Azure'a dağıtmak için, uygulamayı çalıştıracak bir Service Fabric kümesine ihtiyacınız vardır. Aşağıdaki komutlar Azure'da beş düğümlü bir küme oluşturur. Komutlar ayrıca otomatik olarak imzalanan bir sertifika oluşturur, bunu bir anahtar kasasına ekler ve sertifikayı yerel olarak indirir. Yeni sertifika, dağıtıldığında kümenin güvenliğini sağlamak için kullanılır ve istemcilerin kimliğini doğrulamak için kullanılır.

İsterseniz değişken değerlerini tercihinize göre değiştirebilirsiniz. Örneğin, konum için eastus yerine westus.

Not

Anahtar kasası adları, https://{vault-name}.vault.azure.net olarak erişildiğinden evrensel olarak benzersiz olmalıdır.

#!/bin/bash

# Variables
ResourceGroupName='containertestcluster' 
ClusterName='containertestcluster' 
Location='eastus' 
Password='q6D7nN%6ck@6' 
Subject='containertestcluster.eastus.cloudapp.azure.com' 
VaultName='containertestvault' 
VmPassword='Mypa$$word!321'
VmUserName='sfadminuser'

# Login to Azure and set the subscription
az login

az account set --subscription <mySubscriptionID>

# Create resource group
az group create --name $ResourceGroupName --location $Location 

# Create secure five node Linux cluster. Creates a key vault in a resource group
# and creates a certificate in the key vault. The certificate's subject name must match 
# the domain that you use to access the Service Fabric cluster.  The certificate is downloaded locally.
az sf cluster create --resource-group $ResourceGroupName --location $Location --certificate-output-folder . --certificate-password $Password --certificate-subject-name $Subject --cluster-name $ClusterName --cluster-size 5 --os UbuntuServer1804 --vault-name $VaultName --vault-resource-group $ResourceGroupName --vm-password $VmPassword --vm-user-name $VmUserName

Not

Web ön ucu hizmeti, gelen trafik için 80 numaralı bağlantı noktasını dinlemek üzere yapılandırılmıştır. Varsayılan olarak, 80 numaralı bağlantı noktası küme VM'lerinizde ve Azure yük dengeleyicide açıktır.

Ortamınızı yapılandırma

Service Fabric, bir kümeyi ve uygulamalarını yönetmek için kullanabileceğiniz birçok araç sağlar:

  • Tarayıcı tabanlı bir araç: Service Fabric Explorer.
  • Azure CLI üzerinde çalışan Service Fabric Komut Satırı Arabirimi (CLI).
  • PowerShell komutları.

Bu hızlı başlangıçta Service Fabric CLI ve Service Fabric Explorer (web tabanlı bir araç) kullanacaksınız. Service Fabric Explorer kullanmak için sertifika PFX dosyasını tarayıcıya aktarmanız gerekir. Varsayılan olarak PFX dosyasının parolası yoktur.

Mozilla Firefox, Ubuntu 18.04'teki varsayılan tarayıcıdır. Sertifikayı Firefox’a aktarmak için, tarayıcınızın sağ üst köşesindeki menü düğmesine ve ardından Seçenekler’e tıklayın. Tercihler sayfasında arama kutusunu kullanarak "sertifikalar" terimini arayın. Sertifikaları Görüntüle’ye tıklayın, Sertifikalarınız sekmesini seçin, İçeri Aktar’a tıklayın ve sertifikayı içeri aktarma istemlerini izleyin.

Firefox’ta sertifika yükleme

Service Fabric uygulamasını dağıtma

  1. CLI kullanarak Azure'da Service Fabric kümesine bağlanın. Uç nokta, kümenizin yönetim uç noktasıdır. Önceki bölümde PEM dosyasını oluşturdunuz.

    sfctl cluster select --endpoint https://containertestcluster.eastus.cloudapp.azure.com:19080 --pem containertestcluster22019013100.pem --no-verify
    
  2. Yükleme betiğini kullanarak Oylama uygulaması tanımını kümeye kopyalayın, uygulama türünü kaydedin ve uygulamanın bir örneğini oluşturun. PEM sertifika dosyası , install.sh dosyasıyla aynı dizinde bulunmalıdır.

    ./install.sh
    
  3. Bir web tarayıcısı açın ve kümenizin Service Fabric Explorer uç noktasına gidin. Uç nokta şu biçimdedir: https://< my-azure-service-fabric-cluster-url>:19080/Explorer; örneğin, https://containertestcluster.eastus.cloudapp.azure.com:19080/Explorer.

  4. Artık Voting uygulama türü ve oluşturduğunuz örnek için bir giriş olduğunu görmek için Uygulamalar düğümünü genişletin.

    Service Fabric Explorer

  5. Çalışan kapsayıcıya bağlanmak için bir web tarayıcısı açın ve kümenizin URL'sine gidin; örneğin, http://containertestcluster.eastus.cloudapp.azure.com:80. Oy verme uygulamasını tarayıcıda görmeniz gerekir.

    Oylama uygulaması web sayfası

Not

Docker compose ile Service Fabric uygulamaları da dağıtabilirsiniz. Örneğin, Docker Compose kullanarak uygulamayı kümeye dağıtıp yüklemek için aşağıdaki komut kullanılabilir.

sfctl compose create --deployment-name TestApp --file-path ../docker-compose.yml

Kümedeki bir kapsayıcıya yük devretme

Service Fabric, bir hata oluşması durumunda kapsayıcı örneklerinizin kümedeki diğer düğümlere otomatik olarak taşınmasını sağlar. Bir düğümü kapsayıcılar için el ile boşaltabilir ve kümedeki diğer düğümlere taşıyabilirsiniz. Service Fabric, hizmetlerinizi ölçeklendirmek için çeşitli yöntemler sağlar. Aşağıdaki adımlarda Service Fabric Explorer kullanacaksınız.

Ön uç kapsayıcısında yük devretmek için aşağıdaki adımları uygulayın:

  1. Kümenizde Service Fabric Explorer'ı açın; örneğin, https://containertestcluster.eastus.cloudapp.azure.com:19080/Explorer.

  2. Ağaç görünümünde fabric:/Voting/azurevotefront düğümüne tıklayın ve bölüm düğümünü (GUID ile gösterilir) genişletin. Ağaç görünümünde kapsayıcının üzerinde çalıştığı düğümleri gösteren düğüm adına dikkat edin; örneğin, _nodetype_1.

  3. Ağaç görünümünde Düğümler düğümünü genişletin. Kapsayıcıyı çalıştıran düğümün yanındaki üç noktaya (...) tıklayın.

  4. İlgili düğümü yeniden başlatmak için Yeniden Başlat'ı seçin ve yeniden başlatma eylemini onaylayın. Yeniden başlatma durumunda kapsayıcıdan kümedeki başka bir düğüme yük devretme gerçekleştirilir.

    Service Fabric Explorer'da düğüm görünümü

Bir kümedeki uygulamaları ve hizmetleri ölçeklendirme

Hizmet yükünü karşılamak için bir kümedeki Service Fabric hizmetleri kolayca ölçeklendirilebilir. Kümede çalıştırılan örnek sayısını değiştirerek bir hizmeti ölçeklendirebilirsiniz.

Web ön uç hizmetini ölçeklendirmek için aşağıdaki adımları gerçekleştirin:

  1. Kümenizde Service Fabric Explorer'ı açın; örneğin, https://containertestcluster.eastus.cloudapp.azure.com:19080.

  2. Ağaç görünümünde fabric:/Voting/azurevotefront düğümünün yanındaki üç noktaya tıklayın ve Hizmeti Ölçeklendir'i seçin.

    Service Fabric Explorer hizmet ölçeklendirmeyi başlatma

    Şimdi web ön uç hizmetindeki örnek sayısını ölçeklendirebilirsiniz.

  3. Rakamı 2 olarak değiştirin ve Hizmeti Ölçeklendir'e tıklayın.

  4. Ağaç görünümünde fabric:/Voting/azurevotefront düğümüne tıklayın ve bölüm düğümünü (GUID ile gösterilir) genişletin.

    Service Fabric Explorer hizmet ölçeklendirme tamamlandı

    Hizmetin artık iki örneği olduğunu görebilirsiniz. Ağaç görünümünde örneklerin üzerinde çalıştığı düğümleri görebilirsiniz.

Bu basit yönetim görevi sayesinde ön uç hizmetinin kullanıcı yükünü işlemek için kullanabileceği kaynakları iki katına çıkarmış oldunuz. Bir hizmetin güvenilir bir şekilde çalışması için birden fazla örneğe ihtiyaç duymadığınızı anlamanız önemlidir. Bir hizmet başarısız olursa Service Fabric, kümede yeni bir hizmet örneği çalışmasını sağlar.

Kaynakları temizleme

Kümeden uygulama örneğini silmek ve uygulama türünün kaydını silmek için şablonda sağlanan kaldırma betiğini (uninstall.sh) kullanın. Bu betiğin örneği temizlemesi zaman alacağından betiği bu betikten hemen sonra çalıştırmamanız gerekir. Service Fabric Explorer'ı kullanarak örneğin ne zaman kaldırıldığını ve kaydı silinen uygulama türünü belirleyebilirsiniz.

./uninstall.sh

Kümeyi ve kullandığı tüm kaynakları silmenin en basit yolu, kaynak grubunun silinmesidir.

Azure'da oturum açın ve kümeyi kaldırmak istediğiniz abonelik kimliğini seçin. Abonelik kimliğinizi, Azure portalında oturum açarak öğrenebilirsiniz. az group delete komutunu kullanarak kaynak grubunu ve tüm küme kaynaklarını silin.

az login
az account set --subscription <guid>
ResourceGroupName="containertestcluster"
az group delete --name $ResourceGroupName

Kümenizle çalışmayı tamamladıysanız, sertifikayı sertifika deposundan kaldırabilirsiniz. Örnek:

  • Windows: Sertifikalar MMC ek bileşenini kullanın. Ek bileşeni eklerken Kullanıcı hesabım’ı seçtiğinizden emin olun. Certificates - Current User\Personal\Certificates sayfasına gidip sertifikayı kaldırın.
  • Mac: Anahtarlık uygulamasını kullanın.
  • Ubuntu: Sertifikaları görüntülemek ve sertifikayı kaldırmak için kullandığınız adımları izleyin.

Sonraki adımlar

Bu hızlı başlangıçta, Azure’daki bir Service Fabric kümesine Linux kapsayıcı uygulaması dağıttınız, uygulama üzerinde bir yük devretme işlemi gerçekleştirdiniz ve uygulamayı kümede ölçeklendirdiniz. Service Fabric'te Linux kapsayıcılarıyla çalışma hakkında daha fazla bilgi edinmek için Linux kapsayıcı uygulamaları öğreticisine geçin.