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.
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.