Forudsætning
- En virtuel instansserver
- En rodbruger
- Konsul installeret på serveren
Opdater system
Vi anbefaler dig at opgradere alle pakkerne og arkiverne, før du installerer en ny pakke på systemet. Udfør følgende kommando, og det vil gøre jobbet for dig.
apt-get opdateringInstaller konsulskabelon
I denne vejledning antager vi, at du allerede har installeret konsul på serveren og også oprettet en konsulklynge. Nu installerer og bruger vi konsulskabelonen, men konsulagenten skal køre for at bruge konsulskabelonen. Konsulskabelonen tilføjes som standard ikke i konsul-serverpakken, vi skal downloade den og installere den separat. For at gøre dette skal du downloade den seneste binære konsulskabelon fra den officielle webside til download. Udfør følgende kommando, og det vil gøre jobbet for dig.
krølle -o https: // udgivelser.hashicorp.com / konsul-skabelon / 0.20.0 / konsul-skabelon_0.20.0_linux_amd64.tgz
Derefter bliver du nødt til at udtrække det ovenfor downloadede arkiv ved hjælp af følgende kommando.
tjære -zxf konsul-template_0.20.0_linux_amd64.tgzDu kan også installere det lokalt ved hjælp af docker, hvis du vil. Når du har installeret dockeren på dit system, kan du klone det officielle konsulskabelonlager ved hjælp af følgende kommando.
git klon https: // github.com / hashicorp / konsul-skabelon.gitUdfør derefter følgende kommando for at kompilere binær konsulskabelon. make dev Nu har du med succes installeret konsulskabelonen på din server.
Konfiguration af konsulskabelon
Vi har installeret konsulskabelon på dit system, nu er vi klar til at bruge den. Her er en eksempelkonfigurationsfil til konsul-skabelon-ctemplate-konfiguration.hcl.
konsuladresse = "locahost: 8500"
prøve igen
aktiveret = sandt
forsøg = 12
backoff = "250 ms"
token = "w94RIMKUtQH1a4VJGN + t + vn1Y0nErc / ch93E1F1ZcHU ="
reload_signal = "SIGHUP" kill_signal = "SIGINT" max_stale = "10m" log_level = "advar" #
pid_file = "/ konsul-skabelon / konsul-skabelon.pid "vent
min = "5s"
max = "10s"
hvælving
adresse = "
[http: // localhost: 8200] (http: // localhost: 8200 /) "
token = "R / Uf0tYa5YkhPLpNLL807KWJ4ZiJi3clyQEfaMoRSJg"
forny_token = falsk
deduplicate
aktiveret = sandt
# prefix = "konsul-skabelon / dedup /"
skabelon
kilde = "./ hvælving / skabeloner / pki / cert.ctmpl "
destination = "./ hvælving / output / pki / mpatel.dit domæne.com.crt "
perms = 0400
left_delimiter = ""
right_delimiter = ""
vent
min = "2s"
max = "10s"
skabelon
kilde = "./ hvælving / skabeloner / pki / ca.ctmpl "
destination = "./ hvælving / output / pki / mpatel.dit domæne.com.ca.crt "
skabelon
kilde = "./ hvælving / skabeloner / pki / nøgle.ctmpl "
destination = "./ hvælving / output / pki / mpatel.dit domæne.com.nøgle"
I ovenstående konfigurationsfil skal du ændre konsuladressen, hvælvingadressen, konsul-token, hvælvetoken, kildeskabelonstier og outputfil-stier med dine faktiske værdier. Nu kan du køre konsulskabelonen ved hjælp af følgende kommando.
./ consul-template -config config.hclOprettelse af certifikater dynamisk med Vault
Vault er et almindeligt kendt open source-værktøj til styring af hemmelige data. Her ser vi en anden brug af konsulskabelonen til dynamisk oprettelse af certifikater med hvælving. Konsulskabelon kan køre mere end en skabelon. For at oprette certifikater programatisk har du brug for disse tre skabeloner nedenfor.
- ca.ctmpl
med hemmelig "pki-int / issue / cert-generator" "common_name = DinDomæne.com "
.Data.udstedelse_ca end
- ctmpl
med hemmelig "pki-int / issue / cert-generator" "common_name = DinDomæne.com "
.Data.certifikat end
- ctmpl
med hemmelig "pki-int / issue / cert-generator" "common_name = DinDomæne.com "
.Data.private_key end
Glem ikke at erstatte com med dit faktiske domæne. Ovenstående tre skabeloner er tre forskellige inputskabeloner, men de komprimeres til et enkelt API-opkald, når de kører under den samme konsulskabelonproces. Når du nu har alle ovenstående konsulskabeloner og konfigurationer klar, kan du bruge den til at oprette certifikater dynamisk ved hjælp af følgende kommando.
./ consul-template -config config.hclDu kan også bruge konsulskabelonen til at finde alle de tjenester, der kører i din konsulklynge. For at gøre dette skal du oprette en skabelon, der er gemt som alle tjenester.tpl.
alle tjenester.tplrange services # .Navn rækkevidde-service .Navn
.Adresse end
ende
Når du har oprettet skabelonen nu, skal du køre skabelonen. Denne gang specificerer vi bare den skabelonfil, der skal køre skabelonen. Udfør følgende kommando for at køre skabelonen.
consul-template -template = "alle tjenester.tpl: all-services.txt "-en gangVi har brugt et flag - en gang i ovenstående kommando til at køre processen en gang, og derefter afslutter den automatisk. Du vil se følgende output for de kørende tjenester:
# 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
Konklusion
I denne vejledning har du lært, hvordan du installerer og opsætter en konsulskabelon på din server. Nu kan du bruge konsulskabelonen til at udføre forskellige operationer på dine applikationer. Vi håber, at du nu har tilstrækkelig viden til at arbejde med konsulskabelon.