Qual è la differenza tra kubectl create e kubectl?

Qual è la differenza tra kubectl create e kubectl?
"Kubectl appliche" modifica solo le proprietà specificate nel file nella sorgente stabile esistente. È possibile che il file utilizzato in "Applica" sia un file di specifica incompleto. Solo alcune caratteristiche delle risorse sono interessate da "applicare". È possibile "applicare" un file che modifica semplicemente un'annotazione senza specificare ulteriori caratteristiche delle risorse. "Applica" fornisce una maggiore adattabilità ed è un approccio preferito per l'aggiornamento degli oggetti di produzione: genera nuovi oggetti da file di configurazione se non esistono già, aggiorna gli oggetti esistenti da o più file di configurazione o cartelle e aiuta a sostenere più modifiche di configurazione quando apportate da varie fonti. Il set di operazioni "kubectl applica" viene utilizzato per creare o modificare i servizi Kubernetes specificati in un file manifest dal prompt dei comandi di un terminale. Lo stato della risorsa è definito nel file manifest, quindi Kubectl viene utilizzato per metterlo in azione. Se scegliamo l'opzione Applica, Kubernetes gestirà tutto ciò di cui abbiamo bisogno. Non dobbiamo insegnare o affrontare ogni fase individualmente. Questa è la tecnica dichiarativa, in cui le modifiche apportate a un oggetto live sono "mantenute" anche se vengono apportate altre modifiche all'oggetto.

Kubectl crea

"Kubectl create" cancella le risorse prima di crearle dal file dato. "Crea" utilizza un intero file. "Crea" funziona in base alla proprietà di ogni risorsa. A causa dei metadati mancanti, se si utilizza il file con l'istruzione di sostituzione, l'istruzione interromperà. L'approccio imperativo include la scelta della creazione. Ciò implica che dovremo consigliare al client Kubernetes di condurre le attività necessarie. Di conseguenza, è simile a un approccio guidato dall'utente. Ci riferiamo a kubectl crea come gestione essenziale. Informi l'API di Kubernetes di qualunque cosa tu voglia costruire usando questo metodo. kubectl create è l'istruzione che stai utilizzando per creare una risorsa Kubernetes dal prompt dei comandi. Questa è una domanda necessaria. Riceverai, tuttavia, un'eccezione se la risorsa in precedenza esiste. Esaminiamo i dettagli di entrambi i comandi kubectl. Cominciamo con Kubectl Applica.

Applicazione pratica di implementazione di kubectl

Useremo Ubuntu 20.04 Sistema Linux per l'implementazione pratica del comando Kubectl. Abbiamo installato Minikube per ottenere i servizi di Kubernetes in Ubuntu 20.04 Sistema Linux. Quindi in primo luogo, dobbiamo iniziare Minikube nel nostro Ubuntu 20.04 Sistema Linux.

$ Minikube inizi

Il processo richiederà del tempo. Per quanto rapidamente inizia, puoi procedere oltre. Per comprendere il concetto del comando Kubectl applica, creeremo la distribuzione. Le distribuzioni sono una raccolta di molti baccelli identici senza caratteristiche distintive. Le distribuzioni aiutano a garantire che una o ancora più copie dell'applicazione siano accessibili per servire le richieste dell'utente in questo modo. Per creare un file con. Yaml Extension, eseguire il comando apposto.

$ touch schieramento.Yaml

Il file verrà creato nella home directory; Il suo nome può variare secondo le preferenze dell'utente. Viene mostrato un file manifest per una distribuzione Kubernetes con tre copie di un'immagine del contenitore Nginx. L'abbiamo chiamato "mydeployment" in quanto puoi fare il check nella riga 4 dell'immagine allegata.

Se si esegue il comando sotto, le informazioni di questo file manifest verranno utilizzate per stabilire una distribuzione.

$ kubectl Applica -f distribuzione.Yaml

L'output descrive che la distribuzione è stata formata in modo efficace. Otterrai il seguente output se esegui le seguenti istruzioni elencate:

$ kubectl ottiene l'implementazione

È possibile controllare la distribuzione appena creata nell'immagine sopra attaccata. Abbiamo etichettato questa distribuzione "mydeployment" e ora sta gestendo tre pod.

Implementazione pratica di kubectl crea

Per l'implementazione pratica del comando kubectl create, iniziamo a creare una distribuzione con kubectl. Riceverai il seguente risultato aggiunto se si esegue il comando mostrato nell'immagine allegata.

Dall'output sopra mostrato, capire che otterrai un'eccezione se si tenta di utilizzare Kubectl Crea su una risorsa che si verifica già. Proviamo a usare kubectl create per iniziare a creare una risorsa che non si verifica. In questo scenario, useremo il nome "YourDeployment" per nominare la nostra distribuzione Kubernetes. Useremo il seguente comando per effettuare la distribuzione:

$ kubectl crea distribuzione il tuo doyployment --image = nginx

Se tutto va bene, avrai l'output mostrato nell'immagine allegata.

Facciamo alcune modifiche alla distribuzione iniziale che abbiamo fatto: "MyDeployment". L'immagine mostra come farlo modificando il file manifest, "Distribuzione.Yaml ". Come visto nell'immagine allegata (riga n. 8), le repliche sono state sollevate da 3 a 4.

Per modificare la distribuzione da 3 a 4 repliche, eseguire il comando Kubectl APPLICA come segue:

$ kubectl Applica -f distribuzione.Yaml

La distribuzione è stata completata, secondo l'output. Ciò indica che è stata apportata una modifica a una distribuzione esistente. Per convalidare che la distribuzione gestisce veramente quattro pod, utilizzare il seguente set Kubectl Ottieni la distribuzione. Di conseguenza otterrai qualcosa di simile:

$ kubectl ottiene l'implementazione

Conclusione

In questo articolo, la dissomiglianza tra kubectl si applica e kubectl creata è stata spiegata in dettaglio insieme a esempi pratici. kubectl crea può solo essere eliminato per fare una nuova risorsa dichiaratamente. Dall'altro lato, è possibile utilizzare Kubectl Applicare per indicare una nuova risorsa Kubernetes per utilizzare un file manifest utilizzando Kubectl Applica. Aggiornando la configurazione nel file manifest fornito, è possibile utilizzare kubectl applicare per modificare una risorsa esistente. Spero che non avrai dubbi su questa guida.