Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kommentar
Planerna Basic, Standardoch Enterprise gick in i en pensionsperiod den 17 mars 2025. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Den här artikeln gäller för: ❎ Basic/Standard ✅ Enterprise
Den här artikeln beskriver hur du migrerar Application Configuration Service (ACS) och Config Server till Config Server for Spring i Azure Container Apps. Azure Container Apps hanterar Config Server for Spring, som har liknande funktioner som ACS eller Spring Cloud Config Server i Azure Spring Apps.
Förutsättningar
- En Azure Spring Apps Enterprise-planinstans med Application Configuration Service aktiverat.
- En Azure Container Apps-miljö för Config Server och en Azure Container Apps-instans.
Tilldela konfigurationsserver
Följande steg visar hur du etablerar en konfigurationsserver för Spring i dina Azure Container Apps:
Gå till din Azure Container Apps-miljö i Azure Portal.
I menyn väljer du Tjänster>tjänster.
Öppna listrutan Konfigurera och sedan välj Java-komponent.
I panelen Konfigurera Java-komponent anger du följande värden:
Egendom Värde Java-komponenttyp Välj Konfigurationsserver för Spring. Java-komponentnamn Ange configserver. I avsnittet Git-lagringsplatser väljer du Lägg till och migrerar sedan värdena från Programkonfigurationstjänsten till här, som du ser i följande tabell. Välj en lagringsplats som standardlagringsplats för Config Server for Spring.
Egendom Värde Typ Välj STANDARD. URI Ange värdet för URI för lagringsplatsen. Namn på gren Ange värdet för lagringsplatsens etikett . Sökvägar Ange värdet för sökvägen till lagringsplatsen. Autentisering Välj lagringsplatsens autentiseringstyp och ange motsvarande information. Lämna resten av fälten med standardvärdena och välj sedan Lägg till.
Om du har flera lagringsplatser väljer du Lägg till för att migrera andra lagringsplatser. För Typ väljer du Övrigt och migrerar sedan andra egenskaper enligt föregående steg och följande tabell:
Egendom Värde Typ Välj STANDARD. Mönster Ange mönstervärdet för lagringsplatsen i {application}-formatet eller{application}/{profile}.I avsnittet Bindning öppnar du listrutan för att välja vilka appar som ska bindas till konfigurationsservern för Spring.
Välj Nästa.
Om du vill konfigurera Config Server går du till fliken Granska , väljer Konfigurera och följer sedan anvisningarna i konfigurationsavsnittet.
När det har skapats kan du se att etableringstillståndet för konfigurationsservern för Spring har slutförts.
Resurstilldelning
Resursallokeringen för containern för den hanterade konfigurationsservern i Azure Container Apps är fast i följande värden:
- CPU: 0,5 vCPU
- Minne: 1 gi
För att konfigurera antalet instanser av Config Server för Spring måste du uppdatera parametrarna --min-replicas och --max-replicas med samma värde. Den här konfigurationen säkerställer att instansantalet förblir fast. För närvarande stöder systemet inte konfigurationer för automatisk skalning för dynamisk skalning.
Konfigurera konfigurationsserver
Välj en Git-lagringsplats från Application Configuration Service (ACS) som standardlagringsplats i Config Server och andra lagringsplatser som ytterligare lagringsplatser.
Följande tabell innehåller en mappning mellan egenskaperna i ACS och motsvarande konfigurationer i Config Server:
| Egenskapsnamn i ACS | CONFIGURATION_KEY |
CONFIGURATION_VALUE |
|---|---|---|
name |
Du behöver inte mappa det här värdet till Config Server. | |
pattern |
Du behöver inte mappa det här värdet till Config Server. | |
uri |
spring.cloud.config.server.git.uri spring.cloud.config.server.git.repos.{repoName}.uri |
URI:n för fjärrlagringsplatsen. |
search path |
spring.cloud.config.server.git.search-paths spring.cloud.config.server.git.repos.{repoName}.search-paths |
Sökvägarna som ska användas i den lokala arbetskopian. Som standard söker endast roten. |
label |
spring.cloud.config.server.git.default-label spring.cloud.config.server.git.repos.{repoName}.default-label |
Etiketten som används för Git. |
username |
spring.cloud.config.server.git.username spring.cloud.config.server.git.repos.{repoName}.username |
Användarnamnet för autentisering med fjärrlagringsplatsen om autentiseringstypen är HTTP Basic. |
password |
spring.cloud.config.server.git.password spring.cloud.config.server.git.repos.{repoName}.password |
Lösenordet för autentisering med fjärrlagringsplatsen om autentiseringstypen är HTTP Basic. |
private key |
spring.cloud.config.server.git.private-key spring.cloud.config.server.git.repos.{repoName}.private-key |
En giltig privat SSH-nyckel om autentiseringstypen är SSH. |
host key |
spring.cloud.config.server.git.host-key spring.cloud.config.server.git.repos.{repoName}.host-key |
En giltig SSH-värdnyckel om autentiseringstypen är SSH. Måste anges om host-key-algorithm det också är inställt. |
host key algorithm |
spring.cloud.config.server.git.host-key-algorithm spring.cloud.config.server.git.repos.{repoName}.host-key-algorithm |
En av ssh-dss, ssh-rsa, ssh-ed25519, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384eller ecdsa-sha2-nistp521 om autentiseringstypen är SSH. Måste anges om host-key det också är inställt. |
Fler egenskaper för konfigurationsserver finns i avsnittet Konfigurationsalternativ i Ansluta till en hanterad konfigurationsserver för Spring i Azure Container Apps.
Anta till exempel att du har följande konfiguration i ACS:
"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"
}
]
}
}
Med den här ACS-konfigurationen kan du migrera till Config Server for Spring med följande konfigurationer:
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
Ändra programkonfigurationen
När du har etablerat och konfigurerat konfigurationsservern för Spring använder du följande steg för att justera programkonfigurationen så att den används effektivt:
Uppdatera Spring Boot-beroenden. Lägg till följande Spring Cloud-konfigurationsberoenden i din pom.xml för Maven eller build.gradle för Gradle.
Konfigurera en profil. Profilen för ACS tillhandahålls som mönster i en Azure Spring Apps-distribution, medan profilen i Config Server konfigureras i programmets källkod.
Se till att programmet använder rätt profiler –
dev,prodoch så vidare – så att konfigurationsservern kan hantera miljöspecifika konfigurationer.Uppdatera filen bootstrap.yml eller application.yml i ditt program med rätt konfigurationsegenskaper så att den pekar på konfigurationsservern, som du ser i följande exempel:
spring: cloud: config: profile: devKonfigurera ett uppdateringsintervall. Om du anger ett uppdateringsintervall i ACS kan du också ange motsvarande värde i konfigurationen
spring.cloud.config.server.git.refreshRateav Config Server for Spring. Det här värdet avgör hur ofta Config Server for Spring hämtar uppdaterade konfigurationsdata från Git-serverdelen.Läs in egenskapsändringar i programmets kod med hjälp av följande steg:
- Registrera en schemalagd aktivitet för att uppdatera kontexten i ett visst intervall.
- Aktivera
autorefreshoch ange lämpligt uppdateringsintervall i filen application.yml . - Lägg till
@RefreshScopei koden.
Mer information finns i Uppdatera konfigurationsserver.
Distribuera programmet till Azure Container Apps
När du har testat programmet lokalt kan du distribuera den nya avbildningen till Azure Container Apps-programmet.
Använd följande steg för att distribuera:
- Gå till ditt Azure Container Apps-program i Azure Portal.
- I menyn väljer du Program>containrar.
- Välj Redigera och distribuera för att öppna sidan Skapa och distribuera ny revision .
- I avsnittet Containeravbildning väljer du avbildningen och väljer sedan Redigera.
- I avsnittet Redigera en container går du till fliken Egenskaper och väljer den nya avbildningen av programmet.
- På fliken Miljövariabler för Namn anger du spring.application.name. För Källa väljer du Manuell inmatning och anger namnet på konfigurationsfilen där programmet hämtar konfigurationen.
- Välj Spara för att distribuera den nya revisionen.
Felsöka
Du kan visa loggar för den hanterade konfigurationsservern för Spring i Azure Container Apps med hjälp av Log Analytics. Gör så här:
Gå till din Azure Container Apps-miljö i Azure Portal.
Välj menyn Övervakningsloggar>.
Om du vill visa loggar anger du en fråga i frågeredigeraren för
ContainerAppSystemLogs_CLtabellen enligt följande exempel:ContainerAppSystemLogs_CL | where ComponentType_s == "SpringCloudConfig" | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s | take 100
Mer information om att skapa frågor mot loggar finns i "Observability of managed Java components in Azure Container Apps" (Observerbarhet för hanterade Java-komponenter i Azure Container Apps).
Kända begränsningar
Migrering av ACS till Config Server for Spring gäller endast för Java-program. Eftersom ACS hanterar konfigurationen med hjälp av Kubernetes-native ConfigMap. Den här metoden möjliggör dynamiska konfigurationsuppdateringar i Kubernetes-miljöer, vilket gör den mångsidig för olika program med flera programmeringsspråk. Spring Cloud Config Server är främst utformat för Java-program, men använder Spring Framework-funktioner och stöder därför endast konfigurationshantering för Java.