Pré-requisito
- Um servidor de instância virtual
- Um usuário root
- Consul instalado no servidor
Sistema de atualização
Recomendamos que você atualize todos os pacotes e repositórios antes de instalar qualquer novo pacote no sistema. Execute o seguinte comando e ele fará o trabalho por você.
apt-get updateInstalar modelo Consul
Neste guia, presumimos que você já instalou o cônsul no servidor e também criou um cluster cônsul. Agora iremos instalar e usar o modelo cônsul, mas o agente cônsul deve estar executando para usar o modelo cônsul. O modelo consul não é adicionado por padrão no pacote do servidor consul, precisaremos baixá-lo e instalá-lo separadamente. Para fazer isso, você precisará baixar o binário do modelo do cônsul mais recente em sua página oficial de download. Execute o seguinte comando e ele fará o trabalho por você.
curl -o https: // releases.Hashicorp.com / consul-template / 0.20.0 / cônsul-template_0.20.0_linux_amd64.tgz
Em seguida, você precisará extrair o arquivo baixado acima usando o seguinte comando.
tar -zxf consul-template_0.20.0_linux_amd64.tgzVocê também pode instalá-lo localmente usando o docker se quiser. Depois de instalar o docker em seu sistema, você pode clonar o repositório oficial de modelos do consul usando o seguinte comando.
git clone https: // github.com / hashicorp / consul-template.idiotaEm seguida, execute o seguinte comando para compilar o binário do modelo cônsul. make dev Agora você instalou com sucesso o template consul no seu servidor.
Configurando o modelo do Consul
Temos o modelo consul instalado em seu sistema agora estamos prontos para usá-lo. Aqui está um arquivo de configuração de amostra para a configuração ctemplate do modelo cônsul.hcl.
consulendereço = "locahost: 8500"
repetir
ativado = verdadeiro
tentativas = 12
backoff = "250ms"
token = "w94RIMKUtQH1a4VJGN + t + vn1Y0nErc / ch93E1F1ZcHU ="
reload_signal = "SIGHUP" kill_signal = "SIGINT" max_stale = "10m" log_level = "warn" #
pid_file = "/ consul-template / consul-template.pid "espere
min = "5s"
máx = "10s"
cofre
endereço = "
[http: // localhost: 8200] (http: // localhost: 8200 /) "
token = "R / Uf0tYa5YkhPLpNLL807KWJ4ZiJi3clyQEfaMoRSJg"
renovar_token = falso
deduplicate
ativado = verdadeiro
# prefix = "consul-template / dedup /"
modelo
source = "./ vault / templates / pki / cert.ctmpl "
destino = "./ vault / output / pki / mpatel.seu domínio.com.crt "
perms = 0400
left_delimiter = ""
right_delimiter = ""
esperar
min = "2s"
máx = "10s"
modelo
source = "./ vault / templates / pki / ca.ctmpl "
destino = "./ vault / output / pki / mpatel.seu domínio.com.ca.crt "
modelo
source = "./ vault / templates / pki / key.ctmpl "
destino = "./ vault / output / pki / mpatel.seu domínio.com.chave"
No arquivo de configuração acima, altere o endereço do cônsul, o endereço do vault, o token do cônsul, o token do vault, os caminhos do modelo de origem e os caminhos do arquivo de saída com seus valores reais. Agora você pode executar o modelo do cônsul usando o seguinte comando.
./ consul-template -config config.hclCriação de certificados dinamicamente com o Vault
O Vault é uma ferramenta de código aberto amplamente conhecida para gerenciar dados secretos. Aqui, veremos outro uso do modelo de cônsul para criar certificados dinamicamente com o vault. O modelo do Consul pode executar mais de um modelo. Para criar certificados de maneira programática, você precisará desses três modelos fornecidos abaixo.
- ca.ctmpl
com segredo "pki-int / issue / cert-generator" "END_LINKame = YourDomain.com "
.Dados.issuing_ca end
- ctmpl
com segredo "pki-int / issue / cert-generator" "END_LINKame = YourDomain.com "
.Dados.certificado end
- ctmpl
com segredo "pki-int / issue / cert-generator" "END_LINKame = YourDomain.com "
.Dados.chave_privada end
Não se esqueça de substituir com pelo seu domínio real. Os três modelos acima são três modelos de entrada diferentes, mas eles serão compactados em uma única chamada de API quando executados sob o mesmo processo de modelo de cônsul. Agora, quando você tiver todos os modelos e configurações do cônsul acima prontos, você pode usá-los para criar certificados dinamicamente usando o seguinte comando.
./ consul-template -config config.hclVocê também pode usar o modelo do cônsul para descobrir todos os serviços em execução no grupo do cônsul. Para fazer isso, você precisará criar um modelo salvo como todos os serviços.tpl.
todos os serviços.tplserviços de alcance # .Nome serviço de alcance .Nome
.Endereço end
fim
Depois de criar o modelo, você precisará executá-lo. Desta vez, iremos apenas especificar o arquivo de modelo para executar o modelo. Execute o seguinte comando para executar o modelo.
consul-template -template = "todos os serviços.tpl: todos os serviços.txt "-uma vezUsamos um sinalizador - uma vez no comando acima para executar o processo uma vez e então ele será encerrado automaticamente. Você verá a seguinte saída para os serviços em execução:
# cônsul35.75.121.88
# redis
35.75.86.171
35.75.109.224
35.75.59.65
# rede
192.168.86.205
192.168.109.224
192.168.59.110
Conclusão
Neste guia, você aprendeu como instalar e configurar um modelo de consul em seu servidor. Agora você pode usar o modelo de cônsul para realizar várias operações em seus aplicativos. Esperamos que agora você tenha conhecimento suficiente para trabalhar com o modelo de cônsul.