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 № 1La 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.