Hvordan lage CRD i Kubernetes

Hvordan lage CRD i Kubernetes
La oss lære å lage CRD i Kubernetes i denne artikkelen. I denne opplæringen vil vi veilede deg om hvordan du oppretter CRD i Kubernetes og deretter opprette en Kubernetes -kontroller som vil bli brukt til å håndtere forespørsler om forekomst av CRD. Vi vil demonstrere hvert trinn ved hjelp av eksempler for å hjelpe deg med å forstå fullstendig å lage CRD sammen med kontrollerobjektet for å håndtere CRD i Kubernetes. Så la oss begynne!

Hva er CRD i Kubernetes?

CRD står for tilpasset ressursdefinisjon som brukes til nye ressurser uten å legge til en annen API -server. For å jobbe med CRDS, trenger du ikke forstå API -aggregering. Det er en veldig kraftig funksjon introdusert i Kubernetes 1.7 som skal sendes med forskjellige innebygde ressurser og API-objekter. Det lar deg definere tilpassede ressurser med et skjema og navn du ønsker.

CRDS utvider Kubernetes API -evner som overskrider standardinstallasjonen ved å bruke de tilpassede ressursdefinisjonene. Ved å bruke CRDS, kan du veilede Kubernetes på en måte som kan håndtere mer enn bare containere. Du kan opprette en tilpasset ressurs etter eget valg og gjøre det deklarativ ved å bruke de tilpassede kontrollerne. La oss nå lære å lage en tilpasset ressursdefinisjon og deretter designe en tilpasset kontroller for å kontrollere CRD. Og hvordan du sletter CDR for å se dens innvirkning av det på Kubernetes.

Forutsetning

Før vi går videre til CRD -oppretting og slettingstrinn, la oss sørge for at systemet vårt oppfyller alle behovene til forutsetningene.

  • Ubuntu 20.04 eller noen annen siste versjon for å ha et Linux/Unix -miljø å jobbe.
  • Kubernetes Cluster.
  • Kubectl CLI for å bruke Kubectl -kommandoer, klyngekommunikasjon og administrere utviklingsmiljøet.
  • Minikube eller noen annen Kubernetes lekeplass for å lage klyngene

Installer disse verktøyene, hvis du ikke har installert dem ennå, før du fortsetter til neste avsnitt.

Nå vil vi gå videre til trinn-for-trinn-guiden for hvordan du lager CRDS i Kubernetes.

Trinn 1: Start Kubernetes

For å jobbe med CDR -er, må du ha en klynge med minst to Kubernetes -noder som ikke fungerer som kontrollplanverter. Vi bruker Minikube for å lage og bruke klyngen. Så bruk kommandoen gitt nedenfor for å starte Minikube:

> Minikube Start

Når du utfører denne kommandoen, vil du få en lignende utdata som den som er gitt nedenfor:

Trinn 2: Åpne eller opprett en konfigurasjonsfil

Nå som Minikube er i gang, la oss åpne konfigurasjonsfilen. Kommandoen 'Nano' brukes til å åpne konfigurasjonsfilene. Alt du trenger å gjøre er å oppgi filnavnet ved siden av Nano -kommandoen etterfulgt av filtypen og trykk Enter. Her har vi de 'røde.YAML '-fil som inneholder konfigurasjonsdetaljene for å opprette CRDS. Her er den komplette Nano -kommandoen du kan bruke til å åpne ønsket fil:

> Nano rød.Yaml

Når du utfører denne kommandoen, åpnes følgende fil i terminalen din:

Trinn 3: Opprett en endepunktressurs

Konfigurasjonsressursene er lagret i det røde.Yaml. Vi vil bruke det for å lage det nye navneområdet RESTful API -endepunktet. Kubectl gir 'Apply' -kommandoen for å opprette et sluttpunkt fra en konfigurasjonsfil. Her er den komplette 'Apply' -kommandoen som brukes til å opprette den nye navnefeltet RESTful API:

> Kubectl gjelder -f rød.Yaml

Endepunktet opprettet av denne kommandoen vil bli brukt til å lage det tilpassede objektet som vil kontrollere CRD. Følgende utgang vil bli generert for den navneområdet ressurs:

Trinn 4: Lag et tilpasset objekt for å kontrollere CRD

CRDS styres av de tilpassede objektene. Vi kan opprette dem når den tilpassede ressursdefinisjonen er opprettet. De tilpassede objektene inneholder de tilpassede feltene til vilkårlig JSON. For å opprette det tilpassede objektet, trenger vi igjen en YAML -konfigurasjonsfil. Bruk 'Nano' -kommandoen for å opprette YAML -konfigurasjonsfilen:

> Nano Ct.Yaml

Lagre de nødvendige feltene med de spesifikke detaljene i YAML -filen. Prøvekonfigurasjonsdetaljene vises i prøven nedenfor:

Bruk nå den samme YAML -filen for å opprette det tilpassede objektet. Bruk kommandoen 'Bruk' for å opprette det tilpassede objektet fra den spesifiserte YAML -filen. Se den komplette kommandoen gitt nedenfor:

> Kubectl gjelder -f CT.Yaml

Ved vellykket utførelse av denne kommandoen vil du få følgende utdata:

Trinn 5: Administrer CRD med et tilpasset objekt

De tilpassede objektene brukes til å administrere CRDS. Så la oss lære hvordan vi kan bruke det nylig opprettede tilpassede objektet for å administrere den allerede opprettet CRD. Her skal vi sjekke detaljene som inneholder det tilpassede objektet ved å bruke 'Get' -kommandoen. Se kommandoen gitt i kodebiten nedenfor:

> Kubectl Få crontab

Når du utfører denne kommandoen i Minikube -terminalen, genereres følgende utgang:

Hvis du vil sjekke rå dataene i YAML -filen, kan du bruke denne kommandoen:

> kubectl få ct -o yaml

Dette vil vise rå data i YAML -filen som prøven nedenfor:

Slik kan vi lage CRD og et tilpasset objekt for å administrere og kontrollere den opprettede CRD. Nå, hvis du vil slette den opprettede CRD, kan du følge prosedyren gitt nedenfor.

Hvordan slette CRDS opprettet i Kubernetes?

Kubectl -kommandoene lar deg slette CRDS i Kubernetes. Når du prøver å slette CRD i Kubernetes, vil de tilpassede ressursene knyttet til den også bli slettet. Kubectl gir kommandoen 'slett' for å slette enhver ressurs. Kommandoen gitt nedenfor brukes til å slette CRD som vi har laget i trinnene over:

> Kubectl slett -f rød.Yaml

Ved vellykket utførelse av denne kommandoen får du følgende resultat:

Nå som CRD og de tilpassede objektene som er knyttet til det, er slettet, vil du få en feil fra serveren hvis du prøver å få tilgang til den. Se kommandoen gitt nedenfor hvor vi prøver å få tilgang til den navneområdet RESTful API:

> Kubeclt Få contabs

Siden 'crontabs' er blitt slettet, vil serveren øke feilen for denne handlingen. Se utgangen fra denne kommandoen gitt nedenfor:

Konklusjon

Denne artikkelen var en rask oversikt over hvordan du oppretter den tilpassede ressursdefinisjonen, hvordan lage et tilpasset objekt for å kontrollere CRDS, og hvordan du sletter CRD fra Kubernetes. Ved hjelp av eksempler på eksempler demonstrerte vi hvert trinn for å hjelpe deg med å forstå prosessen enkelt og raskt.