Kako ustvariti CRD v Kubernetesu

Kako Ustvariti Crd V Kubernetesu



V tem članku se naučimo ustvariti CRD v Kubernetesu. V tej vadnici vas bomo vodili, kako ustvariti CRD v Kubernetesu in nato ustvariti krmilnik Kubernetes, ki bo uporabljen za obdelavo zahtev za ustvarjanje primerka CRD. Vsak korak bomo prikazali s pomočjo primerov, da bi vam pomagali popolnoma razumeti delovanje ustvarjanja CRD skupaj z objektom krmilnika za upravljanje CRD v Kubernetesu. Pa začnimo!

Kaj je CRD v Kubernetesu?

CRD je kratica za Custom Resource Definition, ki se uporablja za nove vire brez dodajanja drugega strežnika API. Če želite delati s CRD-ji, vam ni treba razumeti združevanja API-jev. To je zelo zmogljiva funkcija, predstavljena v Kubernetes 1.7, ki bo dobavljena z različnimi vgrajenimi viri in objekti API. Omogoča vam definiranje virov po meri s shemo in imenom po vaši izbiri.

CRD-ji razširjajo zmožnosti API-ja Kubernetes, ki presegajo privzeto namestitev z uporabo definicij virov po meri. Z uporabo CRD-jev lahko vodite Kubernetes na način, ki lahko obravnava več kot le vsebnike. Ustvarite lahko vir po meri po lastni izbiri in ga naredite deklarativnega z uporabo krmilnikov po meri. Zdaj pa se naučimo, kako ustvariti definicijo vira po meri in nato oblikovati krmilnik po meri za nadzor CRD. In potem, kako izbrisati CDR, da vidite njegov vpliv na Kubernetes.







Predpogoj

Preden preidemo na korake ustvarjanja in brisanja CRD, se prepričajmo, da naš sistem izpolnjuje vse zahteve predpogojev.



  • Ubuntu 20.04 ali katera koli druga najnovejša različica za delovanje v okolju Linux/Unix.
  • Grozd Kubernetes.
  • Kubectl CLI za uporabo ukazov kubectl, komunikacijo v gruči in upravljanje razvojnega okolja.
  • minikube ali katero koli drugo igrišče Kubernetes za ustvarjanje gruč

Namestite ta orodja, če jih še niste namestili, preden nadaljujete na naslednji razdelek.



Zdaj bomo prešli na vodnik po korakih o tem, kako ustvariti CRD-je v Kubernetesu.





1. korak: Zaženite Kubernetes

Za delo s CDR-ji morate imeti gručo z vsaj dvema vozliščema Kubernetes, ki ne delujeta kot gostitelja nadzorne ravnine. Za ustvarjanje in uporabo gruče uporabljamo minikube. Torej uporabite spodnji ukaz za zagon minikube:

> zaženi minikube

Ko izvedete ta ukaz, boste dobili podoben izhod kot spodaj:



2. korak: Odprite ali ustvarite konfiguracijsko datoteko

Zdaj, ko je naš minikube pripravljen in deluje, odprimo konfiguracijsko datoteko. Ukaz 'nano' se uporablja za odpiranje konfiguracijskih datotek. Vse kar morate storiti je, da vnesete ime datoteke poleg ukaza nano, ki mu sledi pripona datoteke, in pritisnete enter. Tukaj imamo datoteko 'red.yaml', ki vsebuje podrobnosti konfiguracije za ustvarjanje CRD-jev. Tu je celoten ukaz nano, s katerim lahko odprete želeno datoteko:

> nano red.yaml

Ko izvedete ta ukaz, se bo v vašem terminalu odprla naslednja datoteka:

3. korak: Ustvarite vir končne točke

