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.
Bu hızlı başlangıçta Azure Container Apps'te yapılandırma yönetimi, hizmet bulma ve sistem durumu ile ölçümleri işlemek için Java bileşenlerini kullanan bir uygulamayı dağıtmayı öğreneceksiniz. Bu örnekte kullanılan örnek uygulama, mikro hizmet mimarisi desenini kullanan Java PetClinic'tir. Aşağıdaki diyagramda Azure Container Apps'te PetClinic uygulamasının mimarisi gösterilmiştir:
PetClinic uygulaması aşağıdaki özellikleri içerir:
- Ön uç, API ağ geçidi uygulamasında barındırılan tek başına bir Node.js web uygulamasıdır.
- API ağ geçidi, istekleri arka uç hizmet uygulamalarına yönlendirir.
- Arka uç uygulamaları Spring Boot ile oluşturulur.
- Her arka uç uygulaması kalıcı depo olarak bir HyperSQL veritabanı kullanır.
- Uygulamalar Azure Container Apps'te hizmet kayıt defteri, yapılandırma sunucusu ve yönetici sunucusu gibi yönetilen Java bileşenlerini kullanır.
- Yapılandırma sunucusu git deposundaki verileri okur.
- Log Analytics çalışma alanı sunucu verilerini günlüğe kaydeder.
Bu öğreticide şunları yapacaksınız:
- Yapılandırma sunucusu, Eureka sunucusu, yönetici sunucusu ve yönetici bileşenleri oluşturma
- Bir dizi mikro hizmet uygulaması oluşturma
- Sunucu bileşenlerini mikro hizmet uygulamalarınıza bağlama
- Uygulama koleksiyonunu dağıtma
- Dağıtılan uygulamaları gözden geçirme
Bu makalenin sonunda, üç farklı Java bileşeniyle çalışacak şekilde yapılandırılmış bir web uygulaması ve üç arka uç uygulaması dağıtacaksınız. Ardından her bileşeni Azure portalı üzerinden yönetebilirsiniz.
Önkoşullar
- Azure hesabı: Azure hesabınız yoksa ücretsiz bir hesap oluşturun. Bu hızlı başlangıcı kullanmak için Azure aboneliğinde Katkıda Bulunan veya Sahip iznine sahip olmanız gerekir. Daha fazla bilgi için bkz. Azure portalını kullanarak Azure rolleri atama.
- Azure CLI: Azure CLI'yi yükleyin.
- Azure Container Apps CLI uzantısı. 0.3.47 veya üzeri bir sürümü kullanın.
az extension add --name containerapp --upgrade --allow-previewEn son sürümü yüklemek için komutunu kullanın.
Ayarlama
Ortam değişkenleri, kaynak grubu ve Azure Container Apps ortamı oluşturmak için aşağıdaki adımları kullanın:
Ortam değişkenleri özel değerlerinizi içerdiğinden, aşağıdaki komutları çalıştırmadan önce kendi değerlerinizle çevrelenmiş
<>yer tutucu değerlerini değiştirin:export RESOURCE_GROUP=<RESOURCE_GROUP> export LOCATION=<LOCATION> export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>Şimdi mikro hizmetler uygulamanızın ayarlarını içeren daha fazla ortam değişkeni oluşturacaksınız. Bu değerler, mikro hizmetleri dağıtmak için kullandığınız Java bileşenlerinin ve Azure Container Apps'in adlarını ve yapılandırmalarını tanımlamak için kullanılır. Aşağıdaki komutları kullanarak bu ortam değişkenlerini oluşturun:
export CONFIG_SERVER_COMPONENT=configserver export ADMIN_SERVER_COMPONENT=admin export EUREKA_SERVER_COMPONENT=eureka export CONFIG_SERVER_URI=https://github.com/spring-petclinic/spring-petclinic-microservices-config.git export CUSTOMERS_SERVICE=customers-service export VETS_SERVICE=vets-service export VISITS_SERVICE=visits-service export API_GATEWAY=api-gateway export CUSTOMERS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-customers-service export VETS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-vets-service export VISITS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-visits-service export API_GATEWAY_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-api-gatewayAşağıdaki komutu kullanarak Azure CLI'da oturum açın ve etkin aboneliğinizi seçin:
az loginAşağıdaki komutu kullanarak Azure hizmetlerinizi düzenlemek için bir kaynak grubu oluşturun:
az group create \ --name $RESOURCE_GROUP \ --location $LOCATIONAşağıdaki komutu kullanarak hem Java bileşenlerini hem de kapsayıcı uygulamalarınızı barındıran Azure Container Apps ortamınızı oluşturun:
az containerapp env create \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_ENVIRONMENT \ --location $LOCATION
Java bileşenleri oluşturma
Şimdi uygulamanızı destekleyen aşağıdaki Java bileşenlerini oluşturursunuz:
- Yapılandırma sunucusu. Mikro hizmet uygulamalarınız için yapılandırma ayarlarını yönetmek için kullanılır.
- Eureka sunucusu. Hizmet kaydı ve keşfi yönetmek için kullanılır.
- Yönetici sunucusu. Mikro hizmet uygulamalarınızın sistem durumunu ve ölçümlerini izlemek ve yönetmek için kullanılır.
Bu sunucu bileşenlerini oluşturmak için aşağıdaki adımları kullanın:
Aşağıdaki komutu kullanarak Java bileşenleriniz için yapılandırma sunucusunu oluşturun:
az containerapp env java-component config-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $CONFIG_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --configuration spring.cloud.config.server.git.uri=$CONFIG_SERVER_URIAşağıdaki komutu kullanarak Java bileşenleriniz için Eureka sunucusunu oluşturun:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \Aşağıdaki komutu kullanarak Java bileşenleriniz için yönetici sunucusunu oluşturun:
az containerapp env java-component admin-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
Mikro hizmet uygulamalarını dağıtma
Önceden oluşturulmuş kapsayıcı görüntülerini kullanarak Java mikro hizmet uygulamalarını Azure Container Apps'e dağıtmak için aşağıdaki adımları kullanın:
Not
Bu makalede Spring Petclinic mikro hizmet uygulamaları için bir dizi yerleşik görüntü kullanacaksınız. Ayrıca örnek kodu özelleştirme ve kendi görüntülerinizi kullanma seçeneğiniz de vardır. Daha fazla bilgi için bkz. azure-container-apps-java-samples GitHub deposu.
Aşağıdaki komutu kullanarak müşteri veri uygulamasını oluşturun:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $CUSTOMERS_SERVICE_IMAGEAşağıdaki komutu kullanarak veteriner uygulamasını oluşturun:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VETS_SERVICE_IMAGEAşağıdaki komutu kullanarak ziyaretler uygulamasını oluşturun:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VISITS_SERVICE_IMAGEAşağıdaki komutu kullanarak API ağ geçidi uygulamasını oluşturun:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $API_GATEWAY_IMAGE \ --ingress external \ --target-port 8080 \ --query properties.configuration.ingress.fqdn
Kapsayıcı uygulamalarını Java bileşenlerine bağlama
Ardından Java bileşenlerini kapsayıcı uygulamalarınıza bağlayın. Bu bölümde oluşturduğunuz bağlamalar aşağıdaki işlevleri sağlar:
- Başlangıçta yönetilen yapılandırma sunucusundan her uygulamaya yapılandırma verileri ekleyin.
- Hizmeti bulmak için uygulamayı yönetilen Eureka sunucusuna kaydedin.
- Yönetici sunucusunun uygulamayı izlemesini etkinleştirin.
containerapp update Aşağıdaki adımları kullanarak her uygulama için bağlamalar oluşturmak için komutunu kullanın:
Aşağıdaki komutu kullanarak müşteri veri uygulamasına bağlamalar ekleyin:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTAşağıdaki komutu kullanarak veteriner hizmetine bağlamalar ekleyin:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTAşağıdaki komutu kullanarak ziyaretler hizmetine bağlamalar ekleyin:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTAPI ağ geçidine bağlamalar ekleyin. Ön uç uygulamasının URL'sini döndürmek için aşağıdaki komutu kullanın ve ardından bu konumu tarayıcınızda açın:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT \ --query properties.configuration.ingress.fqdn
Uygulama durumunu doğrulama
Uygulama durumunu doğrulamak için aşağıdaki adımları kullanın:
API ağ geçidinin komutundan döndürülen URL'yi
az containerapp updatekullanarak ön uç uygulamasını tarayıcınızda görüntüleyin. Uygulama aşağıdaki ekran görüntüsüne benzemelidir:Aşağıdaki adımları kullanarak Eureka sunucu panosunu görüntüleyin:
Önemli
Eureka Server panosunu ve Spring yönetici panosunu görüntülemek için, yönetilen ortam kaynağında hesabınıza atanmış yetkinin en azından
Microsoft.App/managedEnvironments/writeolması gerekir. kaynaktaOwnerveyaContributorrolünü açıkça atayabilirsiniz. Ayrıca, özel bir rol tanımı oluşturmak ve bunu hesabınıza atamak için adımları izleyebilirsiniz.Pano URL'sini döndürmek için aşağıdaki komutu çalıştırın:
az containerapp env java-component eureka-server-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdnURL'yi tarayıcınızda açın. Aşağıdaki ekran görüntüsüne benzeyen bir uygulama görmeniz gerekir:
Aşağıdaki adımları kullanarak Spring için Yönetici panosunu görüntüleyin:
Pano URL'sini döndürmek için aşağıdaki komutu kullanın:
az containerapp env java-component admin-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdnURL'yi tarayıcınızda açın. Aşağıdaki ekran görüntüsüne benzeyen bir uygulama görmeniz gerekir:
İsteğe bağlı: Java bileşenlerini yapılandırma
Bu hızlı başlangıçta oluşturulan Java bileşenlerini Yapılandırmalar bölümünü kullanarak Azure portalı üzerinden yapılandırabilirsiniz.
Bu hızlı başlangıçta oluşturduğunuz üç Java bileşenini yapılandırma hakkında daha fazla bilgi için aşağıdaki bağlantılara bakın:
Kaynakları temizleme
Bu hızlı başlangıçta oluşturulan kaynakların Azure faturanız üzerinde etkisi vardır. Bu hizmetleri uzun vadeli kullanmayacaksanız, bu hızlı başlangıçta oluşturulan her şeyi kaldırmak için aşağıdaki komutu kullanın:
az group delete --resource-group $RESOURCE_GROUP