Рубрики
Uncategorized

# 040 Kubernetes — развертывание лаборатории 2

Введение Это часть 40 из путешествия, это длительное путешествие (360 день), так что иди, пожалуйста … Теги с Куберанетами, DevOps, учебником.

Это часть 40 из путешествия Это длительное путешествие (360 день), поэтому иди, пожалуйста, проверьте предыдущие части, и если вам нужно идти в путешествие со мной, пожалуйста, обязательно следите, потому что я могу опубликовать более раз в 1 день Но, безусловно, я буду публиковать ежедневно хотя бы один 😍.

И я покрою много инструментов, когда мы движемся дальше.

сначала давайте удалите все, что мы сделали до сих пор

kubectl delete deployment myapp-deployment
kubectl delete rs myapp-replicaset

Давайте воссоздать новый контейнер с нуля, будет организован на моем доке. Это же старая Но теперь нам нужно сделать несколько редактиров к изображению. Вот как мы можем построить и нажать в Dockerhub. Я собираюсь построить их как теги 1.0 и 2.0 1.0 так же, как старый, 2.0 будет иметь некоторые изменения на изображении. Таким образом, мы видим, как переключиться между двумя версиями. Это не мой API, поэтому у него нет файла составляющего докера. Мы можем добавить один, но Meh, давайте просто построим его без Docker-Compose, потому что это не имеет большого отношения к этому.

Если у вас уже есть папка DEVOPS, просто потяните ее, и вы получите новые файлы. Если не пойти и клонировать репо

Теперь после нашего изображения с тегом 1.0 и 2.0 мы можем начать. Вам не нужно их построить, потому что я уже делаю, они находятся на моем HUB Docker Hub, как правило, просто следуйте шагам, Kubernetes скачат их для вас, когда вы запустите файл YML.

Сначала давайте посмотрим, что имеем в папке сегодняшней лаборатории V1 и V2, содержат исходный код простых API, V2 имеют разное сообщение, чем V1, который будет показан. app_040_v1.yml app_040_v2.yml — это Kubernetes Configs, единственная разница между 1 и 2 Это версия в изображении здесь посмотреть на V1

Давайте создадим наше развертывание сейчас.

kubectl create -f app_040_v1.yml --record

Вы знаете процесс от более старой части, он собирается создать 6 стручек и … сделать перерыв, пока создается стручки

kubectl get pods

Все мои стручки готовы, поэтому мы приятно двигаться дальше

kubectl port-forward deployments/myapp-deployment 8080

Этот трюк начнет наше приложение, 8080 — это порт, который мы указываем в исходном коде. Теперь мы можем видеть в браузере, у нас наш V1 работает.

kubectl apply -f app_040_v2.yml

Вот как мы обновляем версию от V1 на V2

kubectl describe deployments myapp-deployment

Здесь мы видим, у нас новая версия 2.0

kubectl port-forward deployments/myapp-deployment 8080

Теперь давайте пойдем в браузер и обновите нашу страницу и посмотрите, что произойдет. Вуаля У нас сейчас V2 Live!

Я редактирую приложение в этой лаборатории, момент между фиксацией и клиентом см. Обновления — инженер DEVOPS. В продвинутых частях, когда мы толкаем наш код, все эти вещи будут автоматизированы, это называется спорным интеграцией и спорным доставкой как ярлык CI/CD. В нашем случае задача будет после совершения, которую он отправит версию в Docker Hub, затем Kubernetes справится с новым изображением. Автоматизация здесь будет описана в скрипте, написанном вами (DevOps). В основном это ядро дежопа.

Допустим, теперь нам не нравится эта версия, нам нужно откатиться к V1. Давайте посмотрим на историю и решите, что нам нужно откатиться

kubectl rollout history deployment/myapp-deployment

Мне нужна редакция 1, поэтому я вернусь к нему, используя:

kubectl rollout undo deployment/myapp-deployment --to-revision 1

Теперь давайте проверим, какую версию это

kubectl describe deployments myapp-deployment

Здесь мы можем увидеть, теперь версия вернулась к 1

kubectl port-forward deployments/myapp-deployment 8080

Теперь давайте пойдем в браузер и обновите нашу страницу и посмотрите, что произойдет. Это старая версия снова!

Оригинал: «https://dev.to/elkhatibomar/040-kubernetes-deployment-lab-2-306»