I dag ønsker vi å snakke om VMware Tanzu, en ny linje med produkter og tjenester som ble annonsert under fjorårets VMWorld-konferanse. På agendaen er et av de mest interessante verktøyene: Tanzu Mission Control.
Vær forsiktig: det er mange bilder under kuttet.
Hva er Mission Control
Som selskapet selv sier i bloggen sin, er hovedmålet med VMware Tanzu Mission Control å "bringe orden i klyngekaos." Mission Control er en API-drevet plattform som lar administratorer bruke policyer på klynger eller grupper av klynger og sette sikkerhetsregler. SaaS-baserte verktøy integreres sikkert i Kubernetes-klynger via en agent og støtter en rekke standard klyngeoperasjoner, inkludert livssyklusadministrasjonsoperasjoner (distribusjon, skalering, sletting, etc.).
Ideologien til Tanzu-linjen er basert på maksimal bruk av åpen kildekode-teknologi. For å administrere livssyklusen til Tanzu Kubernetes Grid-klynger, brukes Cluster API, Velero brukes til sikkerhetskopiering og gjenoppretting, Sonobuoy brukes til å overvåke overholdelse av konfigurasjonen av Kubernetes-klynger og Contour som en ingress-kontroller.
Den generelle listen over Tanzu Mission Control-funksjoner ser slik ut:
- sentralisert administrasjon av alle dine Kubernetes-klynger;
- identitets- og tilgangsadministrasjon (IAM);
- diagnostikk og overvåking av klyngestatus;
- administrere konfigurasjon og sikkerhetsinnstillinger;
- planlegge regelmessige klyngehelsesjekker;
- lage sikkerhetskopier og gjenopprette;
- kvoteforvaltning;
- visuell representasjon av ressursutnyttelse.
Hvorfor er det viktig
Tanzu Mission Control vil hjelpe bedrifter med å løse problemet med å administrere en stor flåte av Kubernetes-klynger lokalisert i lokaler, i skyen og på tvers av flere tredjepartsleverandører. Før eller siden vil ethvert selskap hvis aktiviteter er knyttet til IT, se seg nødt til å støtte mange heterogene klynger lokalisert hos forskjellige leverandører. Hver klynge blir til en snøball som trenger kompetent organisasjon, passende infrastruktur, retningslinjer, beskyttelse, overvåkingssystemer og mye mer.
I dag streber enhver bedrift etter å redusere kostnader og automatisere rutineprosesser. Og det komplekse IT-landskapet fremmer tydeligvis ikke besparelser og konsentrasjon om prioriterte oppgaver. Tanzu Mission Control gir organisasjoner muligheten til å drive flere Kubernetes-klynger distribuert på tvers av flere leverandører samtidig som driftsmodellen harmoniseres.
Løsningsarkitektur
Tanzu Mission Control er en multi-tenant-plattform som gir brukere tilgang til et sett med svært konfigurerbare policyer som kan brukes på Kubernetes-klynger og grupper av klynger. Hver bruker er knyttet til en organisasjon, som er "roten" av ressurser – klyngegrupper og arbeidsområder.
Hva Tanzu Mission Control kan gjøre
Ovenfor har vi allerede kort listet opp listen over funksjoner til løsningen. La oss se hvordan dette implementeres i grensesnittet.
En enkelt visning av alle Kubernetes-klynger i bedriften:
Opprette en ny klynge:
Du kan umiddelbart tilordne en gruppe til en klynge, og den vil arve policyene som er tildelt den.
Klyngetilkobling:
Allerede eksisterende klynger kan enkelt kobles til ved hjelp av en spesiell agent.
Klyngegruppering:
I klyngegrupper kan du gruppere klynger for å arve tildelte policyer umiddelbart på gruppenivå, uten manuell inngripen.
Arbeidsområder:
Gir muligheten til fleksibelt å konfigurere tilgang til en applikasjon som er plassert innenfor flere navnerom, klynger og skyinfrastrukturer.
La oss se nærmere på driftsprinsippene til Tanzu Mission Control i laboratoriearbeid.
Lab #1
Selvfølgelig er det ganske vanskelig å forestille seg i detalj driften av Mission Control og nye Tanzu-løsninger uten øvelse. For at du skal kunne utforske hovedtrekkene til linjen, gir VMware tilgang til flere laboratoriebenker. Disse benkene lar deg utføre laboratoriearbeid ved hjelp av trinnvise instruksjoner. I tillegg til selve Tanzu Mission Control, er andre løsninger tilgjengelige for testing og studier. En fullstendig liste over laboratoriearbeider finner du
For praktisk kjennskap til ulike løsninger (inkludert et lite "spill" på vSAN) tildeles forskjellige mengder tid. Ikke bekymre deg, dette er veldig relative tall. For eksempel kan et laboratorium på Tanzu Mission Control "løses" i opptil 9 og en halv time når du går hjemmefra. I tillegg, selv om tidtakeren går ut, kan du gå tilbake og gå gjennom alt på nytt.
Bestått laboratoriearbeid #1
For å få tilgang til laboratoriene trenger du en VMware-konto. Etter autorisasjon åpnes et popup-vindu med hovedomrisset av arbeidet. Detaljerte instruksjoner vil bli plassert på høyre side av skjermen.
Etter å ha lest en kort introduksjon til Tanzu, vil du bli invitert til å øve i den interaktive simuleringen av Mission Control.
Et nytt popup-vindu for Windows-maskinen åpnes, og du vil bli bedt om å utføre noen grunnleggende operasjoner:
- opprette en klynge
- konfigurere de grunnleggende parametrene
- oppdater siden og kontroller at alt er riktig konfigurert
- angi retningslinjer og sjekk klyngen
- lage et arbeidsområde
- opprette navneområde
- arbeid med policyene igjen, er hvert trinn forklart i detalj i håndboken
- demo-klyngeoppgradering
Selvfølgelig gir den interaktive simuleringen ikke nok frihet for uavhengige studier: du beveger deg langs skinner som er forhåndslagt av utviklerne.
Lab #2
Her har vi allerede å gjøre med noe mer alvorlig. Dette laboratoriearbeidet er ikke så knyttet til "skinnene" som det forrige og krever mer nøye undersøkelser. Vi vil ikke presentere det her i sin helhet: for å spare tid, vil vi analysere bare den andre modulen, den første er viet til det teoretiske aspektet av arbeidet til Tanzu Mission Control. Hvis du ønsker, kan du gå gjennom det helt på egen hånd. Denne modulen gir oss et dypdykk i cluster-livssyklusadministrasjon gjennom Tanzu Mission Control.
Merk: Tanzu Mission Control laboratoriearbeid oppdateres og foredles jevnlig. Hvis noen skjermer eller trinn avviker fra de nedenfor når du fullfører laboratoriet, følger du instruksjonene på høyre side av skjermen. Vi vil gå gjennom gjeldende versjon av LR i skrivende stund og vurdere nøkkelelementene.
Bestått laboratoriearbeid #2
Etter autorisasjonsprosessen i VMware Cloud Services lanserer vi Tanzu Mission Control.
Det første trinnet laboratoriet foreslår er å distribuere en Kubernetes-klynge. Først må vi få tilgang til Ubuntu VM ved hjelp av PuTTY. Start verktøyet og velg en økt med Ubuntu.
Vi utfører tre kommandoer etter tur:
- lage en klynge:
kind create cluster --config 3node.yaml --name=hol
- laster KUBECONFIG-fil:
export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
- nodeutgang:
kubectl get nodes
Nå må klyngen vi opprettet legges til Tanzu Mission Control. Fra PuTTY går vi tilbake til Chrome, går til Clusters og klikker FEST KLUSTER.
Velg en gruppe fra rullegardinmenyen - standard~~POS=TRUNC, skriv inn navnet foreslått av laboratoriet og klikk REGISTER.
Kopier den mottatte kommandoen og gå til PuTTY.
Vi utfører den mottatte kommandoen.
For å spore fremdriften, kjør en annen kommando: watch kubectl get pods -n vmware-system-tmc
. Vi venter til alle containere har status kjører eller Terminado.
Gå tilbake til Tanzu Mission Control og klikk KONTROLLER TILKOBLING. Hvis alt gikk bra, skal indikatorene for alle sjekker være grønne.
La oss nå opprette en ny gruppe med klynger og distribuere en ny klynge der. Gå til Klyngegrupper og klikk NY KLYNGEGRUPPE. Skriv inn navnet og klikk SKAPE.
Den nye gruppen skal umiddelbart vises i listen.
La oss distribuere en ny klynge: gå til klynger, trykk NY KLYNGE og velg alternativet knyttet til laboratoriearbeidet.
La oss legge til navnet på klyngen, velge gruppen som er tildelt den - i vårt tilfelle, praktiske laboratorier - og distribusjonsregionen.
Det er andre tilgjengelige alternativer når du oppretter en klynge, men det er ingen vits i å endre dem under laboratoriet. Velg konfigurasjonen du trenger og klikk neste.
Noen parametere må redigeres, for å gjøre dette, klikk Rediger.
La oss øke antall arbeidsnoder til to, lagre parametrene og klikk SKAPE.
Under prosessen vil du se en fremdriftslinje som dette.
Etter en vellykket distribusjon vil du se dette bildet. Alle kvitteringer skal være grønne.
Nå må vi laste ned KUBECONFIG-filen for å administrere klyngen ved å bruke standard kubectl-kommandoer. Dette kan gjøres direkte gjennom Tanzu Mission Control-brukergrensesnittet. Last ned filen og fortsett å laste ned Tanzu Mission Control CLI ved å klikke Klikk her.
Velg ønsket versjon og last ned CLI.
Nå må vi få API-tokenet. For å gjøre dette, gå til Min Konto og generer et nytt token.
Fyll ut feltene og klikk GENERERE.
Kopier det resulterende tokenet og klikk FORTSETT. Åpne Power Shell og skriv inn tmc-login-kommandoen, deretter tokenet som vi mottok og kopierte i forrige trinn, og deretter Login Context Name. Velge info logger fra de foreslåtte, region og olympus-default som en ssh-nøkkel.
Vi får navneområder:kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get namespaces
.
Introdusere kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get nodes
for å sikre at alle noder er i status Klar.
Nå må vi distribuere en liten applikasjon i denne klyngen. La oss lage to distribusjoner - kaffe og te - i form av tjenester coffee-svc og tea-svc, som hver lanserer forskjellige bilder - nginxdemos/hello og nginxdemos/hello:plain-text. Dette gjøres som følger.
Gjennom PowerShell gå til nedlastinger og finn filen cafe-services.yaml.
På grunn av noen endringer i API-en, må vi oppdatere den.
Pod Security Policies er aktivert som standard. For å kjøre applikasjoner med privilegier må du koble til kontoen din.
Lag en binding: kubectl --kubeconfig=kubeconfig-aws-cluster.yml create clusterrolebinding privileged-cluster-role-binding --clusterrole=vmware-system-tmc-psp-privileged --group=system:authenticated
La oss distribuere applikasjonen: kubectl --kubeconfig=kubeconfig-aws-cluster.yml apply -f cafe-services.yaml
Vi sjekker: kubectl --kubeconfig=kubeconfig-aws-cluster.yml get pods
Modul 2 er ferdig, du er vakker og fantastisk! Vi anbefaler at du fullfører de resterende modulene, inkludert policyadministrasjon og samsvarskontroller, på egen hånd.
Hvis du ønsker å fullføre denne laboratoriet i sin helhet, finner du den her
Meninger og konklusjoner
Selvfølgelig er det for tidlig å snakke om praktiske problemer med å jobbe med Tanzu. Det er ikke så mange materialer for selvstudier, og i dag er det ikke mulig å sette ut en testbenk for å "pirke" et nytt produkt fra alle kanter. Men selv fra tilgjengelige data kan visse konklusjoner trekkes.
Fordeler med Tanzu Mission Control
Systemet viste seg å være veldig interessant. Jeg vil umiddelbart fremheve noen praktiske og nyttige godbiter:
- Du kan lage klynger gjennom nettpanelet og gjennom konsollen, som utviklere virkelig vil like.
- RBAC-administrasjon gjennom arbeidsområder er implementert i brukergrensesnittet. Det fungerer ikke i laboratoriet ennå, men i teorien er det en flott ting.
- Malbasert sentralisert rettighetsadministrasjon
- Full tilgang til navneområder.
- YAML redaktør.
- Opprette nettverkspolicyer.
- Klyngehelseovervåking.
- Evne til å sikkerhetskopiere og gjenopprette via konsollen.
- Håndtere kvoter og ressurser med visualisering av faktisk utnyttelse.
- Automatisk lansering av klyngeinspeksjon.
Igjen, mange komponenter er for tiden under utvikling, så det er for tidlig å snakke fullt ut om fordeler og ulemper med noen verktøy. Forresten, Tanzu MC, basert på demonstrasjonen, kan oppgradere en klynge på farten og generelt gi hele livssyklusen til en klynge for flere leverandører samtidig.
Her er noen eksempler på "høyt nivå".
Til andres klynge med eget charter
La oss si at du har et utviklingsteam med klart definerte roller og ansvar. Alle er opptatt med sin egen virksomhet og bør ikke engang ved et uhell forstyrre arbeidet til sine kolleger. Eller teamet har en eller flere mindre erfarne spesialister som du ikke ønsker å gi unødvendige rettigheter og friheter. La oss også anta at du har Kubernetes fra tre leverandører samtidig. Følgelig, for å begrense rettighetene og bringe dem til en fellesnevner, må du gå til hvert kontrollpanel en etter en og registrere alt manuelt. Enig, ikke det mest produktive tidsfordriv. Og jo flere ressurser du har, jo mer kjedelig er prosessen. Tanzu Mission Control lar deg administrere avgrensningen av roller fra et "ett vindu". Etter vår mening er dette en veldig praktisk funksjon: ingen vil bryte noe hvis du ved et uhell glemmer å spesifisere de nødvendige rettighetene et sted.
Forresten, våre kolleger fra MTS i bloggen deres
Kompakt arbeid med tømmerstokker
Et annet eksempel fra det virkelige liv er å jobbe med logger. La oss anta at laget også har en tester. En vakker dag kommer han til utviklerne og kunngjør: "en feil har blitt funnet i applikasjonen, vi vil fikse den raskt." Det er naturlig at det første en utvikler vil gjøre seg kjent med er loggene. Å sende dem som filer via e-post eller telegram er dårlig oppførsel og forrige århundre. Mission Control tilbyr et alternativ: du kan angi spesielle rettigheter til utvikleren slik at de bare kan lese logger i et bestemt navneområde. I dette tilfellet trenger testeren bare å si: "det er feil i en slik og en applikasjon, i et slikt og et felt, i et slikt og et navneområde," og utvikleren kan enkelt åpne loggene og være i stand til å lokalisere problemet. Og på grunn av begrensede rettigheter, vil du ikke kunne fikse det med en gang hvis kompetansen din ikke tillater det.
En sunn klynge har en sunn applikasjon.
En annen flott funksjon ved Tanzu MC er klyngehelsesporing. Ut fra foreløpig materiale, lar systemet deg se litt statistikk. For øyeblikket er det vanskelig å si nøyaktig hvor detaljert denne informasjonen vil være: så langt ser alt ganske beskjedent og enkelt ut. Det er overvåking av CPU- og RAM-belastning, statusen til alle komponentene vises. Men selv i en slik spartansk form er det en veldig nyttig og effektiv detalj.
Resultater av
Selvfølgelig, i laboratoriepresentasjonen av Mission Control, under tilsynelatende sterile forhold, er det noen grove kanter. Du vil nok selv legge merke til dem hvis du bestemmer deg for å gå gjennom arbeidet. Noen aspekter er ikke laget intuitivt nok - selv en erfaren administrator må lese manualen for å forstå grensesnittet og dets muligheter.
Men gitt produktets kompleksitet, viktigheten og rollen det vil spille i markedet, viste det seg flott. Det føles som om skaperne prøvde å forbedre brukerens arbeidsflyt. Gjør hvert kontrollelement så funksjonelt og forståelig som mulig.
Alt som gjenstår er å prøve Tanzu på en testbenk for å virkelig forstå alle dens fordeler, ulemper og innovasjoner. Så snart en slik mulighet byr seg, vil vi dele med Habr-lesere en detaljert rapport om arbeidet med produktet.
Kilde: www.habr.com