Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Plány Basic, Standarda Enterprise vstoupily do důchodového období 17. března 2025. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Tento článek se vztahuje na: ❎ Basic/Standard ✅ Enterprise
Tento článek popisuje, jak migrovat službu Application Configuration Service (ACS) a konfigurační server na konfigurační server pro Spring v Azure Container Apps. Azure Container Apps spravuje konfigurační server pro Spring, který má podobné funkce jako ACS nebo Spring Cloud Config Server v Azure Spring Apps.
Požadavky
- Instance plánu Enterprise pro Azure Spring Apps s povolenou službou Application Configuration Service
- Prostředí Azure Container Apps pro konfigurační server a instanci Azure Container Apps.
Zřízení konfiguračního serveru
Následující kroky ukazují, jak zřídit konfigurační server pro Spring ve službě Azure Container Apps:
Na webu Azure Portal přejděte do prostředí Azure Container Apps.
V nabídce vyberte Služby>.
Otevřete rozevírací seznam Konfigurovat a vyberte komponentu Java.
Na panelu Konfigurovat komponenty Java zadejte následující hodnoty:
Vlastnost Hodnota Typ komponenty Java Vyberte Konfigurační server pro Spring. Název komponenty Java Zadejte konfigurační server. V části Úložiště Git vyberte Přidat a pak migrujte hodnoty ze služby Application Configuration Service, jak je znázorněno v následující tabulce. Jako výchozí úložiště konfiguračního serveru pro Spring zvolte jedno úložiště.
Vlastnost Hodnota Typ Vyberte VÝCHOZÍ. Identifikátor URI Zadejte hodnotu identifikátoru URI úložiště. Název větve Zadejte hodnotu popisku úložiště. Cesty pro hledání Zadejte hodnotu cesty hledání úložiště. Authentication Vyberte typ ověřování úložiště a zadejte odpovídající informace. Ponechte zbývající pole s výchozími hodnotami a pak vyberte Přidat.
Pokud máte více úložišť, vyberte Přidat a migrujte další úložiště. V části Typ vyberte Jiné a potom migrujte další vlastnosti, jak je znázorněno v předchozím kroku a následující tabulka:
Vlastnost Hodnota Typ Vyberte VÝCHOZÍ. Vzor V části Vazba otevřete rozevírací seznam a vyberte aplikace, které se mají svázat s konfiguračním serverem pro Spring.
Vyberte Další.
Chcete-li nastavit konfigurační server, na kartě Revize vyberte Konfigurovat a poté postupujte podle pokynů v části Konfigurace.
Po úspěšném vytvoření uvidíte, že stav zřizování pro Konfigurační server pro Spring je úspěšný.
Přidělení prostředků
Přidělení prostředků kontejneru pro spravovaný konfigurační server v Azure Container Apps je pevné na následující hodnoty:
- CPU: 0,5 vCPU
- Paměť: 1 Gi
Pokud chcete nakonfigurovat počet instancí konfiguračního serveru pro Spring, musíte aktualizovat parametry --min-replicas a --max-replicas stejnou hodnotou. Tato konfigurace zajišťuje, že počet instancí zůstane pevný. V současné době systém nepodporuje konfigurace automatického škálování pro dynamické škálování.
Konfigurace konfiguračního serveru
Vyberte jedno úložiště Git ze služby Application Configuration Service (ACS) jako výchozí úložiště na konfiguračním serveru a další úložiště jako další úložiště.
Následující tabulka obsahuje mapování mezi vlastnostmi ve službě ACS a odpovídajícími konfiguracemi na konfiguračním serveru:
| Název vlastnosti v ACS | CONFIGURATION_KEY |
CONFIGURATION_VALUE |
|---|---|---|
name |
Tuto hodnotu nemusíte mapovat na konfigurační server. | |
pattern |
Tuto hodnotu nemusíte mapovat na konfigurační server. | |
uri |
spring.cloud.config.server.git.uri spring.cloud.config.server.git.repos.{repoName}.uri |
Identifikátor URI vzdáleného úložiště. |
search path |
spring.cloud.config.server.git.search-paths spring.cloud.config.server.git.repos.{repoName}.search-paths |
Cesty hledání, které se mají použít v místní pracovní kopii. Ve výchozím nastavení prohledá pouze kořen. |
label |
spring.cloud.config.server.git.default-label spring.cloud.config.server.git.repos.{repoName}.default-label |
Štítek použitý pro Git. |
username |
spring.cloud.config.server.git.username spring.cloud.config.server.git.repos.{repoName}.username |
Uživatelské jméno pro ověřování ve vzdáleném úložišti, pokud je typ ověřování HTTP Basic. |
password |
spring.cloud.config.server.git.password spring.cloud.config.server.git.repos.{repoName}.password |
Heslo pro ověřování ve vzdáleném úložišti, je-li typ ověřování HTTP Basic. |
private key |
spring.cloud.config.server.git.private-key spring.cloud.config.server.git.repos.{repoName}.private-key |
Platný privátní klíč SSH, pokud je typ ověřování SSH. |
host key |
spring.cloud.config.server.git.host-key spring.cloud.config.server.git.repos.{repoName}.host-key |
Platný klíč hostitele SSH, pokud je typ ověřování SSH. Musí být nastavena i v případě, že host-key-algorithm je nastavena. |
host key algorithm |
spring.cloud.config.server.git.host-key-algorithm spring.cloud.config.server.git.repos.{repoName}.host-key-algorithm |
Jeden z ssh-dss, ssh-rsa, ssh-ed25519, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384 nebo ecdsa-sha2-nistp521, pokud je typ ověřování SSH. Musí být nastavena i v případě, že host-key je nastavena. |
Další vlastnosti konfiguračního serveru najdete v části Možnosti konfigurace připojení ke spravovanému konfiguračnímu serveru pro Spring v Azure Container Apps.
Předpokládejme například, že máte v ACS následující konfiguraci:
"settings": {
"gitProperty": {
"repositories": [
{
"name": "r1",
"patterns": [
"application"
],
"label": "master",
"uri": "https://github.com/Azure-Samples/spring-petclinic-microservices-config"
},
{
"name": "r2",
"patterns": [
"customers-service"
],
"label": "master",
"uri": "https://github.com/Azure-Samples/spring-petclinic-microservices-config"
},
{
"name": "r3",
"patterns": [
"payment"
],
"label": "main",
"uri": "https://github.com/Azure-Samples/acme-fitness-store-config"
}
]
}
}
S touto konfigurací služby ACS můžete migrovat na konfigurační server pro Spring s následujícími konfiguracemi:
spring.cloud.config.server.git.uri=https://github.com/Azure-Samples/spring-petclinic-microservices-config
spring.cloud.config.server.git.default-label=master
spring.cloud.config.server.git.repos.repo1.uri=https://github.com/Azure-Samples/acme-fitness-store-config
spring.cloud.config.server.git.repos.repo1.default-label=main
Změna konfigurace aplikace
Po zřízení a konfiguraci konfiguračního serveru pro Spring upravte konfiguraci aplikace tak, aby ji efektivně používala:
Aktualizace závislostí Spring Boot Do pom.xml pro Maven nebo build.gradle pro Gradle přidejte následující závislosti Spring Cloud Config.
Nakonfigurujte profil. Profil služby ACS se poskytuje jako vzory v nasazení Azure Spring Apps, zatímco na konfiguračním serveru je profil nakonfigurovaný ve zdrojovém kódu aplikace.
Ujistěte se, že vaše aplikace používá správné profily –
devproda tak dále – aby konfigurační server mohl obsluhovat konfigurace specifické pro prostředí.Aktualizujte soubor bootstrap.yml nebo application.yml ve vaší aplikaci přidáním správných konfiguračních vlastností tak, aby odkazoval na konfigurační server, jak je znázorněno v následujícím příkladu:
spring: cloud: config: profile: devNakonfigurujte interval aktualizace. Pokud nastavíte interval aktualizace v ACS, můžete také zadat odpovídající hodnotu v
spring.cloud.config.server.git.refreshRatekonfiguraci konfiguračního serveru pro Spring. Tato hodnota určuje, jak často konfigurační server pro Spring načítá aktualizovaná konfigurační data z back-endu Gitu.Pokud chcete načíst změny vlastností v kódu aplikace, postupujte následovně:
- Zaregistrujte naplánovanou úlohu pro aktualizaci kontextu v daném intervalu.
- Povolte
autorefresha nastavte odpovídající interval aktualizace v souboru application.yml . - Přidejte
@RefreshScopedo kódu.
Další informace naleznete v tématu Aktualizace konfiguračního serveru.
Nasazení aplikace do Azure Container Apps
Po místním otestování aplikace můžete novou image nasadit do aplikace Azure Container Apps.
K nasazení použijte následující postup:
- Na webu Azure Portal přejděte k aplikaci Azure Container Apps.
- V nabídce vyberte Aplikace>Kontejnery.
- Výběrem možnosti Upravit a nasadit otevřete stránku Vytvořit a nasadit novou revizi .
- V části Image kontejneru vyberte image a pak vyberte Upravit.
- V části Upravit kontejner vyberte na kartě Vlastnosti novou image aplikace.
- Na kartě Proměnné prostředí zadejte do Jménospring.application.name. Potom v části Zdroj zvolte ruční položku a zadejte název konfiguračního souboru, ve kterém aplikace konfiguraci využívá.
- Výběrem možnosti Uložit nasadíte novou revizi.
Odstraňování potíží
Protokoly pro spravovaný konfigurační server pro Spring v Azure Container Apps můžete zobrazit pomocí Log Analytics. Použijte následující postup:
Na webu Azure Portal přejděte do prostředí Azure Container Apps.
Vyberte nabídku Monitorování>Protokoly.
Pokud chcete zobrazit protokoly, zadejte dotaz do editoru
ContainerAppSystemLogs_CLdotazů pro tabulku, jak je znázorněno v následujícím příkladu:ContainerAppSystemLogs_CL | where ComponentType_s == "SpringCloudConfig" | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s | take 100
Další informace o dotazování protokolů najdete v Observability of managed Java components in Azure Container Apps.
Známé omezení
Migrace služby ACS na konfigurační server pro Spring platí jenom pro aplikace v Javě. Vzhledem k tomu, že služba ACS spravuje konfiguraci pomocí nativního ConfigMapKubernetes . Tato metoda umožňuje dynamické aktualizace konfigurace v prostředích Kubernetes, takže je všestranná pro různé aplikace s více programovacími jazyky. Spring Cloud Config Server je sice primárně určený pro aplikace v Javě, ale používá funkce Spring Frameworku, a proto podporuje pouze správu konfigurace pro Javu.