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.
Fazer o download do servidor de configuração do Spring Cloud Config
Para fazer o download da origem do servidor de configuração:
- Abra um terminal.
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:
Altere o diretório para
spring-cloud-config-server
:cd kf/spring-cloud-config-server
Abra
manifest.yaml
.Altere a variável de ambiente
GIT_URI
para o URI do servidor de configuração do Git.Como opção, altere o nome do aplicativo no manifesto.
Se quiser, configure outras propriedades ou fontes alternativas de propriedade editando
src/main/resources/application.properties
.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
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:
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
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 arquivoapplication.properties
ouapplication.yaml
. - Para ver 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:
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
Remova a entrada do serviço do servidor de configuração:
kf delete-service config-server
Exclua o aplicativo do servidor de configuração:
kf delete spring-cloud-config
A seguir
- Leia mais sobre os tipos de origens de configuração compatíveis com o Spring Cloud Config.
- Saiba mais sobre a estrutura da variável de ambiente
VCAP_SERVICES
para entender como ela pode ser usada para a descoberta de serviços.