Helm gjør Kubernetes mer brukervennlig. Det er en pakkebehandler. Helmdiagrammer gjør det lettere å designe, installere og oppgradere en Kubernetes -applikasjon. De administrerer kompleksiteten for å gjøre installasjonsprosessen gjentatt. Brukere kan lett oppdatere og dele designene sine. Helm har også en tilbakevendingsfunksjon for enkelt å gå tilbake til ordreversjoner.
Høyrekartstruktur
Med CREATE -kommandoen gir Helm en forhåndsbestemt struktur for å sikre en standard.
Hei VerdenFilene ovenfor vil være automatisk generert. Helm bruker YAML -format for konfigurasjonsfiler.
Påkalle ror
For å bruke roret, trenger du følgende ting:
(Forsikre deg om at Minikube- og Tiller -versjonene er kompatible med Kubernetes -klyngen)
Når du har alle komponentene installert, start Minikube:
$ Minikube Start
Du må også bruke følgende kommando for å initialisere ror og rorkult:
$ Helm Init
Deretter bruker du følgende roret -kommando for å lage strukturen beskrevet ovenfor:
$ ror Create Hello-World
Skrive det første rorkartet ditt
La oss sjekke statusen til belgene:
$ Kubectl Get Pod-ALL-NAMESPACES
Navneområdet Navn Klar status Start på nytt
kube-system kube-addon-manager-minikube 1/1 løping 2 1H
kube-system kube-dns-54cccfbdf8-xcltd 3/3 løping 6 1H
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Løping 2 1H
Kube-System Storage-Provisioner 1/1 Kjør 2 1H
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Kjør 2 1H
Tiller Pod og Minikube Pods kjører. La oss gjøre noen endringer i Helm -diagrammer. Vi kommer til å åpne verdien.yml. Det ser slik ut:
# Standardverdier for Hello-World.
# Dette er en YAML-formatert fil.
# Forklar variabler som skal sendes inn i malene dine.
ReplicaCount: 1
bilde:
depot: Heroku/Nodejs-Hello-World
Tag: Stabil
pullpolicy: ifnotpresent
service:
Type: Clusterip
Port: 80
inntrengning:
Aktivert: Falsk
Merknad:
# Kubernetes.IO/Ingress.Klasse: Nginx
# Kubernetes.IO/TLS-ACME: "True"
Sti: /
verter:
- Karteksempel.lokal
TLS: []
#-SecretName: Chart-Example-TLS
# verter:
# - Karteksempel.lokal
Ressurser:
# Vi anbefaler vanligvis ikke å spesifisere standardressurser og å forlate dette som en bevisst
# valg for brukeren. Dette øker også sjansediagrammer som kjøres på miljøer med lite
# Ressurser, for eksempel Minikube. Hvis du ønsker å spesifisere ressurser, må du følge følgende
# linjer, juster dem etter behov, og fjern de krøllete seler etter 'ressurser:'.
# grenser:
# CPU: 100m
# minne: 128mi
# forespørsler:
# CPU: 100m
# minne: 128mi
Nodeselector:
Tolerasjoner: []
affinitet:
Den fremhevede linjen er endret. I stedet for Nginx, skal vi laste ned Heroku/Nodejs-Hello-World. Du kan angi standardverdiene i denne verdien.YML -fil. De vil bli delt med andre filer.
Hvis vi sjekker roret, ser vi ikke noe:
$ ror ls
La oss starte Helm -diagrammet:
$ ror install Hello-World
Navn: Kissing-Markhor
Sist utplassert: fre 9. mars 09:13:04 2018
Navnområde: standard
Status: distribuert
Ressurser:
==> V1/Service
Navn Type Cluster-IP Ekstern-IP-port (er) alder
Kissing-Markhor-Hello-World Clusterip 10.110.109.7380/TCP 1s
==> V1beta2/distribusjon
Navn ønsket strøm oppdatert tilgjengelig alder
Kyssing-Markhor-Hello-World 1 1 1 0 1s
==> v1/pod (relatert)
Navnet klar status starter alderen på nytt
Kissing-Markhor-Hello-World-6BBB947B9C-RTTNZ 0/1 ContainerCreating 0 1S
Merknader:
Merknader:
1. Få applikasjons -URL ved å kjøre disse kommandoene:
Eksport POD_NAME = $ (Kubectl Get Pods -Namespace standard -L "App = Hello -World, Release = Kyssing
-Markhor "-o jsonpath =" .elementer [0].metadata.Navn")
ekko "Besøk http: // 127.0.0.1: 8080 for å bruke søknaden din "
Kubectl Port-Forward $ POD_NAME 8080: 80
Den merkbare delen er "navnet". Dette navnet ble generert av roret.
La oss sjekke roret:
$ ror ls
Navn Revisjon Oppdatert statusdiagram
Kissing-Markhor 1 fre 9. mars 09:13:04 2018 distribuert Hello-World-0.1.0 standard
Også Kubernetes:
$ Kubectl Get Pod-ALL-NAMESPACES
Navneområdet Navn Klar status Start på nytt
Standard Kissing-MarkHor-Hello-World-6BBB947B9C-RTTNZ 1/1 Kjør 0 5M
kube-system kube-addon-manager-minikube 1/1 løping 2 2 t
kube-system kube-dns-54cccfbdf8-xcltd 3/3 løping 6 2h
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Løping 2 2H
Kube-System Storage-Provisioner 1/1 Kjør 2 t
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Løping 2 2H
Så poden har blitt distribuert til Kubernetes. Vi kan bruke portvideresending:
$ Kubectl Port-Forward Kissing-Markhor-Hello-World-6BBB947B9C-RTTNZ 8080: 80
Nå skal du kunne sjekke den distribuerte applikasjonen din.
$ krøll http: // 127.0.0.1: 8080Hvis du ser denne siden, er Nginx -webserveren vellykket installert og
arbeider. Ytterligere konfigurasjon er nødvendig.
For online dokumentasjon og støtte, se
nginx.org.
Kommersiell støtte er tilgjengelig kl
nginx.com.
Takk for at du bruker Nginx.
Alternativt kan du sjekke http: // 127.0.0.1: 8080 for å se den nyopprettede applikasjonen. La oss rydde opp. Finn servernavnet:
$ ror ls
Navn Revisjon Oppdatert statusdiagram
Kissing-Markhor 1 fre 9. mars 09:13:04 2018 distribuert Hello-World-0.1.0 standard
Bruk følgende kommando for å slette:
$ Helm Delete Kissing-Markhor
Slipp "Kissing-Markhor" slettet
La oss sjekke klyngen:
$ kubectget pod-alle navnene
Navneområdet Navn Klar status Start på nytt
kube-system kube-addon-manager-minikube 1/1 løping 2 2 t
kube-system kube-dns-54cccfbdf8-xcltd 3/3 løping 6 2h
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Løping 2 2H
Kube-System Storage-Provisioner 1/1 Kjør 2 t
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Løping 2 2H
Vi kan se kyssemarkøren Pod er borte.
Konklusjon
Ovennevnte skal gi deg inspirasjon til å begynne å bruke rorkart. Det skal gjøre Kubernetes -distribusjonene dine lettere å håndtere.