Configurar um Servidor do Spring Cloud Config

Concluído

Neste módulo, você vai configurar um Config Server do Spring Cloud que é totalmente gerenciado e mantido pelos Aplicativos Spring do Azure, a ser usado pelos microsserviços Spring Boot.

Este Servidor de Configuração do Spring Cloud obtém seus dados de configuração de um repositório Git, onde os arquivos de configuração do Spring Boot são armazenados. O armazenamento de arquivos de configuração usando esse mecanismo tem as seguintes vantagens:

  • O check-in dos parâmetros confidenciais do seu aplicativo (como a senha do banco de dados) não será feito no código do seu aplicativo.
  • O repositório Git que armazena sua configuração poderá ser protegido, para que somente uma equipe de operações tenha acesso a ele.
  • Conforme os arquivos de configuração são armazenados no Git, você poderá marcá-los ou revertê-los, facilitando o gerenciamento do ambiente de produção.
  • Ele fornece um local centralizado para armazenar todos os dados de configuração para todos os seus microsserviços.

Criar um repositório Git para armazenar a configuração do aplicativo

Em sua conta do GitHub, crie um repositório privado no qual as configurações do Spring Boot serão armazenadas.

No novo repositório privado do GitHub, adicione um novo arquivo application.yml, que armazena dados de configuração para todos os nossos microsserviços.

Normalmente, cada aplicativo Spring Boot inclui esse arquivo dentro dos binários do aplicativo para conter as configurações do aplicativo. Um Servidor de Configuração do Spring Cloud permitirá que essas configurações sejam armazenadas fora do aplicativo, oferecendo os seguintes benefícios:

  • Ele permite armazenar parâmetros confidenciais (como a senha do banco de dados) fora do seu aplicativo.
  • Sua configuração é armazenada em um repositório Git; assim, os dados dela podem ser marcados ou revertidos.
  • Ela usa um repositório Git específico, que pode ser protegido separadamente.
  • Ele fornece um local centralizado para armazenar todos os dados de configuração para todos os seus microsserviços.

Por enquanto, nosso application.yml apenas armazenará uma mensagem para verificar se a configuração foi bem-sucedida:

application:
    message: Configured by Azure Spring Apps

Confirme o novo arquivo e envie-o por push:

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

Criar um token pessoal do GitHub

O Azure Spring Apps poderá acessar repositórios Git públicos, protegidos por SSH ou por uma autenticação básica HTTP. Usaremos essa última opção, pois ela é mais fácil de criar e gerenciar com o GitHub.

Siga o guia do GitHub para criar um token pessoal e salve seu token. Quando solicitado a selecionar escopos, selecione toda a seção "repositório" e nada mais.

Captura de tela que mostra as configurações do token de acesso pessoal do GitHub.

Depois que o token for gerado, deixe essa guia aberta até o final desta seção.

Configurar o Azure Spring Apps para acessar o repositório Git

  1. Acesse o portal do Azure e pesquise por Aplicativos Spring do Azure.

  2. Vá para a página de visão geral do servidor dos Aplicativos Spring do Azure e selecione Servidor de configuração no menu.

  3. Configure o repositório criado anteriormente:

    1. Adicione a URL do repositório, por exemplo https://github.com/<YOUR_USERNAME>/azure-spring-cloud-config ou git@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git.

      Dica

      Inclua o final .git na URL ou use o URI qualificado.

    2. Adicione sua ramificação em Label. O padrão será main no GitHub, porém repositórios anteriores ou provedores Git alternativos ainda poderão usar master.

    3. Selecione Autenticação e selecione HTTP Básico.

    4. O nome de usuário é o seu nome de logon do GitHub.

    5. A senha é o token pessoal que criamos na seção anterior.

    Captura de tela das configurações do servidor de configuração do Spring Cloud.

  4. Selecione Validar e aguarde o sucesso da operação.

  5. Selecione Aplicar e aguarde o sucesso da operação.

Revisão

Criamos um repositório de configuração privado. Também habilitamos os Aplicativos Spring do Azure para criar um servidor de configuração com os arquivos de configuração desse repositório.

Verificar seus conhecimentos

1.

Nos Aplicativos Spring do Azure, quais mecanismos de segurança são compatíveis com o Config Server do Spring Cloud?

2.

Usar a Configuração do Spring Cloud é uma ótima solução porque: