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 da 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.
Como 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-serverAbra
manifest.yaml.Altere a variável de ambiente
GIT_URIpara o URI do servidor de configuração do Git.Também é possível alterar o nome do aplicativo no manifesto.
Se quiser, configure outras propriedades ou fontes de propriedade alternativas editando
src/main/resources/application.properties.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
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 configuração deles depende da biblioteca usada:
Aplicativos do 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:
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 configurationPara cada aplicativo que precisa de credenciais, execute o seguinte:
kf bind-service application-name config-serverkf restart application-nameIsso vai criar uma entrada na variável de ambiente
VCAP_SERVICESpara 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.urino local apropriado do aplicativo. Geralmente, será um arquivoapplication.propertiesouapplication.yaml. - Para saber sobre 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:
Remova todas as vinculações a ele executando os seguintes comandos para cada aplicativo vinculado:
kf unbind-service application-name config-serverkf restart application-nameRemova a entrada do serviço do servidor de configuração:
kf delete-service config-serverExclua o aplicativo do servidor de configuração:
kf delete spring-cloud-config
A seguir
- Saiba mais sobre os tipos de origens de configuração aceitos pelo Spring Cloud Config.
- Saiba mais sobre a estrutura da variável de ambiente
VCAP_SERVICESpara entender como ela pode ser usada para a descoberta de serviços.