Come creare CRD in Kubernetes

Come creare CRD in Kubernetes
Impariamo a creare il CRD in Kubernetes in questo articolo. In questo tutorial, ti guideremo su come creare CRD in Kubernetes e quindi creare un controller Kubernetes che verrà utilizzato per gestire le richieste di creazione dell'istanza di CRD. Dimostreremmo ogni passaggio con l'aiuto di esempi per aiutarti a capire completamente il funzionamento della creazione del CRD insieme all'oggetto controller per gestire la CRD in Kubernetes. Quindi iniziamo!

Cos'è CRD in Kubernetes?

CRD sta per la definizione delle risorse personalizzate utilizzata per nuove risorse senza aggiungere un altro server API. Per lavorare con CRDS, non devi capire l'aggregazione API. È una caratteristica molto potente introdotta in Kubernetes 1.7 da spedire con varie risorse integrate e oggetti API. Ti consente di definire risorse personalizzate con uno schema e un nome a tua scelta.

I CRD estendono le abilità API di Kubernetes che superano l'installazione predefinita utilizzando le definizioni delle risorse personalizzate. Utilizzando CRDS, puoi guidare Kubernetes in un modo che può gestire più dei semplici contenitori. Puoi creare una risorsa personalizzata di tua scelta e renderla dichiarativa utilizzando i controller personalizzati. Ora, apprendiamo come creare una definizione di risorse personalizzate e quindi progettare un controller personalizzato per controllare il CRD. E poi come eliminare CDR per vederne il suo impatto su Kubernetes.

Prerequisito

Prima di passare alla creazione e alle fasi di cancellazione della CRD, assicuriamoci che il nostro sistema soddisfi tutte le esigenze dei prerequisiti.

  • Ubuntu 20.04 o qualsiasi altra ultima versione per avere un ambiente Linux/Unix per funzionare.
  • Cluster Kubernetes.
  • Kubectl CLI per utilizzare i comandi kubectl, la comunicazione del cluster e gestire l'ambiente di sviluppo.
  • Minikube o qualsiasi altro parco giochi Kubernetes per la creazione di cluster

Installa questi strumenti, se non li hai ancora installati, prima di procedere alla sezione successiva.

Ora passeremo alla guida passo-passo su come creare CRD in Kubernetes.

Passaggio n. 1: avvia kubernetes

Per funzionare con i CDR, è necessario avere un cluster con almeno due nodi Kubernetes che non funzionano come host del piano di controllo. Stiamo usando il minikube per creare e utilizzare il cluster. Quindi, usa il comando indicato di seguito per avviare il minikube:

> Minikube Start

Quando esegui questo comando, otterrai un output simile a quello indicato di seguito:

Passaggio n. 2: aprire o creare un file di configurazione

Ora che il nostro minikube è attivo e in esecuzione, apriamo il file di configurazione. Il comando 'nano' viene utilizzato per aprire i file di configurazione. Tutto quello che devi fare è fornire il nome del file accanto al comando nano seguito dall'estensione del file e premere Invio. Qui, abbiamo il "rosso.File Yaml 'che contiene i dettagli di configurazione per la creazione del CRDS. Ecco il comando Nano completo che puoi utilizzare per aprire il file desiderato:

> Nano rosso.Yaml

Quando si esegue questo comando, il seguente file si aprirà nel tuo terminale:

Passaggio n. 3: crea una risorsa endpoint

Le risorse di configurazione sono state salvate in rosso.Yaml. Lo useremo per creare il nuovo endpoint API riposante spaziato. Kubectl fornisce il comando "Applica" per creare un endpoint da un file di configurazione. Ecco il comando "Applica" completo che viene utilizzato per creare la nuova API RESTful spaziata nomi:

> kubectl applica -f rosso.Yaml

L'endpoint creato da questo comando verrà utilizzato per creare l'oggetto personalizzato che controllerà il CRD. Verrà generato il seguente output per la risorsa spaziata:

Passaggio n. 4: crea un oggetto personalizzato per controllare il CRD

I CRD sono controllati dagli oggetti personalizzati. Possiamo crearli una volta creata la definizione delle risorse personalizzate. Gli oggetti personalizzati contengono i campi personalizzati di JSON arbitrario. Per creare l'oggetto personalizzato, abbiamo nuovamente bisogno di un file di configurazione YAML. Utilizzare il comando 'nano' per creare il file di configurazione YAML:

> Nano Ct.Yaml

Salva i campi richiesti con i dettagli specifici nel file YAML. I dettagli di configurazione del campione sono mostrati nel campione seguente:

Ora, usa lo stesso file YAML per creare l'oggetto personalizzato. Utilizzare il comando "Applica" per creare l'oggetto personalizzato dal file YAML specificato. Vedi il comando completo indicato di seguito:

> kubectl appliche -f ct.Yaml

Al momento dell'esecuzione riuscita di questo comando, otterrai il seguente output:

Passaggio n. 5: gestire il CRD con un oggetto personalizzato

Gli oggetti personalizzati vengono utilizzati per gestire il CRDS. Quindi, apprendiamo come possiamo utilizzare l'oggetto personalizzato recentemente creato per gestire il CRD già creato. Qui, controlleremo i dettagli contenenti l'oggetto personalizzato utilizzando il comando "get". Vedi il comando indicato nello snippet di codice di seguito:

> kubectl prendi crontab

Quando si esegue questo comando nel terminale Minikube, verrà generato il seguente output:

Se si desidera controllare i dati grezzi contenuti nel file YAML, è possibile utilizzare questo comando:

> kubectl get ct -o yaml

Ciò mostrerà i dati grezzi nel file YAML come il campione indicato di seguito:

Ecco come possiamo creare il CRD e un oggetto personalizzato per gestire e controllare il CRD creato. Ora, se si desidera eliminare il CRD creato, puoi seguire la procedura indicata di seguito.

Come eliminare i CRD creati in Kubernetes?

I comandi Kubectl ti consentono di eliminare i CRD in Kubernetes. Quando si tenta di eliminare il CRD in Kubernetes, le risorse personalizzate ad esso sono anche eliminate. Kubectl fornisce il comando "Elimina" per eliminare qualsiasi risorsa. Il comando indicato di seguito viene utilizzato per eliminare il CRD che abbiamo creato nei passaggi sopra:

> kubectl elimina -f rosso.Yaml

Al momento dell'esecuzione riuscita di questo comando, otterrai il seguente risultato:

Ora che il CRD e gli oggetti personalizzati ad esso associati sono stati eliminati, riceverai un errore dal server se si tenta di accedervi. Vedi il comando riportato di seguito dove stiamo cercando di accedere all'API RESTful spaziata nomi:

> kubeclt ottieni crontabs

Poiché i "crontab" sono stati eliminati, il server aumenterà l'errore per questa azione. Vedi l'output di questo comando indicato di seguito:

Conclusione

Questo articolo è stata una rapida panoramica di come creare la definizione delle risorse personalizzate, come creare un oggetto personalizzato per controllare i CRD e come eliminare il CRD da Kubernetes. Con l'aiuto di esempi di esempio, abbiamo dimostrato ogni passaggio per aiutarti a comprendere il processo facilmente e rapidamente.