Öğretici: Azure Container Instances bir kapsayıcı uygulaması dağıtma

Bu, üç kısımdan oluşan serinin son öğreticisidir. Serinin önceki kısımlarında bir kapsayıcı görüntüsü oluşturuldu ve Azure Container Registry’ye gönderildi. Bu makalede, Azure Container Instances’a kapsayıcı dağıtılarak seri tamamlanır.

Bu öğreticide şunları yaptınız:

  • Azure Container Registry’den Azure Container Instances’a kapsayıcıyı dağıtma
  • Tarayıcıda çalıştırılan uygulamayı görüntüleme
  • Kapsayıcının günlüklerini görüntüleme

Başlamadan önce

Bu öğreticiyi tamamlamak için aşağıdaki gereksinimleri karşılamanız gerekir:

Azure CLI: Yerel bilgisayarınızda Azure CLI 2.0.29 veya sonraki bir sürümü yüklenmiş olmalıdır. Sürümü bulmak için az --version komutunu çalıştırın. Yükleme veya yükseltme yapmanız gerekirse bkz. Azure CLI’yı yükleme.

Docker: Bu öğreticide kapsayıcılar, kapsayıcı görüntüleri ve temel docker komutları gibi temel Docker kavramları hakkında bilgi sahibi olduğunuz varsayılmıştır. Docker ve kapsayıcı temel bilgileri ile ilgili giriş yapmak için Docker’a genel bakış bölümüne bakın.

Docker: Bu öğreticiyi tamamlayabilmeniz Için Docker 'ın yerel olarak yüklü olması gerekir. Docker, macOS, Windows ve Linux üzerinde Docker ortamını yapılandıran paketler sağlar.

Önemli

Azure Cloud shell, Docker programını içermediğinden bu öğreticiyi tamamlamak için yerel bilgisayarınıza hem Azure CLI’yi hem de Docker Altyapısı’nı yüklemeniz gerekir. Bu öğretici için Azure Cloud Shell kullanamazsınız.

Azure CLI’yi kullanarak kapsayıcıyı dağıtma

Bu bölümde, birinci öğreticide derlenen ve ikinci öğreticide Azure Container Registry’ye gönderilen görüntüyü dağıtmak için Azure CLI’yi kullanırsınız. Devam etmeden önce bu öğreticileri tamamladığınızdan emin olun.

Kayıt defteri kimlik bilgilerini alma

İkinci öğreticideoluşturulan gibi özel bir Azure Container Registry 'de barındırılan bir görüntüyü dağıtırken, kayıt defterine erişmek için kimlik bilgilerini sağlamanız gerekir.

Birçok senaryo için en iyi yöntem, Kayıt defterinize yönelik çekme izinleriyle Azure Active Directory hizmet sorumlusu oluşturmak ve yapılandırmak olacaktır. Gerekli izinlere sahip bir hizmet sorumlusu oluşturmak için örnek betikler için Azure Container Instances Azure Container Registry Ile kimlik doğrulama konusuna bakın. Hizmet sorumlusu kimliği ve hizmet sorumlusu parolasını göz önünde yararlanın. Bu kimlik bilgilerini, kapsayıcıyı dağıtırken kayıt defterine erişmek için kullanırsınız.

Ayrıca, kapsayıcı kayıt defteri oturum açma sunucusunun tam adına de ihtiyacınız vardır ( <acrName> kayıt defterinizin adıyla değiştirin):

az acr show --name <acrName> --query loginServer

Kapsayıcıyı dağıtma

Şimdi kapsayıcıyı dağıtmak için az container create komutunu kullanın. <acrLoginServer>Önceki komuttan elde ettiğiniz değerle değiştirin. <service-principal-ID>Ve <service-principal-password> kayıt defterine erişmek için oluşturduğunuz HIZMET sorumlusu kimliği ve parolasıyla değiştirin. <aciDnsLabel>İstenen BIR DNS adıyla değiştirin.

az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --dns-name-label <aciDnsLabel> --ports 80

Birkaç saniye içinde Azure’dan bir ilk yanıt almanız gerekir. --dns-name-label değeri, kapsayıcı örneğini oluşturduğunuz Azure bölgesi içinde benzersiz olmalıdır. Komutu yürütürken bir DNS ad etiketi hata iletisi alırsanız önceki komutta yer alan değeri değiştirin.

Dağıtım ilerleme durumunu doğrulama

Dağıtımın durumunu görüntülemek için az container show komutunu kullanın:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state

Beklemede olan durum Çalışıyor olarak değişinceye kadar az container show komutunu yineleyin; bu bir dakikadan kısa sürecektir. Kapsayıcı Çalışıyor durumunda olduğunda sonraki adıma ilerleyin.

Uygulama ve kapsayıcı günlüklerini görüntüleme

Dağıtım başarılı olduktan sonra, az container show komutuyla kapsayıcının tam etki alanı adını görüntüleyin:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn

Örnek:

"aci-demo.eastus.azurecontainer.io"

Çalışan uygulamayı görmek için, sık kullandığınız tarayıcıda görüntülenen DNS adına gidin:

Tarayıcıdaki Merhaba Dünya uygulaması

Kapsayıcının günlük çıktısını da görüntüleyebilirsiniz:

az container logs --resource-group myResourceGroup --name aci-tutorial-app

Örnek çıktı:

listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

Kaynakları temizleme

Artık bu öğretici serisinde oluşturduğunuz kaynakların herhangi birine ihtiyacınız yoksa, kaynak grubunu ve içerdiği tüm kaynakları kaldırmak için az group delete komutunu yürütebilirsiniz. Bu komut, oluşturduğunuz kapsayıcı kayıt defterinin yanı sıra çalışan kapsayıcıyı ve tüm ilişkili kaynakları siler.

az group delete --name myResourceGroup

Sonraki adımlar

Bu öğreticide, Azure Container Instances’a kapsayıcınızı dağıtma işlemini tamamladınız. Aşağıdaki adımlar tamamlandı:

  • Azure CLI kullanılarak Azure Container Registry’den kapsayıcı dağıtıldı
  • Tarayıcıda uygulama görüntülendi
  • Kapsayıcı günlükleri görüntülendi

Temel bilgileri edindiğinize göre şimdi kapsayıcı gruplarının nasıl çalıştığı gibi, Azure Container Instances hakkında daha fazla bilgi edinmeye geçebilirsiniz: