288 votes

Comment changer d'espace de nom dans Kubernetes ?

Disons que j'ai deux espaces de noms, k8s-app1 et k8s-app2.

Je peux lister tous les pods d'un espace de nom spécifique en utilisant la commande suivante

kubectl get pods -n <namespace>

Nous devons ajouter namespace à toutes les commandes pour lister les objets des espaces de noms respectifs. Existe-t-il un moyen de définir un espace de noms spécifique et de lister les objets sans inclure explicitement l'espace de noms ?

1 votes

Bonjour kubectl config set-context --help Vous cherchez peut-être

8voto

Ben555 Points 61

J'ai créé une fonction dans .zshrc

ksns() { kubectl config set-context --current --namespace="$1" }

Puis j'appelle ksns default

1voto

Vérifiez https://krew.sigs.k8s.io/ Ils disposent de nombreux plugins pour différents cas d'utilisation.

Pour l'installation https://krew.sigs.k8s.io/docs/user-guide/setup/install/

kubectl krew install kubens

puis après l'exécution, la commande suivante définira le contexte actuel pour vous

kubens <namespace>

-2voto

Jeff Tian Points 133

Une solution

npm install -g k8ss

k8ss switch --namespace=your_namespace
kubectl get pods

TLDR ; Explication comme demandé

Il existe un paquet npm appelé k8ss qui signifie K8S Switching between clusters and namespaces .

L'utilisation complète est

k8ss switch --cluster=your_new_cluster --namespace=your_new_namespace

Comme dans votre cas, vous n'avez besoin que de changer d'espace de nom, vous pouvez donc utiliser la commande sans aucune configuration (puisque vous avez déjà placé un fichier de configuration dans le répertoire ~/.kube/config ).

Utilisation avancée

Si vous devez basculer entre différents clusters, vous devez placer plusieurs fichiers de configuration dans votre répertoire personnel. Dans ce cas, vous pouvez aller dans le paquet README pour en savoir plus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X