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 öğretici, Yönetilen Spring Yöneticisini Azure Container Apps içinde Spring için Eureka Server ile tümleştirme işleminde size yol gösterir.
Bu makale, "Azure Container Apps'te Spring için yönetilen yöneticiye bağlanma" öğreticisine benzer bazı içerikler içerir, ancak Spring için Eureka Server ile Spring için Admin'i Spring için Eureka Server'a bağlayabilirsiniz; böylece uygulama bilgilerini Spring için Admin'e bağlamak yerine Eureka aracılığıyla uygulama bilgilerini alabilirsiniz.
Bu kılavuzu izleyerek hizmet bulma için bir Eureka Server ayarladınız ve ardından Eureka Server'a kayıtlı Spring uygulamalarınızı yönetmek ve izlemek için spring için bir Yönetici oluşturacaksınız. Bu kurulum, diğer uygulamaların yalnızca Eureka Server'a bağlanması gerektiğinden emin olur ve mikro hizmetlerinizin yönetimini basitleştirir.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Spring için bir Eureka Sunucusu oluşturun.
- Spring için bir Yönetici oluşturun ve bunu Eureka Server'a bağlayın.
- Kolaylaştırılmış hizmet bulma ve yönetimi için diğer uygulamaları Eureka Server'a bağlayın.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Henüz bir hesabınız yoksa ücretsiz olarak oluşturabilirsiniz.
- Azure CLI.
- Spring Java için mevcut bir Eureka Sunucusu bileşeni. Yoksa bkz . Spring için Eureka Sunucusu oluşturma.
Dikkat edilmesi gereken noktalar
Yönetilen Java bileşenlerini Azure Container Apps'te çalıştırırken aşağıdaki ayrıntılara dikkat edin:
| Kalem | Açıklama |
|---|---|
| Kapsam | Bileşenler, bağlı kapsayıcı uygulamasıyla aynı ortamda çalışır. |
| Ölçeklendirme | Bileşenler ölçeklendirilemiyor. Ölçeklendirme özellikleri minReplicas ve maxReplicas her ikisi de olarak 1ayarlanır. |
| Kaynaklar | Bileşenler için kapsayıcı kaynak ayırması düzeltildi. CPU çekirdeği sayısı 0,5, bellek boyutu ise 1 GB'tır. |
| Fiyatlandırma | Bileşen faturalaması tüketime dayalı fiyatlandırmanın altındadır. Yönetilen bileşenler tarafından kullanılan kaynaklar, kaynak kullanımına bağlı olarak etkin veya boşta kalma fiyatlarına göre faturalandırılır. Faturalamayı durdurmak için artık kullanımda olmayan bileşenleri silebilirsiniz. |
| Bağlama | Kapsayıcı uygulamaları bağlama yoluyla bir bileşene bağlanır. Bağlamalar, yapılandırmaları kapsayıcı uygulaması ortam değişkenlerine ekler. Bağlama oluşturulduktan sonra kapsayıcı uygulaması ortam değişkenlerinden yapılandırma değerlerini okuyabilir ve bileşene bağlanabilir. |
Ayarlama
Başlamadan önce aşağıdaki komutları yürüterek gerekli kaynakları oluşturun.
Uygulama yapılandırmanızı desteklemek için değişkenler oluşturun. Bu değerler, bu dersin amaçları doğrultusunda size sağlanır.
export LOCATION=eastus export RESOURCE_GROUP=my-services-resource-group export ENVIRONMENT=my-environment export EUREKA_COMPONENT_NAME=eureka export ADMIN_COMPONENT_NAME=admin export CLIENT_APP_NAME=sample-service-eureka-client export CLIENT_IMAGE="mcr.microsoft.com/javacomponents/samples/sample-admin-for-spring-client:latest"Değişken Açıklama LOCATIONKapsayıcı uygulamanızı ve Java bileşenlerinizi oluşturduğunuz Azure bölgesi konumu. RESOURCE_GROUPTanıtım uygulamanızın Azure kaynak grubu adı. ENVIRONMENTTanıtım uygulamanızın Azure Container Apps ortam adı. EUREKA_COMPONENT_NAMEEureka Server Java bileşeninin adı. ADMIN_COMPONENT_NAMESpring Java bileşeninin Yöneticisinin adı. CLIENT_APP_NAMEEureka Server'a bağlanan kapsayıcı uygulamasının adı. CLIENT_IMAGEEureka Server kapsayıcı uygulamanızda kullanılan kapsayıcı görüntüsü. Azure CLI ile Azure'da oturum açın.
az loginKaynak grubu oluşturun.
az group create --name $RESOURCE_GROUP --location $LOCATIONKapsayıcı uygulamaları ortamınızı oluşturun.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"parametresini
--querykullanmak, yanıtı basit bir başarı veya hata iletisine göre filtreler.
İsteğe bağlı: Spring için Eureka Sunucusu oluşturma
Spring için Eureka Sunucunuz yoksa eureka Server Java bileşenini oluşturmak için aşağıdaki komutu izleyin. Daha fazla bilgi için bkz . Spring için Eureka Sunucusu oluşturma.
az containerapp env java-component eureka-server-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $EUREKA_COMPONENT_NAME
Bileşenleri birbirine bağlama
Spring Java için Yönetici bileşenini oluşturun.
az containerapp env java-component admin-for-spring create \
--environment $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--name $ADMIN_COMPONENT_NAME \
--min-replicas 1 \
--max-replicas 1 \
--bind $EUREKA_COMPONENT_NAME
Diğer uygulamaları Eureka Sunucusuna bağlama
Eureka Sunucusu ayarlandıysa, artık hizmet bulma için diğer uygulamaları buna bağlayabilirsiniz. Ayrıca bu uygulamaları Spring için Admin panosunda izleyebilir ve yönetebilirsiniz. Bir kapsayıcı uygulaması oluşturmak ve Eureka Server'a bağlamak için aşağıdaki adımları kullanın:
Kapsayıcı uygulamasını oluşturun ve Eureka Server'a bağlayın.
az containerapp create \
--name $CLIENT_APP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $ENVIRONMENT \
--image $CLIENT_IMAGE \
--min-replicas 1 \
--max-replicas 1 \
--ingress external \
--target-port 8080 \
--bind $EUREKA_COMPONENT_NAME
İpucu
Önceki adımlar Spring için Yönetici bileşenini Spring için Eureka Server bileşenine bağladığından, Yönetici bileşeni hizmet bulmayı etkinleştirir ve aynı anda Spring için Yönetici panosu aracılığıyla yönetmenize olanak tanır.
Panoları görüntüleme
Önemli
Panoyu görüntülemek için en azından yönetilen ortam kaynağında Microsoft.App/managedEnvironments/write hesabınıza atanmış rolün olması gerekir. Kaynağa açıkça veya Owner rol atayabilir Contributor ya da özel bir rol tanımı oluşturup bunu hesabınıza atamak için adımları izleyebilirsiniz.
Özel rol tanımını oluşturun.
az role definition create --role-definition '{ "Name": "Java Component Dashboard Access", "IsCustom": true, "Description": "Can access managed Java Component dashboards in managed environments", "Actions": [ "Microsoft.App/managedEnvironments/write" ], "AssignableScopes": ["/subscriptions/<SUBSCRIPTION_ID>"] }'Değerdeki
<SUBSCRIPTION_ID>yer tutucuyuAssignableScopesabonelik kimliğiniz ile değiştirdiğinden emin olun.Yönetilen ortam kaynağındaki hesabınıza özel rolü atayın.
Yönetilen ortamın kaynak kimliğini alın.
export ENVIRONMENT_ID=$(az containerapp env show \ --name $ENVIRONMENT --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)Rolü hesabınıza atayın.
Bu komutu çalıştırmadan önce yer tutucuyu
<USER_OR_SERVICE_PRINCIPAL_ID>kullanıcı veya hizmet sorumlusu kimliğiniz ile değiştirin.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Java Component Dashboard Access" \ --scope $ENVIRONMENT_IDSpring için Yönetici panosunun URL'sini alın.
az containerapp env java-component admin-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_COMPONENT_NAME \ --query properties.ingress.fqdn \ --output tsvSpring için Eureka Server panosunun URL'sini alın.
az containerapp env java-component eureka-server-for-spring show \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_COMPONENT_NAME \ --query properties.ingress.fqdn \ --output tsvBu komut, Spring için Eureka Server panosuna erişmek için kullanabileceğiniz URL'yi döndürür. Aşağıdaki ekran görüntüsünde gösterildiği gibi pano aracılığıyla kapsayıcı uygulamanız da size sunulur.
Kaynakları temizleme
Bu öğreticide oluşturulan kaynakların Azure faturanız üzerinde etkisi vardır. Bu hizmetleri uzun süreli kullanmayacaksanız, bu öğreticide oluşturulan her şeyi kaldırmak için aşağıdaki komutu çalıştırın.
az group delete --resource-group $RESOURCE_GROUP