Forutsetning
- En virtuell forekomstserver
- En rotbruker
- Konsul installert på serveren
Oppdater system
Vi anbefaler deg å oppgradere alle pakkene og arkivene før du installerer en ny pakke på systemet. Utfør følgende kommando, og den vil gjøre jobben for deg.
apt-get oppdateringInstaller konsulmal
I denne veiledningen antar vi at du allerede har installert konsul på serveren og også opprettet en konsulklynge. Nå skal vi installere og bruke konsulmalen, men konsulagenten må kjøre for å bruke konsulmalen. Konsulmalen er ikke som standard lagt til i konsulnserverpakken, vi må laste den ned og installere den separat. For å gjøre dette, må du laste ned den siste binæren for konsulmalen fra den offisielle nedlastingssiden. Utfør følgende kommando, og den vil gjøre jobben for deg.
krøll -o https: // utgivelser.hashicorp.com / konsul-mal / 0.20.0 / konsul-mal_0.20.0_linux_amd64.tgz
Deretter må du trekke ut det nedlastede arkivet ved hjelp av følgende kommando.
tjære -zxf konsul-mal_0.20.0_linux_amd64.tgzDu kan også installere den lokalt ved hjelp av docker hvis du vil. Når du har installert dockeren på systemet ditt, kan du klone det offisielle konsulmaldatabasen med følgende kommando.
git klon https: // github.com / hashicorp / konsul-mal.gitDeretter utfører du følgende kommando for å kompilere binær konsulmal. make dev Nå har du installert konsulmalen på serveren din.
Konfigurere konsulmal
Vi har konsulmal installert på systemet ditt, nå er vi klare til å bruke den. Her er en eksempelkonfigurasjonsfil for konsul-mal-ctemplate-konfigurasjon.hcl.
konsuladresse = "locahost: 8500"
prøv på nytt
aktivert = sann
forsøk = 12
backoff = "250ms"
token = "w94RIMKUtQH1a4VJGN + t + vn1Y0nErc / ch93E1F1ZcHU ="
reload_signal = "SIGHUP" kill_signal = "SIGINT" max_stale = "10m" log_level = "advar" #
pid_file = "/ konsulmal / konsulmal.pid "vent
min = "5s"
maks = "10s"
hvelv
adresse = "
[http: // localhost: 8200] (http: // localhost: 8200 /) "
token = "R / Uf0tYa5YkhPLpNLL807KWJ4ZiJi3clyQEfaMoRSJg"
fornye_token = falsk
deduplikat
aktivert = sann
# prefix = "konsulmal / dedup /"
mal
kilde = "./ hvelv / maler / pki / cert.ctmpl "
destinasjon = "./ hvelv / utgang / pki / mpatel.ditt domene.com.crt "
perms = 0400
left_delimiter = ""
right_delimiter = ""
vente
min = "2s"
maks = "10s"
mal
kilde = "./ hvelv / maler / pki / ca.ctmpl "
destinasjon = "./ hvelv / utgang / pki / mpatel.ditt domene.com.ca.crt "
mal
kilde = "./ hvelv / maler / pki / nøkkel.ctmpl "
destinasjon = "./ hvelv / utgang / pki / mpatel.ditt domene.com.nøkkel"
I konfigurasjonsfilen ovenfor kan du endre konsuladresse, hvelvadresse, konsul-token, hvelv-token, kildemalbaner og utdatafilbaner med dine faktiske verdier. Nå kan du kjøre konsulmalen ved hjelp av følgende kommando.
./ consul-template -config config.hclOpprette sertifikater dynamisk med Arkiv
Vault er et allment kjent åpen kildekodeverktøy for å administrere hemmelige data. Her vil vi se en annen bruk av konsulmalen for å opprette sertifikater dynamisk med hvelv. Konsulmal kan kjøre mer enn én mal. For å lage sertifikater programatisk, trenger du disse tre malene nedenfor.
- ca.ctmpl
med hemmelig "pki-int / issue / cert-generator" "common_name = YourDomain.com "
.Data.issuing_ca end
- ctmpl
med hemmelig "pki-int / issue / cert-generator" "common_name = YourDomain.com "
.Data.sertifikat end
- ctmpl
med hemmelig "pki-int / issue / cert-generator" "common_name = YourDomain.com "
.Data.private_key end
Ikke glem å erstatte com med ditt faktiske domene. Ovennevnte tre maler er tre forskjellige inndatamaler, men de komprimeres til en enkelt API-samtale når de kjører under samme konsulmalprosess. Nå når du har alle ovennevnte konsulmal og konfigurasjon klar, kan du bruke den til å opprette sertifikater dynamisk ved hjelp av følgende kommando.
./ consul-template -config config.hclDu kan også bruke konsulmalen for å oppdage alle tjenestene som kjører i konsulklyngen din. For å gjøre dette, må du opprette en mal lagret som all-services.tpl.
all-services.tplrange services # .Navn utvalgstjeneste .Navn
.Adresse end
slutt
Når du har opprettet malen, må du kjøre malen. Denne gangen vil vi bare spesifisere malfilen for å kjøre malen. Utfør følgende kommando for å kjøre malen.
consul-template -template = "all-services.tpl: all-services.txt "-en gangVi har brukt et flagg - en gang i kommandoen ovenfor for å kjøre prosessen en gang, og deretter avsluttes den automatisk. Du vil se følgende utdata for tjenestene som kjører:
# konsul35.75.121.88
# redis
35.75.86.171
35.75.109.224
35.75.59.65
# web
192.168.86.205
192.168.109.224
192.168.59.110
Konklusjon
I denne veiledningen har du lært hvordan du installerer og setter opp en konsulmal på serveren din. Nå kan du bruke konsulmalen til å utføre forskjellige operasjoner på applikasjonene dine. Vi håper nå har du nok kunnskap til å jobbe med konsulmal.