Konfiguracijski viri so bili shranjeni v red.yaml. To bomo uporabili za ustvarjanje nove končne točke RESTful API v imenskem prostoru. Kubectl ponuja ukaz »uporabi« za ustvarjanje končne točke iz konfiguracijske datoteke. Tu je celoten ukaz »uporabi«, ki se uporablja za ustvarjanje novega API-ja RESTful v imenskem prostoru:

> kubectl uporabite -f red.yaml

Končna točka, ustvarjena s tem ukazom, bo uporabljena za ustvarjanje predmeta po meri, ki bo nadzoroval CRD. Za vir imenskega prostora bo ustvarjen naslednji izhod:

4. korak: Ustvarite predmet po meri za nadzor CRD

CRD-je nadzirajo predmeti po meri. Ustvarimo jih lahko, ko je ustvarjena definicija vira po meri. Objekti po meri vsebujejo polja po meri poljubnega JSON. Za ustvarjanje predmeta po meri ponovno potrebujemo konfiguracijsko datoteko YAML. Z ukazom 'nano' ustvarite konfiguracijsko datoteko YAML:

> nano ct.yaml

Shranite zahtevana polja s posebnimi podrobnostmi v datoteko YAML. Podrobnosti vzorčne konfiguracije so prikazane v spodnjem vzorcu:

Zdaj uporabite isto datoteko YAML za ustvarjanje predmeta po meri. Z ukazom »uporabi« ustvarite predmet po meri iz navedene datoteke YAML. Oglejte si celoten ukaz spodaj:

> kubectl uporabite -f ct.yaml

Po uspešni izvedbi tega ukaza boste dobili naslednji rezultat:

5. korak: Upravljajte CRD s predmetom po meri

Objekti po meri se uporabljajo za upravljanje CRD-jev. Naučimo se torej, kako lahko uporabimo nedavno ustvarjen objekt po meri za upravljanje že ustvarjenega CRD. Tukaj bomo z ukazom 'get' preverili podrobnosti, ki vsebujejo predmet po meri. Oglejte si ukaz, podan v spodnjem delčku kode:

> kubectl pridobi crontab

Ko izvedete ta ukaz v terminalu minikube, bo ustvarjen naslednji izhod:

Če želite preveriti neobdelane podatke v datoteki YAML, lahko uporabite ta ukaz:

> kubectl dobi ct -The yaml

To bo prikazalo neobdelane podatke v datoteki YAML, kot je spodnji vzorec:

Tako lahko ustvarimo CRD in objekt po meri za upravljanje in nadzor ustvarjenega CRD. Zdaj, če želite izbrisati ustvarjeni CRD, lahko sledite spodnjemu postopku.

Kako izbrisati CRD-je, ustvarjene v Kubernetesu?

Ukazi kubectl vam omogočajo brisanje CRD-jev v Kubernetesu. Ko poskusite izbrisati CRD v Kubernetesu, bodo izbrisani tudi viri po meri, povezani z njim. Kubectl ponuja ukaz 'delete' za brisanje katerega koli vira. Spodnji ukaz se uporablja za brisanje CRD, ki smo ga ustvarili v zgornjih korakih:

> kubectl izbrisati -f red.yaml

Po uspešni izvedbi tega ukaza boste dobili naslednji rezultat:

Zdaj, ko so CRD in predmeti po meri, povezani z njim, izbrisani, boste prejeli napako strežnika, če boste poskušali dostopati do njega. Oglejte si spodnji ukaz, kjer poskušamo dostopati do API-ja RESTful v imenskem prostoru:

> kubeclt pridobi crontabs

Ker je bil 'crontabs' izbrisan, bo strežnik prikazal napako za to dejanje. Oglejte si izhod tega ukaza spodaj:

Zaključek

Ta članek je bil hiter pregled, kako ustvariti definicijo vira po meri, kako ustvariti predmet po meri za nadzor CRD-jev in kako izbrisati CRD iz Kubernetesa. S pomočjo vzorčnih primerov smo prikazali vsak korak, da boste lažje in hitro razumeli postopek.