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