Een Spring Cloud-configuratieserver configureren
In deze module configureert u een Spring Cloud-configuratieserver die volledig wordt beheerd en ondersteund door Azure Spring Apps, voor gebruik door Spring Boot-microservices.
Deze Spring Cloud-configuratieserver haalt de configuratiegegevens op uit een Git-opslagplaats, waar Spring Boot-configuratiebestanden worden opgeslagen. Het opslaan van configuratiebestanden met dit mechanisme heeft de volgende voordelen:
- De gevoelige parameters van uw toepassing (zoals uw databasewachtwoord) worden niet ingecheckt in uw toepassingscode.
- De Git-opslagplaats die uw configuratie opslaat, kan worden beveiligd, zodat alleen een operations-team er toegang toe heeft.
- Omdat de configuratiebestanden worden opgeslagen in Git, kunt u ze taggen of terugdraaien, zodat u uw productieomgeving eenvoudig kunt beheren.
- Het biedt een centrale locatie voor het opslaan van alle configuratiegegevens voor al uw microservices.
Een Git-opslagplaats maken voor het opslaan van de toepassingsconfiguratie
Maak in uw GitHub-account een nieuwe privéopslagplaats waar de Spring Boot-configuraties worden opgeslagen.
Voeg in de nieuwe privé-GitHub-opslagplaats een nieuw application.yml-bestand toe, waarin configuratiegegevens voor al onze microservices worden opgeslagen.
Normaal gesproken bevat elke Spring Boot-toepassing een dergelijk bestand in de binaire bestanden van de toepassing om toepassingsinstellingen te bevatten. Met een Spring Cloud-configuratieserver kunnen dergelijke instellingen buiten uw toepassing worden opgeslagen, wat de volgende voordelen biedt:
- Hiermee kunnen gevoelige parameters (zoals uw databasewachtwoord) buiten uw toepassing worden opgeslagen.
- Uw configuratie wordt opgeslagen in een Git-opslagplaats, zodat de gegevens kunnen worden getagd of teruggedraaid.
- Het gebruikt een specifieke Git-opslagplaats, die afzonderlijk kan worden beveiligd.
- Het biedt een centrale locatie voor het opslaan van alle configuratiegegevens voor al uw microservices.
Op dit moment slaat onze application.yml alleen een bericht op om te controleren of de configuratie is geslaagd:
application:
message: Configured by Azure Spring Apps
Het nieuwe bestand doorvoeren en pushen:
git add application.yml
git commit -m 'Add new Spring Boot configuration file'
git push
Een persoonlijk GitHub-token maken
Azure Spring Apps heeft toegang tot Git-opslagplaatsen die openbaar zijn, worden beveiligd door SSH of worden beveiligd met behulp van HTTP-basisverificatie. We gebruiken deze laatste optie, omdat het eenvoudiger is om te maken en te beheren met GitHub.
Volg de GitHub-handleiding om een persoonlijk token te maken en sla uw token op. Wanneer u wordt gevraagd om bereiken te selecteren, schakelt u de hele sectie 'opslagplaats' en niets anders uit.
Wanneer het token is gegenereerd, laat u dat tabblad open tot aan het einde van deze sectie.
Azure Spring Apps configureren voor toegang tot de Git-opslagplaats
Ga naar Azure Portal en zoek naar Azure Spring Apps.
Ga naar de overzichtspagina van uw Azure Spring Apps-server en selecteer Config Server in het menu.
Configureer de opslagplaats die u eerder hebt gemaakt:
Voeg de URL van de opslagplaats toe, bijvoorbeeld
https://github.com/<YOUR_USERNAME>/azure-spring-cloud-config
ofgit@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git
.Tip
Zorg ervoor dat u het
.git
einde in de URL opneemt of gebruik de gekwalificeerde URI.Voeg uw vertakking toe in
Label
. Op GitHub is de standaardinstellingmain
, maar oudere opslagplaatsen of alternatieve Git-providers maken mogelijk nog steeds gebruik vanmaster
.Selecteer Verificatie en selecteer HTTP Basic.
De gebruikersnaam is uw GitHub-aanmeldingsnaam.
Het wachtwoord is het persoonlijke token dat u in de vorige sectie hebt gemaakt.
Selecteer Valideren en wacht tot de bewerking is voltooid.
Selecteer Toepassen en wacht tot de bewerking is voltooid.
Beoordelen
We hebben een privéconfiguratieopslagplaats gemaakt. We hebben Azure Spring Apps ook ingeschakeld om een configuratieserver te maken met de configuratiebestanden uit deze opslagplaats.