Como implantar o Spring Cloud Config

Este documento mostra como implantar o Spring Cloud Config em um cluster Kf.

O Spring Cloud Config oferece uma maneira de dissociar o código do aplicativo da configuração do ambiente de execução. O servidor de configuração Spring Cloud Config pode ler arquivos de configuração de repositórios Git, o sistema de arquivos local, servidores do HashiCorp Vault ou Cloud Foundry CredHub. Depois que o servidor de configuração tiver lido a configuração, ele poderá formatar e exibir essa configuração como YAML, Java Properties ou JSON sobre HTTP.

Antes de começar

Você precisará de um cluster com Kf instalado e acesso à CLI do Kf.

Além disso, você precisará do seguinte software:

  • git: o Git é necessário para clonar um repositório.

Como fazer o download do servidor de configuração do Spring Cloud Config

Para fazer o download da origem do servidor de configuração:

  1. Abra um terminal.
  2. Clone a origem do servidor de configuração:

    git clone --depth 1 "https://github.com/google/kf"
    

Configurar e implantar um servidor de configuração

Para atualizar as configurações da instância:

  1. Altere o diretório para spring-cloud-config-server:

    cd kf/spring-cloud-config-server
    
  2. Abra manifest.yaml.

  3. Altere a variável de ambiente GIT_URI para o URI do servidor de configuração do Git.

  4. Como opção, altere o nome do aplicativo no manifesto.

  5. Se quiser, configure outras propriedades ou fontes alternativas de propriedade editando src/main/resources/application.properties.

  6. Implantar o servidor de configuração sem uma rota externa. Se você alterou o nome do aplicativo no manifesto, atualize-o aqui:

    kf push --no-route spring-cloud-config
    

Como vincular aplicativos ao servidor de configuração

É possível criar um serviço fornecido pelo usuário para vincular o servidor de configuração implantado a outros aplicativos do Kf no mesmo cluster ou namespace.

A forma como você os configura depende da biblioteca usada:

Aplicativos PCF

Os aplicativos PCF atuais que usam a biblioteca de cliente Spring Cloud Services da Pivotal podem ser vinculados com o seguinte método:

  1. Crie um serviço fornecido pelo usuário chamado config-server. Essa etapa só precisa ser feita uma vez por servidor de configuração:

    kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configuration
    
  2. Para cada aplicativo que precisa de credenciais, execute:

    kf bind-service application-name config-server
    kf restart application-name
    

    Isso criará uma entrada na variável de ambiente VCAP_SERVICES para o servidor de configuração.

Outros aplicativos

Os aplicativos que podem se conectar diretamente a um servidor de configuração do Spring Cloud Config precisam ser configurados para acessá-lo usando o URI interno do cluster.

http://spring-cloud-config
  • Para aplicativos Spring que usam a biblioteca de cliente Spring Cloud Config, defina a propriedade spring.cloud.config.uri no local apropriado do seu aplicativo. Geralmente, esse é um arquivo application.properties ou application.yaml.
  • Para ver outros frameworks, consulte as informações de referência da sua biblioteca.

Como excluir o servidor de configuração

Para remover um servidor de configuração:

  1. Remova todas as vinculações ao servidor de configuração que executa os seguintes comandos para cada aplicativo vinculado:

    kf unbind-service application-name config-server
    kf restart application-name
    
  2. Remova a entrada do serviço do servidor de configuração:

    kf delete-service config-server
    
  3. Exclua o aplicativo do servidor de configuração:

    kf delete spring-cloud-config
    

A seguir