Komme i gang med roretabeller
Helm gjør Kubernetes mer brukervennlig. Det er en pakkeleder. Helm Charts gjør det lettere å designe, installere og oppgradere et Kubernetes-program. De klarer kompleksiteten for å gjøre installasjonsprosessen repeterbar. Brukere kan enkelt oppdatere og dele designene sine. Helm har også en tilbakeføringsfunksjon for å enkelt gå tilbake til ordreversjoner.
Hjelmkartstruktur
Med create-kommandoen gir Helm en forhåndsbestemt struktur for å sikre en standard.
Hei Verden├── Kart.yaml
├── kart
├── maler
│ ├── NOTATER.tekst
│ ├── _hjelper.tpl
│ ├── distribusjon.yaml
│ ├── inngang.yaml
│ └── tjeneste.yaml
└── verdier.yaml
Filene ovenfor genereres automatisk. Helm bruker YAML-format for konfigurasjonsfiler.
Påkaller Helm
For å kunne bruke Helm, trenger du følgende ting:
- En Kubernetes-klynge (Minikube gir en enkel måte å kjøre Kubernetes på)
- Installer Helm and Tiller, komponenten på serversiden.
(Forsikre deg om at Minikube- og Tiller-versjonene er kompatible med Kubernetes Cluster)
Når du har installert alle komponentene, starter du minikube:
$ minikube startDu må også bruke følgende kommando for å initialisere Helm og Tiller:
$ helm initDeretter bruker du følgende Helm-kommando for å lage strukturen beskrevet ovenfor:
$ helm skaper hallo-verdenSkrive ditt første roretabell
La oss sjekke statusen til belgene:
$ kubectl få pod - all-namespacesNAMESPACE-NAVN KLAR STATUS OMSTARTER ALDER
kube-system kube-addon-manager-minikube 1/1 Kjører 2 1t
kube-system kube-dns-54cccfbdf8-xcltd 3/3 Kjører 6 1t
kube-system kubernetes-dashboard-77d8b98585-sj9lm 1/1 Running 2 1h
kube-system storage-provisioner 1/1 Kjører 2 1t
kube-system tiller-deploy-59d854595c-97hdp 1/1 Kjører 2 1t
Rorpinnen og minikube-belgene går. La oss gjøre noen endringer i Helm Charts. Vi skal åpne verdien.yml. Det ser slik ut:
# Standardverdier for hei-verden.# Dette er en YAML-formatert fil.
# Erklær at variabler skal sendes inn i malene dine.
replicaCount: 1
bilde:
repository: heroku / nodejs-hallo-verden
tag: stabil
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 80
inngang:
aktivert: false
kommentarer:
# kubernetes.io / inngang.klasse: nginx
# kubernetes.io / tls-acme: "true"
sti: /
verter:
- diagram-eksempel.lokal
tls: []
# - secretName: diagram-eksempel-tls
# Verter:
# - diagrameksempel.lokal
ressurser:
# Vi anbefaler vanligvis ikke å spesifisere standardressurser og la dette være bevisst
# valg for brukeren. Dette øker også sjansekartene som kjøres i miljøer med lite
# ressurser, for eksempel Minikube. Hvis du ikke vil spesifisere ressurser, fjerner du merknader for følgende
# linjer, juster dem etter behov, og fjern krøllbøylene etter 'ressurser:'.
# grenser:
# CPU: 100m
# Minne: 128Mi
# forespørsler:
# CPU: 100m
# Minne: 128Mi
nodeSelector:
toleranser: []
affinitet:
Den markerte linjen er endret. I stedet for nginx, skal vi laste ned heroku / nodejs-hallo-verden. Du kan angi standardverdiene i denne verdien.yml-fil. De vil bli delt med andre filer.
Hvis vi sjekker Helm, ser vi ikke noe:
$ ror lsLa oss starte Helm Chart:
$ helm install hallo-worldNAVN: kyssing-markhor
SISTE DEPLOJERT: Fre 9. mars 09:13:04 2018
NAMESPACE: standard
STATUS: UTPLASSET
RESSURSER:
==> v1 / Service
NAVN TYPE CLUSTER-IP EKSTERN-IP PORT (ER) ALDER
kyssing-markhor-hei-verden ClusterIP 10.110.109.73
==> v1beta2 / Implementering
NAVN ØNSKET AKTUELL OPPDATERT TILGJENGELIG ALDER
kyssing-markhor-hallo-verden 1 1 1 0 1s
==> v1 / Pod (relatert)
NAVN KLAR STATUS OMSTARTER ALDER
kyssing-markhor-hallo-verden-6bbb947b9c-rttnz 0/1 ContainerCreating 0 1s
MERKNADER:
MERKNADER:
1. Få programadressen ved å kjøre disse kommandoene:
eksporter POD_NAME = $ (kubectl get pods --namespace default -l "app = hallo-world, release = kissing
-markhor "-o jsonpath =" .gjenstander [0].metadata.Navn")
ekko "Besøk http: // 127.0.0.1: 8080 for å bruke applikasjonen din "
kubectl port-forward $ POD_NAME 8080: 80
Den merkbare delen er "NAME". Dette navnet ble generert av Helm.
La oss sjekke Helm:
$ ror lsNAVN REVISJON OPPDATERT STATUS CHART NAMESPACE
kyssing-markhor 1 fre 9 mars 09:13:04 2018 UTPLASSET hallo-verden-0.1.0 standard
Også Kubernetes:
$ kubectl få pod - all-namespacesNAMESPACE-NAVN KLAR STATUS OMSTARTER ALDER
standard kyssing-markhor-hallo-verden-6bbb947b9c-rttnz 1/1 Running 0 5m
kube-system kube-addon-manager-minikube 1/1 Kjører 2 2t
kube-system kube-dns-54cccfbdf8-xcltd 3/3 Kjører 6 2t
kube-system kubernetes-dashboard-77d8b98585-sj9lm 1/1 Running 2 2h
kube-system storage-provisioner 1/1 Kjører 2 2t
kube-system tiller-deploy-59d854595c-97hdp 1/1 Kjører 2 2t
Så pod er blitt distribuert til Kubernetes. Vi kan bruke videresending av port:
$ kubectl port-forward kissing-markhor-hallo-world-6bbb947b9c-rttnz 8080: 80Nå skal du kunne sjekke den distribuerte applikasjonen din.
$ curl http: // 127.0.0.1: 8080Velkommen til nginx!
Hvis du ser denne siden, er nginx-webserveren vellykket installert og
jobber. Ytterligere konfigurasjon er nødvendig.
For online dokumentasjon og support, se
nginx.org.
Kommersiell støtte er tilgjengelig på
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. Finn servernavnet:
$ ror lsNAVN REVISJON OPPDATERT STATUS CHART NAMESPACE
kyssing-markhor 1 fre 9 mars 09:13:04 2018 UTPLASSET hallo-verden-0.1.0 standard
Bruk følgende kommando for å slette:
$ helm delete kissing-markhorslipp "kissing-markhor" slettet
La oss sjekke klyngen:
$ kubectget pod - all-namespacesNAMESPACE-NAVN KLAR STATUS OMSTARTER ALDER
kube-system kube-addon-manager-minikube 1/1 Kjører 2 2t
kube-system kube-dns-54cccfbdf8-xcltd 3/3 Kjører 6 2t
kube-system kubernetes-dashboard-77d8b98585-sj9lm 1/1 Running 2 2h
kube-system storage-provisioner 1/1 Kjører 2 2h
kube-system tiller-deploy-59d854595c-97hdp 1/1 Kjører 2 2t
Vi kan se at kyssemarkøren er borte.
Konklusjon
Ovennevnte skal gi deg inspirasjon til å begynne å bruke Helm Charts. Det skal gjøre Kubernetes-distribusjonene lettere å håndtere.
Referanser:
- ror.sh /
- dokumenter.bitnami.no / kubernetes / how-to / create-your-first-helm-chart /
- https: // docs.ror.sh / bruker_helm /
- Bygge roretabeller fra grunnen av: En introduksjon til Kubernetes [I] - Amy Chen, Heptio
- Distribuere NodeJS-appen til Kubernetes ved hjelp av Helm | Episode 3