Konfigurera en Spring Cloud-konfigurationsserver

Slutförd

I den här modulen konfigurerar du en Spring Cloud Config Server som hanteras helt och stöds av Azure Spring Apps och som ska användas av Spring Boot-mikrotjänster.

Den här Spring Cloud-konfigurationsservern hämtar sina konfigurationsdata från en Git-lagringsplats, där Spring Boot-konfigurationsfiler lagras. Lagring av konfigurationsfiler med hjälp av den här mekanismen ger följande fördelar:

  • Programmets känsliga parametrar (t.ex. databaslösenordet) checkas inte in i programkoden.
  • Git-lagringsplatsen som lagrar konfigurationen kan skyddas så att endast ett driftteam har åtkomst till den.
  • När konfigurationsfilerna lagras i Git kan du tagga eller återställa dem, vilket gör det enkelt att hantera produktionsmiljön.
  • Detta ger en central plats där alla dina konfigurationsdata kan lagras för alla dina mikrotjänster.

Skapa en Git-lagringsplats för att lagra programkonfigurationen

På ditt GitHub-konto skapar du en ny privat lagringsplats där Spring Boot-konfigurationerna ska lagras.

I den nya privata GitHub-lagringsplatsen lägger du till en ny application.yml-fil som lagrar konfigurationsdata för alla våra mikrotjänster.

Vanligtvis inkluderar varje Spring Boot-program en sådan fil i binära programfiler som ska innehålla programinställningar. Med en Spring Cloud-konfigurationsserver kan sådana inställningar lagras utanför programmet, vilket ger följande fördelar:

  • Detta gör det möjligt att lagra känsliga parametrar (till exempel ditt databaslösenord) utanför programmet.
  • Din konfiguration lagras på en Git-lagringsplats så att dess data kan taggas eller återställas.
  • Den använder en specifik Git-lagringsplats som kan skyddas separat.
  • Detta ger en central plats där alla dina konfigurationsdata kan lagras för alla dina mikrotjänster.

För tillfället lagrar vår application.yml bara ett meddelande för att kontrollera om konfigurationen lyckas:

application:
    message: Configured by Azure Spring Apps

Checka in och push-överför den nya filen:

git add application.yml
git commit -m 'Add new Spring Boot configuration file'
git push

Skapa en personlig GitHub-token

Azure Spring Apps kan komma åt Git-lagringsplatser som är offentliga, skyddade av SSH eller skyddade med grundläggande HTTP-autentisering. Vi använder det sista alternativet eftersom det är enklare att skapa och hantera med GitHub.

Följ GitHub-guiden för att skapa en personlig token och spara din token. När du uppmanas att välja omfång markerar du hela avsnittet "lagringsplats" och inget annat.

Screenshot that shows the GitHub personal access token settings.

När token har genererats lämnar du fliken öppen till slutet av det här avsnittet.

Konfigurera Azure Spring Apps för åtkomst till Git-lagringsplatsen

  1. Gå till Azure-portalen och sök efter Azure Spring Apps.

  2. Gå till översiktssidan för din Azure Spring Apps-server och välj Config Server på menyn.

  3. Konfigurera lagringsplatsen som du skapade tidigare:

    1. Lägg till lagringsplatsens URL, till exempel https://github.com/<YOUR_USERNAME>/azure-spring-cloud-config eller git@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git.

      Dricks

      Se till att du inkluderar .git slutet i URL:en eller använd den kvalificerade URI:n.

    2. Lägg till din gren i Label. Standardvärdet main används på GitHub, en äldre lagringsplatser eller alternativa Git-providrar kan fortfarande använda master.

    3. Välj Autentisering och välj HTTP Basic.

    4. Användarnamnet är ditt GitHub-inloggningsnamn.

    5. Lösenordet är den personliga token som vi skapade i föregående avsnitt.

    Screenshot of the Spring Cloud config server settings.

  4. Välj Verifiera och vänta tills åtgärden har slutförts.

  5. Välj Använd och vänta tills åtgärden har slutförts.

Granska

Vi har skapat en privat konfigurationslagringsplats. Vi har också aktiverat Azure Spring Apps för att skapa en konfigurationsserver med konfigurationsfilerna från den här lagringsplatsen.

Testa dina kunskaper

1.

Vilka säkerhetsmekanismer stöder Spring Cloud Config Server i Azure Spring Apps?

2.

Att använda Spring Cloud-konfiguration är en bra lösning eftersom: