Een instantie van een Spring Cloud Config Server instellen voor uw service
Dit artikel is van toepassing op: ✔️ Java ✔️ C#
In dit artikel leest u hoe u een instantie van een Spring Cloud Config Server kunt verbinden met uw Azure Spring Cloud-service.
Spring Cloud Config biedt ondersteuning aan server- en clientzijde voor een geëxternaliseerde configuratie in een gedistribueerd systeem. Met de instantie van Config Server heeft u een centrale plek om externe eigenschappen te beheren voor toepassingen in alle omgevingen. Raadpleeg Spring Cloud Config Server-referentie voor meer informatie.
Vereisten
- Een Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
- Een reeds ingerichte en actieve Azure Spring Cloud-service. Als u een Azure Spring Cloud-service wilt instellen en opstarten, bekijk dan Quickstart: Een Java Spring-toepassing starten met behulp van de Azure CLI.
Beperking
Er gelden enkele beperkingen op het gebruik van Config Server met een Git-back-end. Sommige eigenschappen worden automatisch in de omgeving van uw toepassing om toegang te krijgen tot Config Server en Service Discovery. Als u deze eigenschappen ook vanuit uw Config Server-bestanden configureert, kunnen er conflicten en onverwacht gedrag optreden. De eigenschappen zijn:
eureka.client.service-url.defaultZone
eureka.client.tls.keystore
server.port
spring.cloud.config.tls.keystore
spring.application.name
spring.jmx.enabled
Waarschuwing
We raden u ten zeerste aan de bovenstaande eigenschappen niet op te nemen in de toepassingsbestanden van uw Config Server.
Uw Config Server-bestanden maken
Azure Spring Cloud biedt ondersteuning voor Azure DevOps, GitHub, GitLab en Bitbucket om uw Config Server-bestanden op te slaan. Wanneer uw opslagplaats klaar is, maakt u de configuratiebestanden aan met de volgende instructies en slaat u ze daar op.
Daarnaast zijn sommige configureerbare eigenschappen alleen beschikbaar voor bepaalde typen. In de volgende subsecties vindt u de eigenschappen van elk type opslagplaats.
Openbare opslagplaats
Wanneer u een openbare opslagplaats gebruikt, zijn uw configureerbare eigenschappen beperkter.
In de volgende tabel vindt u alle configureerbare eigenschappen die worden gebruikt om de openbare Git-opslagplaats in te stellen:
Notitie
Het gebruik van een afbreekstreepje (-) als scheidingsteken tussen woorden is momenteel de enige ondersteunde naamconventie. U kunt bijvoorbeeld standaard-label gebruiken, maar niet standaardLabel.
| Eigenschap | Vereist | Functie |
|---|---|---|
uri |
Ja | De URI van de Git-opslagplaats die als back-end van de Config Server wordt gebruikt, begint met http:// , https:// , git@ of ssh:// . |
default-label |
Nee | Het standaardlabel van de Git-opslagplaats moet de vertakkingsnaam, tagnaam of commit-id van de opslagplaat zijn. |
search-paths |
Nee | Een matrix van tekenreeksen die worden gebruikt om te zoeken in submappen van de Git-opslagplaats. |
Persoonlijke opslagplaats met SSH-verificatie
In de volgende tabel vindt u alle configureerbare eigenschappen die worden gebruikt om de persoonlijke Git-opslagplaats in te stellen:
Notitie
Het gebruik van een afbreekstreepje (-) als scheidingsteken tussen woorden is momenteel de enige ondersteunde naamconventie. U kunt bijvoorbeeld standaard-label gebruiken, maar niet standaardLabel.
| Eigenschap | Vereist | Functie |
|---|---|---|
uri |
Ja | De URI van de Git-opslagplaats die als back-end van de Config Server wordt gebruikt, moet beginnen met http:// , https:// , git@ of ssh:// . |
default-label |
Nee | Het standaardlabel van de Git-opslagplaats moet de vertakkingsnaam, tagnaam of commit-id van de opslagplaat zijn. |
search-paths |
Nee | Een matrix van tekenreeksen gebruikt om te zoeken in submappen van de Git-opslagplaats. |
private-key |
Nee | De persoonlijke SSH-sleutel om de Git-opslagplaats te openen, vereist wanneer de URI begint met git@ of ssh:// . |
host-key |
Nee | De hostsleutel van de server voor de Git-opslagplaats mag het algoritmevoorvoegsel niet bevatten, zoals beschreven in host-key-algorithm. |
host-key-algorithm |
Nee | Het algoritme van de hostsleutel moet ssh-dss- zijn, ssh-rsa, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384 of ecdsa-sha2-nistp521 zijn. Enkel vereist als host-key bestaat. |
strict-host-key-checking |
Nee | Geeft aan of het opstarten van de instantie van de Config Server zal mislukken wanneer de persoonlijke host-key gebruikt wordt. Moet true (standaardwaarde) of false zijn. |
Notitie
Config Server gebruikt master (om Git zelf) als standaardlabel als dit niet is opgegeven. Maar GitHub de standaard-vertakking gewijzigd van master in main onlangs. Als u Azure Spring Cloud Config Server wilt voorkomen, let dan op het standaardlabel bij het instellen van Config Server met GitHub, met name voor nieuwe gemaakte opslagplaatsen.
Persoonlijke opslagplaats met basisverificatie
Hieronder vindt u alle configureerbare eigenschappen die worden gebruikt om de persoonlijke Git-opslagplaats met basisverificatie in te stellen.
Notitie
Het gebruik van een afbreekstreepje (-) als scheidingsteken tussen woorden is momenteel de enige ondersteunde naamconventie. Gebruik bijvoorbeeld standaard-label, niet standaardLabel.
| Eigenschap | Vereist | Functie |
|---|---|---|
uri |
Ja | De URI van de Git-opslagplaats die als back-end van de Config Server wordt gebruikt, moet beginnen met http:// , https:// , git@ of ssh:// . |
default-label |
Nee | Het standaardlabel van de Git-opslagplaats moet de vertakkingsnaam, tagnaam of commit-id van de opslagplaat zijn. |
search-paths |
Nee | Een matrix van tekenreeksen gebruikt om te zoeken in submappen van de Git-opslagplaats. |
username |
Nee | De gebruikersnaam die wordt gebruikt om toegang te krijgen tot de server van de Git-opslagplaats, vereist wanneer de server van de Git-opslagplaats Http Basic Authenticationondersteunt. |
password |
Nee | Het wachtwoord of het persoonlijke toegangs token dat wordt gebruikt voor toegang tot de server van de Git-opslagplaats, vereist wanneer de server van de Git-opslagplaats ondersteuning biedt Http Basic Authentication voor . |
Notitie
Veel servers voor Git-opslagplaatsen bieden ondersteuning voor het gebruik van tokens in plaats van wachtwoorden voor HTTP-basisverificatie. Met sommige opslagplaatsen kunnen tokens voor onbepaalde tijd worden opgeslagen. Sommige servers voor Git-opslagplaatsen, Azure DevOps Server, dwingen tokens echter binnen een paar uur te verlopen. Opslagplaatsen die ervoor zorgen dat tokens verlopen, mogen geen verificatie op basis van tokens gebruiken met Azure Spring Cloud.
GitHub heeft de ondersteuning voor wachtwoordverificatie verwijderd, dus u moet een persoonlijk toegang token gebruiken in plaats van wachtwoordverificatie voor Github. Zie Tokenverificatie voor meer informatie.
Aanvullende Git-opslagplaatsen
Hieronder vindt u alle configureerbare eigenschappen die worden gebruikt om Git-opslagplaatsen in te stellen met een patroon.
Notitie
Het gebruik van een afbreekstreepje (-) als scheidingsteken tussen woorden is momenteel de enige ondersteunde naamconventie. Gebruik bijvoorbeeld standaard-label, niet standaardLabel.
| Eigenschap | Vereist | Functie |
|---|---|---|
repos |
Nee | Een toewijzing bestaande uit de instellingen voor een Git-opslagplaats met een bepaalde naam. |
repos."uri" |
Ja voor repos |
De URI van de Git-opslagplaats die als back-end van de Config Server wordt gebruikt, moet beginnen met http:// , https:// , git@ of ssh:// . |
repos."name" |
Ja voor repos |
Een naam om te identificeren in de Git-opslagplaats, alleen vereist als repos bestaat. Bijvoorbeeld team-A, team-B. |
repos."pattern" |
Nee | Een matrix van tekenreeksen gebruikt om een toepassingsnaam te vinden. Gebruik het {application}/{profile}-formaat met jokertekens voor elk patroon. |
repos."default-label" |
Nee | Het standaardlabel van de Git-opslagplaats moet de vertakkingsnaam, tagnaam of commit-id van de opslagplaat zijn. |
repos."search-paths" |
Nee | Een matrix van tekenreeksen gebruikt om te zoeken in submappen van de Git-opslagplaats. |
repos."username" |
Nee | De gebruikersnaam die wordt gebruikt om toegang te krijgen tot de server van de Git-opslagplaats, vereist wanneer de server van de Git-opslagplaats Http Basic Authenticationondersteunt. |
repos."password" |
Nee | Het wachtwoord of het persoonlijke toegangs token dat wordt gebruikt voor toegang tot de server van de Git-opslagplaats, vereist wanneer de server van de Git-opslagplaats ondersteuning biedt Http Basic Authentication voor . |
repos."private-key" |
Nee | De persoonlijke SSH-sleutel om de Git-opslagplaats te openen, vereist wanneer de URI begint met git@ of ssh:// . |
repos."host-key" |
Nee | De hostsleutel van de server voor de Git-opslagplaats mag het algoritmevoorvoegsel niet bevatten, zoals beschreven in host-key-algorithm. |
repos."host-key-algorithm" |
Nee | Het algoritme van de hostsleutel moet ssh-dss- zijn, ssh-rsa, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384 of ecdsa-sha2-nistp521 zijn. Enkel vereist als host-key bestaat. |
repos."strict-host-key-checking" |
Nee | Geeft aan of het opstarten van de instantie van de Config Server zal mislukken wanneer de persoonlijke host-key gebruikt wordt. Moet true (standaardwaarde) of false zijn. |
In de volgende tabel ziet u enkele voorbeelden voor de sectie Aanvullende opslagplaatsen. Zie Patroonmatching en meerdere opslagplaatsen in de Spring-documentatie voor meer informatie.
| Patronen | Description |
|---|---|
| test-config-server-app-0/* | Het patroon en de opslagplaats-URI komen overeen met een Spring Boot-toepassing met de naam test-config-server-app-0 en elk profiel. |
| test-config-server-app-1/dev | Het patroon en de opslagplaats-URI komen overeen met een Spring Boot-toepassing met de naam test-config-server-app-1 en het dev-profiel. |
| test-config-server-app-2/prod | Het patroon en de opslagplaats-URI komen overeen met een Spring Boot-toepassing met de naam test-config-server-app-2 prod-profiel. |
Uw Config Server-opslagplaats toevoegen aan Azure Spring Cloud
Nu dat uw configuratiebestanden zijn opgeslagen in een opslagplaats, moet u Azure Spring Cloud ermee verbinden.
Meld u aan bij de Azure-portal.
Ga naar de Overzichtspagina van Azure Spring Cloud.
Selecteer Config Server in het linkernavigatievenster.
Stel in de sectie Standaardopslagplaats URI in op https://github.com/Azure-Samples/piggymetrics-config.
Selecteer Valideren.

Wanneer de validatie is voltooid, selecteert u Toepassen om uw wijzigingen op te slaan.

Het bijwerken van de configuratie kan enkele minuten duren.

U ontvangt een melding wanneer de configuratie is voltooid.
De gegevens van de opslagplaats rechtstreeks invoeren bij de Azure-portal
Standaardopslagplaats
Openbare opslagplaats: Plak de URI van de opslagplaats in het vak URI in de sectie Standaardopslagplaats. Stel het Label in op config. Zorg ervoor dat de instelling Verificatie op Openbaar staat en selecteer vervolgen Toepassen om te voltooien.
Persoonlijke opslagplaats: Azure Spring Cloud biedt ondersteuning voor basisverificatie op basis van wachtwoorden/tokens en SSH.
- Basisverificatie: Plak de URI van de opslagplaats in de sectie Standaardopslagplaats in het vak URI en selecteer vervolgens de knop Verificatie (pictogram van potlood). Selecteer HTTP-basis in het venster Verificatie bewerken in de vervolgkeuzelijst Verificatietype en voer vervolgens uw gebruikersnaam en wachtwoord/token in om toegang te verlenen tot Azure Spring Cloud. Selecteer OK en vervolgens Toepassen om de instelling van uw instantie van een Config Server te voltooien.

Waarschuwing
Sommige Servers voor Git-opslagplaatsen gebruiken een persoonlijk token of een toegangs-token, zoals een wachtwoord, voor basisverificatie. U kunt dit soort token gebruiken als wachtwoord in Azure Spring Cloud aangezien het nooit verloopt. Maar voor andere servers voor Git-opslagplaatsen, zoals Bitbucket en Azure DevOps Server, verloopt het toegangs token binnen één of twee uur. Dit betekent dat de optie niet werkbaar is wanneer u die servers voor opslagplaatsen gebruikt met Azure Spring Cloud. GitHub heeft de ondersteuning voor wachtwoordverificatie verwijderd, dus u moet een persoonlijk toegang token gebruiken in plaats van wachtwoordverificatie voor Github. Zie Tokenverificatie voor meer informatie.
- SSH: Plak de URI van de opslagplaats in het vak URI in de sectie Standaardopslagplaats en selecteer vervolgens de knop Verificatie (pictogram van potlood). Selecteer SSH in de vervolgkeuzelijst Verificatietype in het deelvenster Verificatie bewerken en voer vervolgens uw Persoonlijke sleutel in. U kunt eventueel uw Hostsleutel en Algoritme van de hostsleutel opgeven. Zorg ervoor dat u uw openbare sleutel in uw opslagplaats voor de Config Server opneemt. Selecteer OK en vervolgens Toepassen om de instelling van uw instantie van een Config Server te voltooien.

Aanvullende opslagplaatsen
Als u een optionele Aanvullende opslagplaatsen wilt gebruiken om uw service te configureren, geeft u de URI en verificatie op dezelfde manier op als de Standaardopslagplaats. Vergeet geen Naam op te geven voor uw patroon en selecteer vervolgens Toepassen om deze aan uw instantie toe te voegen.
Informatie over en opslagplaats invoeren in een YAML-bestand
Als u een YAML-bestand heeft geschreven met instellingen voor uw opslagplaats, dan kunt u het bestand rechtstreeks importeren vanaf uw lokale machine naar Azure Spring Cloud. Een eenvoudig YAML-bestand voor een persoonlijke opslagplaats met basisverificatie ziet er als volgt uit:
spring:
cloud:
config:
server:
git:
uri: https://github.com/azure-spring-cloud-samples/config-server-repository.git
username: <username>
password: <password/token>
Klik op de knop Instellingen importeren en selecteer vervolgens het YAML-bestand in uw projectmap. Selecteer Importeren, vervolgens verschijnt er een async-bewerking van uw Meldingen. Na 1-2 minuten zou de bewerking voltooid moeten zijn.

De informatie uit uw YAML-bestand zou moeten worden weergegeven in het Azure-portal. Selecteer Toepassen om te voltooien.
Azure-Azure Spring Cloud gebruiken
Azure Spring Cloud heeft toegang tot Git-opslagplaatsen die openbaar zijn, worden beveiligd door SSH of worden beveiligd met behulp van HTTP-basisverificatie. We gebruiken die laatste optie, omdat het eenvoudiger is om met Azure-repos te maken en te beheren.
Url en referenties van de repo op halen
Selecteer in de Azure Repos-portal voor uw project de knop Klonen:

Kopieer de kloon-URL uit het tekstvak. Deze URL heeft doorgaans de volgende vorm:
https://<organization name>@dev.azure.com/<organization name>/<project name>/_git/<repository name>Verwijder alles na
https://en vóórdev.azure.com, met inbegrip van de@. De resulterende URL moet de volgende vorm hebben:https://dev.azure.com/<organization name>/<project name>/_git/<repository name>Sla deze URL op voor gebruik in de volgende sectie.
Selecteer Git-referenties genereren. Er worden een gebruikersnaam en wachtwoord weergegeven. Sla deze op voor gebruik in de volgende sectie.
Azure Spring Cloud configureren voor toegang tot de Git-opslagplaats
Meld u aan bij de Azure-portal.
Ga naar de pagina Overzicht van Azure Spring Cloud.
Selecteer de service die u wilt configureren.
Selecteer in het linkerdeelvenster van de servicepagina onder Instellingen het tabblad Config Server service. Configureer de opslagplaats die we eerder hebben gemaakt:
- Voeg de URL van de opslagplaats toe die u in de vorige sectie hebt opgeslagen.
- Selecteer Verificatie en selecteer vervolgens HTTP Basic.
- De gebruikersnaam is de gebruikersnaam die is opgeslagen in de vorige sectie.
- Het wachtwoord is het wachtwoord dat in de vorige sectie is opgeslagen.
- Selecteer Toepassen en wacht tot de bewerking is geslaagd.

Uw configuratie verwijderen
U kunt de knop Opnieuw instellen selecteren die wordt weergegeven op Config Server tabblad om uw bestaande instellingen volledig te wissen. Verwijder de configuratieserverinstellingen als u uw Config Server-exemplaar wilt verbinden met een andere bron, zoals het verplaatsen van GitHub naar Azure DevOps.
Config Server vernieuwen
Wanneer eigenschappen worden gewijzigd, moeten services die deze eigenschappen gebruiken een melding ontvangen voordat wijzigingen kunnen worden aangebracht. De standaardoplossing voor Spring Cloud-configuratie is het handmatig activeren van de vernieuwingsgebeurtenis, wat mogelijk niet haalbaar is als er veel app-exemplaren zijn. U kunt in Azure Spring Cloud waarden van de configuratieserver ook automatisch vernieuwen door de configuratieclient te laten zoeken naar wijzigingen op basis van een interne vernieuwing.
Neem eerst spring-cloud-starter-azure-spring-cloud-client op in de afhankelijkheidssectie van uw pom.xml.
<dependency> <groupId>com.microsoft.azure</groupId> <artifactId>spring-cloud-starter-azure-spring-cloud-client</artifactId> <version>2.4.0</version> </dependency>Schakel ten tweede automatisch vernieuwen in en stel het juiste vernieuwingsinterval in uw application.yml in. In dit voorbeeld pollt de client elke vijf seconden naar configuratiewijzigingen. Dit is de minimale waarde die u voor het vernieuwingsinterval kunt instellen. Automatisch vernieuwen is standaard ingesteld op false en refresh-interval is ingesteld op 60 seconden.
spring: cloud: config: auto-refresh: true refresh-interval: 5Voeg ten @refreshScope slotte uw code toe. In dit voorbeeld wordt de variabele connectTimeout automatisch elke vijf seconden vernieuwd.
@RestController @RefreshScope public class HelloController { @Value("${timeout:4000}") private String connectTimeout; }
Volgende stappen
In dit artikel hebt u geleerd hoe u uw exemplaar van een Spring Cloud-configuratieserver kunt inschakelen en configureren. Zie Een toepassing schalen in Azure Spring Cloud voor meer informatie over het beheren van uw toepassing.