Kubectl Ottieni elenco di spazi dei nomi

Kubectl Ottieni elenco di spazi dei nomi
Kubernetes consentono vari cluster virtuali supportati da un singolo cluster fisico noto come spazi dei nomi in kubernetes. In Kubernetes, l'oggetto dello spazio dei nomi divide sostanzialmente un singolo cluster in più cluster virtuali. Inoltre, consente di diviso le risorse fisiche in gruppi logicamente nominati e consente a un cluster Kubernetes di condividere risorse con diversi gruppi.

In questo articolo, saranno discusse le capacità, le limitazioni, come impostare gli spazi dei nomi e come ottenere un elenco di spazi dei nomi. Cominciamo con la definizione degli spazi dei nomi kubectl.

Cosa sono gli spazi dei nomi kubectl?

Uno spazio dei nomi kubectl è un oggetto in kubernetes che divide un singolo cluster di kubernetes fisico in più cluster virtuali. Ogni oggetto dello spazio dei nomi definisce i limiti per i nomi inclusi con esso. In altre parole, ogni oggetto dello spazio dei nomi nel cluster ha un'identità univoca che è l'oggetto fondamentale e viene utilizzato per separare e amministrare i cluster di Kubernetes.

Gli spazi dei nomi Kubectl vengono utilizzati per distinguere e allocare logicamente le risorse a un programma, un team, un'applicazione, un gruppo di utenti specifici. L'efficienza delle risorse può essere potenziata utilizzando spazi dei nomi perché un cluster viene utilizzato per più raccolte di carichi di lavoro.

Ora andiamo avanti e vediamo come ottenere un elenco di spazi dei nomi e ciò che il prerequisito deve essere soddisfatto.

Prerequisito:

Per utilizzare gli spazi dei nomi Kubernetes, il cluster minikube deve essere installato. Nel nostro caso, Ubuntu 20.04 viene utilizzato per eseguire i comandi dell'oggetto dello spazio dei nomi. Vengono utilizzate due diverse tecniche per avviare un terminale di cluster minikube. La prima tecnica è accedere al terminale utilizzando la barra dell'applicazione del sistema operativo. La seconda tecnica è accedere alla finestra terminale premendo Ctrl+Alt+T.

Dopo aver acceduto alla finestra del terminale, avviare il minikube utilizzando il comando Minikube Start. Quando viene eseguito il comando "Minikube Start", verrà visualizzato il seguente output:

Ora vediamo come e quando usare gli spazi dei nomi kubectl.

Come usare gli spazi dei nomi kubectl?

L'oggetto nomi Kubernetes fornisce un meccanismo per separare il gruppo di risorse in un cluster. Il nome di ogni risorsa deve essere univoco in uno spazio dei nomi ma non attraverso gli spazi dei nomi. Tuttavia, l'ambito di spazi dei nomi è applicabile solo per oggetti dello spazio dei nomi come servizi e distribuzioni, ma non per oggetti a livello cluster come volumi persistenti, nodi, classi di archiviazione, ecc.

Per elencare gli spazi dei nomi esistenti in un comando cluster "kubectl get space". Dopo aver eseguito il comando, verrà generato il seguente output:

Osserva che l'oggetto Kubernetes inizia con quattro spazi dei nomi iniziali: predefinito, kube-node-loca.

Predefinito: Spazio dei nomi per oggetti senza altro oggetto.

Kube-node-location: Contiene un oggetto di locazione associato a tutti i nodi.

Kube-Public: Viene creato automaticamente e può essere leggibile da utenti sia autenticati che non autenticati.

Kube-System: È creato dal sistema di Kubernetes.

Come impostare lo spazio dei nomi per una richiesta?

Il flag "-namesApace" viene utilizzato per impostare lo spazio dei nomi per una richiesta. Ecco il codice per impostare lo spazio dei nomi per una richiesta:

Dopo aver eseguito il comando "Kubectl Esegui Nginx", il server ha lanciato l'errore perché esiste già il pod Nginx. Tuttavia, eseguiamo il comando Get Pod per ottenere gli spazi dei nomi. Il comando "kubectl get pods" viene eseguito per ottenere gli spazi dei nomi. Di seguito puoi vedere il risultato del comando get pods.

Come impostare le preferenze per gli spazi dei nomi kubectl?

Gli spazi dei nomi per tutti i successivi comandi Kubectl possono essere salvati permanentemente utilizzando il comando set-context. Ecco il comando per impostare lo spazio dei nomi "predefinito". Si noti che '-namespace = default' è fornito per impostare la preferenza di kubectl su default.

Allo stesso modo, il comando "Visualizza" deve essere eseguito per visualizzare lo spazio dei nomi. Vedi il codice qui sotto:

La relazione tra DNS e spazi dei nomi

Quando viene creato un servizio, viene creata anche la sua corrispondente voce DNS. La voce DNS fornisce il nome del servizio, il nome dello spazio dei nomi e il cluster locale, il che significa che se un contenitore utilizza semplicemente il nome del servizio, si connetterà allo spazio dei nomi del cluster locale.

Ciò diventa utile durante la distribuzione della stessa configurazione su vari spazi dei nomi come produzione, stadiazione e sviluppo. Quando gli utenti devono raggiungere attraverso gli spazi dei nomi, devono specificare il nome di dominio completamente qualificato (FQDN).

Oggetti che non sono la parte dello spazio dei nomi:

L'oggetto o le risorse di Kubernetes fanno parte di alcuni nomi, i.e., Controller di replica, servizi, baccelli, ecc. Tuttavia, l'oggetto dello spazio dei nomi non fa parte di nessun spazio dei nomi. Inoltre, i volumi, i nodi e altre risorse di basso livello non fanno parte di nessun spazio dei nomi.

Per vedere quali risorse sono in uno spazio dei nomi e quali risorse non sono in nessun spazio dei nomi, viene utilizzato il comando delle risorse API. Vedi il codice qui sotto.

Quando gli spazi -names sono impostati su "true", mostrerà i nomi della parte delle risorse di alcuni nomi. D'altra parte, quando gli spazi -names sono impostati su "falsi", mostrerà il nome di quelle risorse che non sono in nessuno degli spazi dei nomi. Il "Kubectl API -Resource -NamesPace = Namespace Preference" viene utilizzato per vedere le risorse dello spazio dei nomi.

Come puoi osservare nelle uscite sopra indicate, vengono date le preferenze vere e false per vedere quale risorsa è in alcuni nomi e quale non lo è.

Conclusione:

Questo articolo riguarda la gestione di sistemi complicati come Kubernetes può essere una grande sfida anche per gli utenti esperti. Tuttavia, una forte conoscenza e il comando di uno spazio dei nomi possono rendere molto più semplice compiti impegnativi e complicati. Uno spazio dei nomi è uno strumento potente che definisce la gerarchia, le prestazioni e la sicurezza del sistema Kubernetes.