Implantar o Spring Cloud Config

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

Com o Spring Cloud Config, é possível dissociar o código do aplicativo e a configuração do ambiente de execução. O servidor de configuração do Spring Cloud Config pode ler arquivos de configuração de repositórios do Git, do sistema de arquivos local, de servidores do HashiCorp Vault ou do Cloud Foundry CredHub. Depois que o servidor de configuração lê a configuração, ele pode formatá-la e disponibilizá-la como YAML, propriedades de Java ou JSON sobre HTTP.

Antes de começar

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

Além disso, você vai precisar deste software:

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

Baixar o servidor de configuração do Spring Cloud Config

Para baixar o código-fonte do servidor de configuração:

  1. Abra um terminal.
  2. Clone o código-fonte 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. Abra o diretório 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. Também é possível alterar o nome do aplicativo no manifesto.

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

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

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

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 configuração deles depende da biblioteca usada:

Aplicativos PCF

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

  1. Crie um serviço fornecido pelo usuário com o nome 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 o seguinte:

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

    Isso vai 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 do Spring Cloud Config, defina a propriedade spring.cloud.config.uri no local apropriado do aplicativo. Geralmente, é um arquivo application.properties ou application.yaml.
  • Para saber sobre outros frameworks, consulte as informações de referência da sua biblioteca.

Excluir o servidor de configuração

Para remover um servidor de configuração:

  1. Remova todas as vinculações a ele executando 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