/ / Le déploiement de la mise à jour échoue lorsque le même nom existe dans des espaces de noms distincts - kubernetes, kubectl

Le déploiement de la mise à jour échoue lorsque le même nom existe dans des espaces de noms distincts - kubernetes, kubectl

J'ai utilisé la commande suivante pour mettre à jour l'image exécutée dans un déploiement:

kubectl --cluster websites --namespace production set image
deployment/mobile-web mobile-web=eu.gcr.io/websites/mobile-web:0.23

Cela a bien fonctionné jusqu'à ce que je crée un espace de noms de transfert reflétant l'environnement de production. En d'autres termes, le déploiement mobile-web existe à la fois dans l'espace de noms de production et de transfert. Maintenant j'obtiens l'erreur:

Error from server: the server could not find the requested resource
(get deployments.extensions mobile-web)

Qu'est-ce que j'oublie ici? Ou est-ce le seul moyen de mettre à jour en utilisant un fichier yaml ou JSON, ce qui signifie un peu plus de travail sur le pipeline CI / CD? J'ai essayé de définir l'espace de noms avec:

kubectl config set-context production --namespace=production --cluster=websites

mais en vain.

Réponses:

1 pour la réponse № 1

La solution à mon problème consistait à tuer le proxy actuel, à obtenir de nouvelles informations d'identification et à redémarrer le proxy:

gcloud container clusters get-credentials websites kubectl proxy --port=8080

Maintenant, les commandes fonctionnent comme prévu:

kubectl get deployment mobile-web --namespace=production kubectl get deployment mobile-web --namespace=staging

Cependant, cela n’explique pas pourquoi il a cessé de fonctionner.