Hvordan bruke Kubectl Dry Run

Hvordan bruke Kubectl Dry Run
Deklarativ formasjonsstyring, også kalt konfigurasjon-som-kode, er Kubernetes 'hovedstyrke. Dette tilbyr brukere å sette den foretrukne statusen til klyngen, gi en vei til forskjellige former og forbedre revisjon og mekanisering over rørledningen. Det kan være "server" eller "klient". Klienttilnærmingen skriver ut ganske enkelt de rettede elementene uten å dirigere dem. Serverstrategien er å dirigere krav til serversiden uten å beholde ressurser. Det er fremdeles noen mangler ved å oppnå en kontinuerlig deklarativ praksis med Kubernetes. Kompilatoren og Linter identifiserer feil på kodetrekkforespørselen, men mangler riktig validering av Kubernetes -konfigurasjonsmappen. Den nåværende løsningen er å utføre kommandoen 'Kubectl Apply Dry Run', som utfører et lokalt tørrløp og ikke kommuniserer med serveren. Det er ingen servergodkjenning, og den kan ikke gå gjennom valideringstilgangskontrolleren. For eksempel blir navn på kunderessurser først bekreftet på serveren, så det er ubrukelig å kjøre lokal tørrkjøring. Å vite hvordan et objekt blir brukt av en server kan være tøft av flere grunner.

Forutsetninger:

For å kjøre kommandoene i Kubernetes, må vi installere Ubuntu 20.04. Her bruker vi Linux -operativsystemet for å utføre Kubectl -kommandoene. Nå installerer vi Minikube -klyngen for å kjøre Kubernetes i Linux. Minikube tilbyr en ekstremt jevn forståelse da den gir en effektiv modus for å teste kommandoene og applikasjonene.

La oss se hvordan du bruker Kubectl Dry Run:

Start Minikube:

Etter å ha installert Minikube -klyngen, starter vi Ubuntu 20.04. Nå må vi åpne en terminal for å kjøre kommandoene. For dette formålet trykker vi på kombinasjonen av 'Ctrl+Alt+T' fra tastaturet.

I terminalen skriver vi kommandoen 'Minikube Start', og etter dette venter vi en stund til den blir effektivt startet. Utgangen fra denne kommandoen er gitt under.

Når du oppdaterer et gjeldende element, sender Kubectl bare lappen, ikke det komplette objektet. Å skrive ut en hvilken som helst gjeldende eller original vare i tørrkjøringsmodus er ikke helt riktig. Resultatet av kombinasjonen ville bli skrevet ut.

Applikasjonslogikk på serversiden må være tilgjengelig på klientsiden for Kubectl for å være i stand til å nøyaktig imitere resultatene av applikasjonen, men dette er ikke målet.

Den eksisterende innsatsen er fokusert på å påvirke applikasjonslogikken til serveren. Etter da har vi lagt muligheten til å tørke på serversiden. KUBECTL Bruk tørrkjøring utfører det nødvendige arbeidet ved å produsere utfallet av Apply Merge fratatt å faktisk opprettholde det.

Kanskje vi oppgraderer flagghjelp, gir et varsel hvis tørrkjøring brukes når du vurderer elementer som bruker Apply, dokumenter Dry-Runs grenser og bruker serveren Dry-Run.

Kubectl diff skal være like samme som Kubectl gjelder. Det viser forskjellene mellom kildene i filen. Vi kan også bruke det valgte diff -programmet med miljøvariabelen.

Når vi bruker Kubectl til å bruke tjenesten på en tørrkjørt klynge, ser resultatet ut som formen for tjenesten, ikke utdataene fra en mappe. Det returnerte innholdet må omfatte lokale ressurser.

Konstruer en YAML -fil ved hjelp av den kommenterte tjenesten og relatere den til serveren. Endre merknadene i filen og utfør kommandoen 'Kubectl Apply -f -dry -run = client'. Utgangen viser observasjoner på serversiden i stedet for modifiserte merknader. Dette vil autentisere YAML -filen, men ikke konstruere den. Kontoen vi bruker for validering har den forespurte lesetillatelsen.

Dette er et eksempel der -dry -run = klient er ikke passende for det vi tester. Og denne spesielle tilstanden sees ofte når flere mennesker tar CLI -tilgang til en klynge. Dette er fordi ingen ser ut til å hele tiden huske å bruke eller opprette filer etter feilsøking av en applikasjon.

Denne Kubectl -kommandoen leverer en kort observasjon av ressursene som er lagret av API -serveren. Tallrike felt blir frelst og skjult av Apiserver. Vi kan bruke kommandoen med ressursutfallet for å generere våre formasjoner og kommandoer. For eksempel er det vanskelig å oppdage et problem i en klynge med mange navneområder og plasseringer; Følgende forekomst bruker imidlertid RAW API for å teste alle distribusjoner i klyngen og har en mislykket kopi. Filtrer ganske enkelt distribusjonen.

Vi utfører kommandoen 'Sudo Snap Install Kube-Apisererver' for å installere Apisererver.

Dry-run på serversiden aktiveres gjennom funksjonelle porter. Denne funksjonen vil bli hjulpet som standard; Imidlertid kan vi aktivere/deaktivere det ved å bruke kommandoen "'Kube-Apisererver -Feature-Gates DRYRUN = TRUE'.

Hvis vi bruker en dynamisk tilgangskontroller, må vi fikse den på følgende måter:

  • Vi eliminerer alle bivirkninger etter å ha spesifisert tørrkjørte begrensninger i en webhook-forespørsel.
  • Vi oppgir eiendelsfeltet til varen for å spesifisere at varen ikke har noen bivirkninger under tørrkjøring.

Konklusjon:

Den forespurte rollen avhenger av tillatelsesmodulen som samtykker til tørrkjøringen i kontoen for å etterligne dannelsen av et Kubernetes-vare uten å omgå rollen som skal vurderes.

Dette er absolutt utenfor beskrivelsen av den nåværende rollen. Som vi vet, blir ingenting dannet/fjernet/lappet i kommisjonen som er om handlingene som er utført i klyngen. Imidlertid lar vi også dette skille mellom -dry -run = server og -dry -run = ingen utgang for kontoene. Vi kan bruke Kubectl Apply -server-tør-run for å aktivere en funksjon fra Kubectl. Dette vil utdype etterspørselen gjennom det tørrkjørte flagget og gjenopprette varen.