Основные команды для работы с kubernetes
Выполнение команды в одиночном и мультиконтейнерном pod`е.
Выполнение команды в одиночном и мультиконтейнерном pod`е.
$ kubectl exec -it имя_пода -- команда
$ kubectl exec -it имя_пода -c имя_контейнера -- команда🔥2
Kubernetes-вопрос. В чем разница stateful и stateless?
Если говорить применительно к приложениям, то Stateful-приложение — это то, которое сохраняет данные при работе как состояние внутри себя. Примером могут быть сессии пользователей, которые хранятся на сервере. Ответ на запрос пользователя зависит от состояния сессии.
Такие приложения сложнее масштабировать горизонтально: чтобы развернуть несколько экземпляров, нужно переносить состояния на новые машины и синхронизировать их.
Stateless — любой запрос к приложению уникален, а его ответ не зависит от какого-либо состояния приложения. Stateless-приложения легко масштабируются горизонтально, упрощают автоматизированное тестирование, так как нет состояния, которое нужно воспроизводить.
Такие приложения сложнее масштабировать горизонтально: чтобы развернуть несколько экземпляров, нужно переносить состояния на новые машины и синхронизировать их.
Stateless — любой запрос к приложению уникален, а его ответ не зависит от какого-либо состояния приложения. Stateless-приложения легко масштабируются горизонтально, упрощают автоматизированное тестирование, так как нет состояния, которое нужно воспроизводить.
👍8
Основные команды для работы с kubernetes
Перенаправление портов (в целях диагностики).
Перенаправление портов (в целях диагностики).
$ kubectl port-forward имя_пода порт_хоста:порт_пода👍4
Kubernetes-вопрос. Какую функцию выполняет ReplicaSet?
Задача ReplicaSet (RS) — поддерживать работу определенного количества экземпляров подов в кластере Kubernetes. Это базовый строительный блок Kubernetes, который используется для запуска Stateless-приложения. RS часто используется для обеспечения доступности приложения. Если какие-то из подов покрашатся, то Kubernetes с помощью RS автоматически запускает новые экземпляры подов, чтобы заменить вышедшие из строя. Без RS пришлось бы их запускать вручную. Тем самым RS помогает сохранить приложение доступным для пользователей.
Без какой директивы Dockerfile не будет построен?
Anonymous Quiz
8%
EXPOSE
18%
ENTRYPOINT
68%
FROM
6%
CMD
👍7❤1👎1
Основные команды для работы с kubernetes
Работа с кастомными namespace.
Работа с кастомными namespace.
$ kubectl create namespace имя_ns
$ kubectl run имя_пода --image=образ -n имя_ns --dry-run=client -o yaml > имя_файла.yaml🔥1
Kubernetes-вопрос. Как в Kubernetes сделать приложение доступным извне по сети интернет?
Для этого нужно будет настроить сервисы (Services).
ClusterIP — сущность, которая позволяет маршрутизировать запросы к подам на статичный IP-адрес. Благодаря ClusterIP у нас будет неизменная точка входа, даже если сами поды будут крашиться и восстанавливаться снова.
NodePort делает сервис доступным извне через статический порт на каждом узле кластера. Любой трафик, отправленный на этот порт, будет перенаправлен на сервис. При этом ClusterIP создается автоматически.
LoadBalancer публикует сервис вовне и заводит трафик от балансировщика облачного провайдера внутрь кластера.
External name сопоставляет сервис с DNS-именем (например, example.com ). Он создает CNAME-запись, которая соединяет DNS-имя с определенным именем внутри кластера. Выступает как прокси, которое позволяет пользователю перенаправлять запросы сервису, находящемуся внутри или за пределами кластера.
ClusterIP — сущность, которая позволяет маршрутизировать запросы к подам на статичный IP-адрес. Благодаря ClusterIP у нас будет неизменная точка входа, даже если сами поды будут крашиться и восстанавливаться снова.
NodePort делает сервис доступным извне через статический порт на каждом узле кластера. Любой трафик, отправленный на этот порт, будет перенаправлен на сервис. При этом ClusterIP создается автоматически.
LoadBalancer публикует сервис вовне и заводит трафик от балансировщика облачного провайдера внутрь кластера.
External name сопоставляет сервис с DNS-именем (например,
❤1
Какой концепцией описывается процесс непрерывной поставки (Continuous Delivery)?
Anonymous Quiz
48%
Автоматический релиз приложения в production после успешного прохождения тестов
8%
Ручной релиз приложения в production после проверки изменений
3%
Развертывание приложения в облачной среде
42%
Использование инструментов для автоматизации сборки и развертывания
👎4👏1
Continuous delivery.
Практика непрерывных
апдейтов
Автор: Вольф Эберхард
Год издания: 2018
#devops #ru
Скачать книгу
Практика непрерывных
апдейтов
Автор: Вольф Эберхард
Год издания: 2018
#devops #ru
Скачать книгу
❤6👍1👎1
Основные команды для работы с kubernetes
Создание\удаление исполняемых задач и просмотр их статуса.
Создание\удаление исполняемых задач и просмотр их статуса.
$ kubectl create job имя_задачи --image=образ -- команда
$ kubectl get jobs
$ kubectl delete job имя_задачиКакая опция позволяет использовать шифрование для хранения секретных данных в Ansible?
Anonymous Quiz
2%
ansible-pull
85%
ansible-vault
4%
ansible-doc
8%
ansible-config
❤2
Kubernetes-вопрос. За что отвечает StatefulSet?
StatefulSet управляет развертыванием и масштабированием группы подов, но при этом он дает возможность сохранять состояние и характеристики подов.
Например, если нужно, чтобы поды запускались в определенном порядке, на тех же нодах, чтобы при каждом запуске у каждого было хранилище (PVC) или какие-то специальные сетевые идентификаторы, используют StatefulSet.
Обычно он используется для запуска подов с очередями сообщений, брокеров и БД.
Например, если нужно, чтобы поды запускались в определенном порядке, на тех же нодах, чтобы при каждом запуске у каждого было хранилище (PVC) или какие-то специальные сетевые идентификаторы, используют StatefulSet.
Обычно он используется для запуска подов с очередями сообщений, брокеров и БД.
👍2