Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tavsiye
Bu içerik, .NET Docs veya çevrimdışı olarak okunabilen ücretsiz indirilebilir bir PDF olarak sağlanan Azure için Bulut Yerel .NET Uygulamaları Tasarlama adlı e-Kitap'tan bir alıntıdır.
Azure eKitap kapak küçük resmi için Buluta Özel .NET uygulamaları.
Bu bölümde ve 1. bölümde kapsayıcıları ele aldık. Kapsayıcıların taşınabilirlik de dahil olmak üzere bulutta yerel uygulamalara birçok avantaj sağladığını gördük. Azure bulutunda, aynı kapsayıcılı hizmetleri hazırlama ve üretim ortamlarına dağıtabilirsiniz. Azure, bu kapsayıcılı iş yüklerini barındırmak için çeşitli seçenekler sağlar:
- Azure Kubernetes Services (AKS)
- Azure Container Instance (ACI)
- Kapsayıcılar için Azure Web Apps
Azure Container Registry (Azure Konteyner Kayıt Defteri)
Bir mikro hizmeti kapsayıcıya alırken, önce bir kapsayıcı "görüntüsü" oluşturursunuz. Görüntü, hizmet kodunun, bağımlılıkların ve çalışma zamanının ikili gösterimidir. Docker API'sinden Docker Build komutunu kullanarak el ile görüntü oluşturabilirsiniz ancak bunu otomatik derleme işleminin bir parçası olarak oluşturmak daha iyi bir yaklaşımdır.
Kapsayıcı görüntüleri oluşturulduktan sonra kapsayıcı kayıt defterlerinde depolanır. Kapsayıcı görüntülerini oluşturmanıza, depolamanıza ve yönetmenize olanak tanır. Hem genel hem de özel birçok kayıt defteri vardır. Azure Container Registry (ACR), Azure bulutunda tam olarak yönetilen bir kapsayıcı kayıt defteri hizmetidir. Görüntülerinizi Azure ağı içinde kalıcı hale getirerek Bunları Azure kapsayıcı konaklarına dağıtma süresini kısaltır. Ayrıca, diğer Azure kaynakları için kullandığınız güvenlik ve kimlik yordamlarını kullanarak bunların güvenliğini sağlayabilirsiniz.
Azure portalı, Azure CLI veya PowerShell araçlarını kullanarak bir Azure Container Registry oluşturursunuz. Azure'da kayıt defteri oluşturmak kolaydır. Azure aboneliği, kaynak grubu ve benzersiz bir ad gerektirir. Şekil 3-10, registryname.azurecr.io adresinde barındırılacak kayıt defteri oluşturmaya yönelik temel seçenekleri göstermektedir.
Şekil 3-10. Kapsayıcı kayıt defteri oluşturma
Kayıt defterini oluşturduktan sonra kullanabilmeniz için önce kayıt defteriyle kimlik doğrulaması yapmanız gerekir. Genellikle Azure CLI komutunu kullanarak kayıt defterinde oturum açarsınız:
az acr login --name *registryname*
Kimlik doğrulaması yaptıktan sonra docker komutlarını kullanarak kapsayıcı görüntülerini gönderebilirsiniz. Ancak bunu yapmak için önce görüntünüzü ACR oturum açma sunucunuzun tam adıyla (URL) etiketlemeniz gerekir. registryname.azurecr.io biçiminde olacaktır.
docker tag mycontainer myregistry.azurecr.io/mycontainer:v1
Görüntüyü etiketledikten sonra, görüntüyü ACR örneğine göndermek için komutunu kullanırsınız docker push .
docker push myregistry.azurecr.io/mycontainer:v1
Kayıt defterine bir görüntü gönderdikten sonra, şu komutu kullanarak görüntüyü yerel Docker ortamınızdan kaldırmak iyi bir fikirdir:
docker rmi myregistry.azurecr.io/mycontainer:v1
En iyi yöntem olarak, görüntüleri kapsayıcı kayıt defterine el ile göndermemelisiniz. Bunun yerine GitHub veya Azure DevOps gibi bir araçta tanımlanan derleme işlem hattını kullanın. Cloud-Native DevOps bölümünde daha fazla bilgi edinin.
ACR Görevleri
ACR Görevleri , Azure Container Registry'de kullanılabilen bir dizi özelliktir. Azure bulutunda kapsayıcı görüntüleri oluşturup yöneterek iç döngü geliştirme döngünüzü genişletir. Geliştirme makinenizde docker build ve docker push'i yerel olarak çağırmak yerine, bunlar buluttaki ACR Görevleri tarafından otomatik olarak işlenir.
Aşağıdaki AZ CLI komutu hem kapsayıcı görüntüsü oluşturur hem de ACR'ye gönderir:
# create a container registry
az acr create --resource-group myResourceGroup --name myContainerRegistry008 --sku Basic
# build container image in ACR and push it into your container registry
az acr build --image sample/hello-world:v1 --registry myContainerRegistry008 --file Dockerfile .
Önceki komut bloğundan görebileceğiniz gibi geliştirme makinenize Docker Desktop yüklemenize gerek yoktur. Ayrıca, hem kaynak kodunda hem de temel görüntü güncelleştirmelerinde kapsayıcı görüntülerini yeniden oluşturmak için ACR Görevi tetikleyicilerini yapılandırabilirsiniz.
Azure Kubernetes Service
Bu bölümde Azure Kubernetes Service 'i (AKS) ayrıntılı olarak ele aldık. Buluta özel kapsayıcı uygulamalarını yöneten kapsayıcı düzenleyicinin fiili otorite olduğunu gördük.
ACR gibi bir kayıt defterine görüntü dağıttığınızda AKS'yi otomatik olarak çekip dağıtacak şekilde yapılandırabilirsiniz. CI/CD işlem hattı kullanıldığında, güncelleştirmeleri hızla dağıtırken oluşan riski en aza indirmek için bir kanarya yayın stratejisi yapılandırabilirsiniz. Uygulamanın yeni sürümü öncelikle üretim ortamında yapılandırılır ve bu sürüme trafik yönlendirilmez. Ardından, sistem kullanıcıların küçük bir yüzdesini yeni dağıtılan sürüme yönlendirir. Ekip yeni sürümde güven kazandıkça daha fazla örnek dağıtabilir ve eski sürümü devre dışı bırakabilir. AKS bu dağıtım stilini kolayca destekler.
Azure'daki çoğu kaynakta olduğu gibi portal, komut satırı veya Helm veya Terraform gibi otomasyon araçlarını kullanarak bir Azure Kubernetes Service kümesi oluşturabilirsiniz. Yeni bir kümeyi kullanmaya başlamak için aşağıdaki bilgileri sağlamanız gerekir:
- Azure aboneliği
- Kaynak grubu
- Kubernetes kümesinin adı
- Bölge
- Kubernetes sürümü
- DNS adı ön eki
- Ağ düğümü boyutu
- Düğüm sayısı
Bu bilgiler başlamak için yeterlidir. Azure portalında oluşturma işleminin bir parçası olarak, kümenizin aşağıdaki özellikleri için seçenekleri de yapılandırabilirsiniz:
- Ölçek
- Kimlik doğrulama
- Ağ Kurma
- İzleme
- Etiketler
Bu hızlı başlangıçta Azure portalını kullanarak AKS kümesi dağıtma adımları açıklanmaktadır.
Azure Köprüsü'nden Kubernetes'e
Bulutta yerel uygulamalar büyük ve karmaşık bir şekilde büyüyerek önemli işlem kaynaklarının çalıştırılmasını gerektirebilir. Bu senaryolarda, uygulamanın tamamı bir geliştirme makinesinde (özellikle bir dizüstü bilgisayarda) barındırılamaz. Azure Köprüsü'nden Kubernetes'e bu eksiklikleri giderir. Geliştiricilerin bir AKS geliştirme kümesinde uygulamanın tamamını barındırırken hizmetlerinin yerel bir sürümüyle çalışmasını sağlar.
Hazır olduğunda, geliştiriciler bağımlılıkları çoğaltmadan AKS kümesindeki tam uygulamada çalışırken değişikliklerini yerel olarak test eder. Köprü, perde arkasında yerel makinedeki kodu AKS'deki hizmetlerle birleştirir. Geliştiriciler Visual Studio veya Visual Studio Code kullanarak doğrudan Kubernetes'te kodu hızla yineleyebilir ve hatalarını ayıklayabilir.
Microsoft Ürün Yönetimi eski Başkan Yardımcısı Gabe Monroy bunu iyi açıklar:
Her biri kendi yapılandırma ve yedekleme hizmetlerine sahip düzinelerce bileşenden oluşan karmaşık bir mikro hizmet uygulamasındaki bir hatayı düzeltmeye çalışan yeni bir çalışan olduğunuzu düşünün. Başlamak için, yerel geliştirme ortamınızı IDE'nizi ayarlama, araç zincirini oluşturma, kapsayıcılı servis bağımlılıkları, yerel Kubernetes ortamı, destek hizmetleri için örtük test verileri ve daha fazlasını üretimi taklit edebilmesi için yapılandırmanız gerekir. Geliştirme ortamınızı ayarlamak için gereken tüm süre boyunca ilk hatayı düzeltmek günler sürebilir! Ya da Bridge'i kullanarak Kubernetes ve AKS'ye gidebilirsiniz.