docker #nginx #kubernetes #kubernetes-pod #nginx-ingress
#docker #nginx #kubernetes #kubernetes-pod #nginx-вход
Вопрос:
Я новичок в работе с docker и kubernetes, и у меня есть некоторые проблемы в среде моей компании, чтобы что-то сохранить.
Моя среда работает на EKS, и мне нужно перенаправить URL-адрес на моем входном контроллере NGINX, но я не смог сохранить свои изменения в среде. Я попытался обновить правила в моем nginx.conf и отправить новый образ docker для развертывания в моем pod с помощью kubectl set image. Новый образ был применен, когда я запустил модуль описания kubectl для моего развертывания и моего модуля, но изменения не сработали, ничего не изменилось.
Есть ли другой способ обновить изображение pods в kubernetes?
Комментарии:
1. Как вы обычно развертываете программное обеспечение? Я бы ожидал, что развертывание
image:
обычно будет предоставляться системой непрерывного развертывания или чем-то проверенным в исходном дереве; вы не будете использоватьkubectl set image
, поскольку оно будет перезаписано следующей сборкой.
Ответ №1:
- Если ваше определение pod встроено в ресурс развертывания, вы можете запустить
kubectl set image
на уровне развертывания, тогда ресурс «Deployment» позаботится о текущем обновлении новой версии. - Если вы используете pod без развертывания, вам необходимо создать свой pod заново:
ns=my-namepsace # change it as per your namespace pd=my-pod-name # change it as per your pod name, .. then: kubectl -n $ns get pod $pd -o yaml | kubectl -n $ns replace -f-