Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Собирайте комбинации из блоков! Бесконечный режим, более 100 уровней, ежедневные задания и турниры.

Расслабьтесь и отдохните: игра без ограничений по времени.

Проверьте свою смекалку: головоломка для любителей

Блоки Судоку - расслабляющая головоломка

Головоломки, Гиперказуальные, Мобильная

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

DevOps + Kubernetes

С этим тегом используют

IT IT юмор Программирование Linux Программист Юмор Сисадмин Все
16 постов сначала свежее
9
AppFox
AppFox
1 месяц назад

Kubernetes в продакшене: основные понятия и вопросы на собеседовании⁠⁠

Меня зовут Александр, я CTO компании AppFox. Мы более 10 лет занимаемся заказной разработкой и также имеем собственные продукты.

В этой статье мы рассмотрим, что такое Kubernetes, в каких случаях его использование оправдано, и разберем вопросы, которые вы можете встретить на собеседованиях.

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Что такое Kubernetes простыми словами?

Разберем на примере интернет-магазина с тремя серверами:

  1. Сервер №1 – основной (принимает заказы).

  2. Сервер №2 – база данных (хранит товары и пользователей).

  3. Сервер №3 – бекенд для API (обрабатывает платежи).

Проблема:

  • В Чёрную пятницу приходит в 10 раз больше покупателей. В результате, сервера №1 и №3 падают от нагрузки, магазин "висит".

  • Сервер №2 (база данных) ломается, а все заказы теряются.

  • Чтобы добавить новые сервера, админ вручную копирует настройки, что занимает часы.

Решение при помощи Kubernetes.

Те же 3 сервера, но теперь они управляются Kubernetes.

  1. Автомасштабирование

    • При наплыве покупателей Kubernetes автоматически запускает дополнительные копии серверов №1 и №3.

    • Когда нагрузка падает – лишние сервера отключаются.

  2. Отказоустойчивость

    • Если сервер №2 (база данных) упал, Kubernetes сразу переключает нагрузку на его резервную копию.

    • Покупатели даже не замечают проблемы.

  3. Гибкие обновления

    • Вы хотите обновить API (сервер №3).

    • Kubernetes делает это без downtime:

      • Запускает новые версии API, переключает трафик на них и останавливает старые.

  4. Экономия денег

    • Ночью, когда магазин почти не используют, Kubernetes отключает часть серверов.

    • Утром – снова включает.

Что это даёт бизнесу?

  • Магазин не "падает" в пиковые нагрузки (Чёрная пятница, распродажи).

  • Нет потери заказов – если что-то сломалось, система сама всё починит.

  • Быстрые обновления – можно выпускать новые фичи без остановки магазина.

  • Экономия на серверах – не нужно держать "лишние" мощности.

Kubernetes: мощный инструмент, но не серебряная пуля

Kubernetes — это система оркестрации контейнеров, которая помогает управлять масштабируемыми и отказоустойчивыми приложениями.

Термин k8s является синонимом Kubernetes и означает 8 букв между первой и последней буквой. Да, программисты любят сокращения :)

Примерно с 2018 года мы наблюдаем устойчивый тренд: Kubernetes стал синонимом «правильной» продакшн-инфраструктуры. И это не случайно. Он действительно решает множество проблем, связанных с управлением микросервисами, масштабированием, отказоустойчивостью и обновлением без простоев.

Когда Kubernetes оправдан:

  • Микросервисная архитектура с большим количеством сервисов.

  • Необходимость автоматического масштабирования под нагрузку.

  • Высокие требования к отказоустойчивости.

  • Гибкость деплоя (Canary, Blue-Green, A/B-тестирование).

Когда Kubernetes — избыточное решение:

  • Монолитное приложение с низкой нагрузкой.

  • Маленькие проекты без потребности в масштабировании.

  • Стартапы с ограниченным бюджетом.

  • Проект для демо или MVP, в которых планируется масштабирования только после получения инвестиций

  • Команда не готова к сложности k8s (обучение и поддержка требуют ресурсов).

В компании AppFox мы используем Kubernetes при построения кластеров для мультиплеерных игр и проектов со сложной микросервисной архитектурой. В частности, мы его использовали при разработке решений для СберБанка и Банка ВТБ.

Основные понятия Kubernetes

  • Pod — минимальная единица развертывания (может содержать один или несколько контейнеров).

  • Deployment — декларативное описание желаемого состояния приложения.

  • Service — абстракция для доступа к подам (ClusterIP, NodePort, LoadBalancer).

  • Ingress — управление внешним трафиком (роутинг, SSL).

  • ConfigMap & Secret — хранение конфигураций и чувствительных данных.

  • PersistentVolume (PV) & PersistentVolumeClaim (PVC) — работа с постоянным хранилищем.

  • Helm — менеджер пакетов для k8s (чарты).

Вопросы по Kubernetes на собеседовании

Теперь самое интересное — какие вопросы задают кандидатам в зависимости от их уровня.

Для backend-разработчика

Что такое контейнер и зачем нужен Docker?

  • Контейнер - это изолированное окружение для запуска приложений со всеми зависимостями.

  • Docker - платформа для создания и управления контейнерами.

Разница между Docker и Kubernetes

  • Docker создает контейнеры

  • Kubernetes управляет множеством контейнеров на разных серверах.

Как работает kubectl get pods? Что выведет эта команда?

Команда показывает список подов (pods) - минимальных единиц развертывания в k8s. Вывод включает имя пода, статус, количество рестартов и возраст.

Что такое Deployment и зачем он нужен?

Это объект k8s для декларативного управления подами. Позволяет:

  • Разворачивать приложения

  • Обновлять их (rolling update)

  • Возвращаться к предыдущим версиям (rollback)

  • Масштабировать количество реплик

Как приложение в k8s получает конфигурацию (ConfigMap, Secrets)?

  • ConfigMap хранит конфигурации (например, настройки приложения)

  • Secrets - чувствительные данные (пароли, токены). Они монтируются в поды как файлы или переменные окружения.

Что такое Pod, Deployment и Service?

  • Pod — это минимальная единица в Kubernetes

  • Deployment управляет жизненным циклом Pod'ов

  • Service предоставляет сетевой доступ.

Как подать переменные окружения в Pod?

Через env, envFrom, ConfigMap, Secret.

Что произойдет, если Pod упал?

Kubernetes сам его перезапустит — важно понимать работу контроллеров.

Для Junior DevOps

Как создать под с помощью kubectl?

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Как посмотреть логи пода?

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Как работает Service? Какие типы сервисов знаете?

Абстракция для доступа к набору подов. Типы:

  • ClusterIP (внутренний IP)

  • NodePort (порт на каждой ноде)

  • LoadBalancer (внешний балансировщик)

  • ExternalName (CNAME-запись)

Как обновить приложение в k8s (стратегии деплоя)?

  • RollingUpdate (постепенная замена подов)

  • Recreate (удаление всех старых перед созданием новых)

Что делает kubelet и kube-proxy?

  • kubelet - агент на нодах, запускает и контролирует контейнеры

  • kube-proxy - обеспечивает сетевую связность между сервисами

Как создать кластер Kubernetes?

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост
Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост
Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Как подключить volume к Pod'у?

Volume (том) в Kubernetes позволяет сохранять данные между перезапусками Pod'ов. Есть несколько типов томов, но для постоянного хранения данных используются PersistentVolume (PV) и PersistentVolumeClaim (PVC).

  • PersistentVolume — это ресурс в кластере, представляющий физическое хранилище (например, диск в облаке или NFS-шару). PV создаётся администратором кластера и существует независимо от Pod'ов.

  • PersistentVolumeClaim — запрос Pod'а на выделение PV. PVC связывается с подходящим PV (или динамически создаёт его, если настроен StorageClass). PVC монтируется в Pod как volume. Если не хочется создавать PV вручную, можно использовать StorageClass для автоматического создания томов.

Чем отличается Horizontal Pod Autoscaler от Vertical Pod Autoscaler?

  • HPA масштабирует количество Pod'ов на основе метрик нагрузки (увеличивает или уменьшает число реплик (replicas) Deployment'а в зависимости от, например, CPU или памяти, т.е., нагрузка выросла — добавили ещё Pod'ов).

  • VPA изменяет ресурсы (CPU, память) у контейнеров внутри Pod'а

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Для Middle DevOps

Как настроить Ingress для доступа к сервису?

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост
Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Как сделать Horizontal Pod Autoscaler (HPA)?

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост
Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Как управлять ресурсами (requests/limits)?

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Как настроить PersistentVolume для stateful-приложения?

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Как диагностировать проблему с CrashLoopBackOff?

  1. Посмотреть логи пода

  2. Проверить readiness/liveness пробы

  3. Убедиться, что контейнеру хватает ресурсов

  4. Проверить монтирование томов

  5. Изучить события кластера:kubectl describe pod <pod-name>kubectl get events

Для Senior DevOps

Как настроить NetworkPolicy для изоляции подов?

Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост
Kubernetes в продакшене: основные понятия и вопросы на собеседовании IT, Разработка, Системное администрирование, Программирование, Программист, Kubernetes, Интервью, Собеседование, DevOps, Серверная, Оптимизация, Длиннопост

Как работает etcd и что делать при его проблемах?

Распределенное key-value хранилище - "мозг" Kubernetes. Проблемы и решения:

  • Недостаток места: регулярная дефрагментация

  • Высокая задержка: оптимизация сети

  • Потеря кворума: восстановление из бэкапа

Как настроить мониторинг (Prometheus + Grafana)?

  1. Установка Prometheus Operator

  2. Настройка ServiceMonitor для сбора метрик

  3. Создание Grafana дашбордов

  4. Настройка алертов через Alertmanager

Как организовать multi-cluster управление?

Варианты:

  • Kubefed (Federation v2)

  • Cluster API

  • Коммерческие решения (GKE Anthos, EKS Anywhere)
    Основные задачи: синхронизация ресурсов, единая аутентификация, централизованное логирование.

Как оптимизировать costs в облачном k8s (автоскейлинг нод)?

  • Использование spot-инстансов

  • Автомасштабирование нод (Cluster Autoscaler)

  • Вертикальное масштабирование подов (VPA)

  • Планирование подов на дешевые ноды (node affinity/taints)

  • Использование serverless-решений (AWS Fargate, GCP Cloud Run)

Заключение: Kubernetes — мощный инструмент, но не панацея

Kubernetes действительно стал стандартом для оркестрации контейнеров в современных облачных и гибридных средах. Он решает ключевые задачи: масштабируемость, отказоустойчивость и автоматизацию деплоя. Однако его внедрение требует взвешенного подхода — не каждый проект нуждается в такой сложности.

Главный совет:

  • Если у вас микросервисы, высокая нагрузка или требовательная инфраструктура — Kubernetes может стать вашим решением.

  • Если проект небольшой или монолитный — начните с простых решений (Docker Compose, managed-сервисов) и масштабируйтесь постепенно.

Попробуйте Kubernetes в действии:

  • Разверните локальный кластер через minikube или kind.

  • Поэкспериментируйте с Helm-чартами и автоскейлингом.

  • Изучите managed-решения (GKE/EKS/AKS), чтобы оценить их преимущества.

Показать полностью 15
[моё] IT Разработка Системное администрирование Программирование Программист Kubernetes Интервью Собеседование DevOps Серверная Оптимизация Длиннопост
3
elena.davydova
2 месяца назад

Deckhouse Conf 2025: как прошла первая техническая конференция от команды Deckhouse⁠⁠

Масштабная технологическая конференция объединила свыше 500 ведущих специалистов в области DevOps, Kubernetes и платформенной разработки

Deckhouse Conf 2025: как прошла первая техническая конференция от команды Deckhouse Импортозамещение, Kubernetes, Российское по, Разработка, Промышленность, Информационная безопасность, Программирование, It-инфраструктура, IT, DevOps, ВКонтакте (ссылка), Длиннопост

Deckhouse Conf 2025 - первая техническая конференция команды разработчиков Deckhouse

Компания «Флант» провела Deckhouse Conf 2025 — первую техническую конференцию, организованную командой разработчиков Deckhouse, которая состоялась в Центре событий РБК. Событие объединило более 500 ведущих специалистов в области DevOps, Kubernetes и платформенной разработки.

Deckhouse Conf 2025 стала площадкой для обмена опытом и обсуждения актуальных вопросов Cloud Native-разработки. Программа конференции включала доклады, посвященные практическим аспектам работы с Kubernetes, информационной безопасности, мониторингу, DevOps и SRE. Участники узнали о последних обновлениях продуктов Deckhouse, планах развития Deckhouse Kubernetes Platform и получили ценные рекомендации по оптимизации инфраструктуры и повышению эффективности процессов разработки.

Deckhouse Conf 2025: как прошла первая техническая конференция от команды Deckhouse Импортозамещение, Kubernetes, Российское по, Разработка, Промышленность, Информационная безопасность, Программирование, It-инфраструктура, IT, DevOps, ВКонтакте (ссылка), Длиннопост

Александр Титов, генеральный директор компании «Флант»

«2024 год для Deckhouse Kubernetes Platform стал периодом стремительного развития — платформа показала рост выручки на 170%, а к началу 2025 года количество управляемых кластеров превысило 1000. Согласно исследованию TAdviser, объём российского рынка коммерческих платформ контейнеризации в 2023 году составил 931 млн рублей с учётом выручки от лицензий и поддержки OnPremise-решений. В этом сегменте платформа Deckhouse Kubernetes Platform от компании «Флант» уверенно занимает лидирующие позиции с долей рынка 31%», —  рассказал Александр Титов, генеральный директор компании «Флант».

Технологическая дорожная карта Deckhouse Kubernetes Platform в 2024 году была направлена на расширение поддерживаемых вычислительных сред и наращивание функциональности. Главным требованием при добавлении новых возможностей и внесении изменений являлось сохранение достигнутой производительности и объема потребляемых ресурсов. На текущий момент крупнейшая промышленная инсталляция DKP насчитывает более 450 узлов и свыше 20000 подов.

Deckhouse Conf 2025: как прошла первая техническая конференция от команды Deckhouse Импортозамещение, Kubernetes, Российское по, Разработка, Промышленность, Информационная безопасность, Программирование, It-инфраструктура, IT, DevOps, ВКонтакте (ссылка), Длиннопост

Давид Мэгтон, технический директор, сооснователь компании «Флант»

«Kubernetes перестал быть просто инструментом — теперь это новый стандарт для управления инфраструктурой, — отметил Давид Мэгтон, технический директор, сооснователь компании «Флант». — Но с ростом технических возможностей повышается и сложность управления ими. Наша миссия состоит в том, чтобы разорвать эту связь и обеспечить простоту разработки. Поэтому основой развития DKP является подход SDx (Software Defined Everything), поверх которого строится “правильный” API».

Давид Мэгтон выделил пять главных принципов, на основе которых происходит развитие API DKP. Первый – декларативный подход: пользователь задает правила, по которым система выполняет необходимые операции с использованием собственных механизмов. Второй – одна точка изменения того или иного параметра в API, обеспечивающая простоту использования. Третий – единообразие: применение единых подходов и терминов для всех инструментов управления в экосистеме. Четвертый – защита от неправильного использования: автоматическое ограничение нерабочих комбинаций параметров конфигураций. Пятый – обратная связь на любое действие пользователя.

Deckhouse Conf 2025: как прошла первая техническая конференция от команды Deckhouse Импортозамещение, Kubernetes, Российское по, Разработка, Промышленность, Информационная безопасность, Программирование, It-инфраструктура, IT, DevOps, ВКонтакте (ссылка), Длиннопост

В DKP реализованы такие подходы, как исправление возникающих ошибок уже на ранних этапах разработки; фокус на создании долгосрочных решений; готовность к постоянным изменениям в создаваемом решении. Они являются важными факторами, гарантирующими возможность применения платформы для построения цифровых продуктов и Cloud Native систем.

«Мы помогаем бизнесу управлять приложениями и ресурсами. Наша платформа знает, что нужно приложению, и может динамически подстраиваться под нагрузку — давать больше или меньше ресурсов: процессора, памяти и так далее. В этом преимущество DKP: платформу можно использовать  в окружении с разными и меняющимися нагрузками. Это не коробка, в которой ничего нельзя поменять — это открытая платформа, которая развивается в такт с потребностями заказчика, обеспечивая непрерывные обновления и интеграцию с другими системами, чтобы новые возможности появлялись без долгого ожидания и приносили максимум пользы. Вся индустрия движется к этому подходу, и мы задаем тренд», — подчеркнул Александр Титов.

Таким образом, развитие DKP имеет свои особенности, но идет в соответствии с трендами эволюции всей экосистемы Kubernetes. Сегодня решение успешно применяется во всех ключевых секторах экономики: финансовые организации, государственный сектор, промышленные предприятия,  ритейл и e-come выбирают Deckhouse Kubernetes Platform для своих цифровых инфраструктур. Платформа одинаково эффективно работает в любых средах — от bare-metal серверов до сложных гибридных архитектур, подтверждая свою репутацию наиболее универсального и надёжного решения для контейнеризации на российском рынке.

Фото Deckhouse conf доступно по ссылке

Показать полностью 4
Импортозамещение Kubernetes Российское по Разработка Промышленность Информационная безопасность Программирование It-инфраструктура IT DevOps ВКонтакте (ссылка) Длиннопост
0
Stravnik
Stravnik
1 год назад

Kubernetes, создание и управление Deployments – K8s. Часть 3⁠⁠

Сегодня предлагаю разобрать следующий по списку объект Kubernetes, а именно Deployment.

Создание и управление Deployments

Команда для создания deployment выглядит так:

kubectl create deployment DEPLOYMENT_NAME --image IMAGE_NAME

Чтобы посмотреть список созданных deployment:

kubectl get deployments

Как и у Pods, у deployments есть команда для отображения подробной информации:

kubectl describe deployments DEPLOYMENT_NAME

Для скейлинга деплоймента можно использовать такую команду:

kubectl scale deployment DEPLOYMENT_NAME --replicas NUM_OF_REPLICAS

Для проверки, что команда сработала вводим:

kubectl get pods

После скейлинга можно посмотреть параметр replica set:

kubectl get rs

Эта команда выводит информация о количестве подов, которые должны быть запущены в деплойменте.

И теперь, если вы удалите Pod, то он автоматически перезапустится. Таким образом Deployment всегда будет поддерживать количество работающих подов, которое было указано при скейлинге.

Так же можно сделать автоскейлинг:

kubectl autoscale deployment DEPLOYMENT_NAME --min=MIN_NUM_REPLICS --max=MAX_NUM_REPLICAS --cpu-percent=CPU_PERCENT_NUM

Команда для проверки:

kubectl get hpa

Deployment также можно создать с помощью YAML файла. С минимально необходимым YAML файлом вы можете ознакомиться в моем GitHub`е.

И для запуска deployment через yaml файл используется вот такая команда:

kubectl apply -f FILE_NAME.yaml

Для удаления deployment есть команда delete:

kubectl delete deployments DEPLOYMENT_NAME

Обновление Docker Image в Deployment

Посмотреть историю обновлений:

kubectl rollout history deployment/DEPLOYMENT_NAME

Команда для обновления вот такая:

kubectl set image deployment/DEPLOYMENT_NAME CONTAINER_NAME=UPDATED_CONTAINER_NAME --record

Для просмотра статуса обновления:

kubectl rollout status deployment/DEPLOYMENT_NAME

А как откатить последнее выполненное обновление? Легко:

kubectl rollout undo deployment/DEPLOYMENT_NAME

Можно откатиться на любую ревизию:

kubectl rollout undo deployment/DEPLOYMENT_NAME --to-revision=REVISION_NUM

Как обновиться, если вместо версии вы ранее указали latest? Вот так:

kubectl rollout restart deployment/DEPLOYMENT_NAME

Обсудить эту заметку можно в нашем Телеграм канале: https://t.me/devops_spb_ru (@devops_spb_ru)

Показать полностью
[моё] DevOps Kubernetes IT Текст
0
Партнёрский материал Реклама
specials
specials

А сколько у вас?⁠⁠

Вы когда-нибудь считали, сколько экономите с вашим кешбэком и скидками? Предлагаем провести небольшие вычисления (потому что считать выгоду всегда приятно).

Реклама Реклама. ПАО «Банк ВТБ», ИНН: 7702070139

Калькулятор Выгода
Stravnik
Stravnik
1 год назад

Главные объекты Kubernetes и работа с Pod – K8s. Часть 2⁠⁠

Главные объекты K8s

  • Pod – объект в котором работают один или больше Docker контейнеров

  • Deployment – сэт одинаковых подов, нужен для Auto scaling и для обновления Docker image, держит минимальное количество работающих подов

  • Service – предоставляет доступ к Deployment через: ClusterIP, NodePort, LoadBalance или ExternalName

  • Nodes – сервера где все это работает

  • Cluster – логическое объединение нодов

И сегодня мы поговорим про Pod.

Создание и управление Pods

kubectl run POD_NAME --image=IMAGE_NAME --port=PORT

Эта команда создаст pod с именем POD_NAME из Docker image с именем IMAGE_NAME и откроет на этом поде порт с номеров PORT. Но есть и второй вариант создания пода:

kubectl apply -f FILE_NAME.yaml

Данная команда создаст файл на основании yaml файла. С минимально необходимым yaml файлом вы можете ознакомиться в моем GitHub`е.

Для вывода списка созданных подов можно использовать следующую команду:

kubectl get pods

Как удалить Pod? Очень просто, для этого есть команда:

kubectl delete pods POD_NAME

Окей, мы создали под, что дальше? А дальше у нас есть следующие команды для работы с Pods:

kubectl describe pods POD_NAME

Данная команда выведет подробнейшую информацию о поде с именем POD_NAME. Тут вы можете увидеть имя ноды на которой запущен данный под, ip адреса, какие volume приаттачены к контейнеру и так далее.

kubectl exec POD_NAME CMD_NAME

Данная команда запускает команду CMD_NAME внутри пода POD_NAME. Для примера:

kubectl exec -it POD_NAME sh

Запустит шелл в интерактивном режиме (ключ -it).

kubectl logs POD_NAME

Данная команда выведет логи пода с именем POD_NAME.

kubectl port-forward POD_NAME LOCAL_PORT:REMOTE_PORT

Данная команда пробросит порт с вашего локального компьютера (LOCAL_PORT) на порт (REMOTE_PORT) пода с именем POD_NAME.

В следующих статьях мы посмотрим на такие объекты k8s как Deployment и Service.

Обсудить эту заметку можно в нашем Телеграм канале: https://t.me/devops_spb_ru (@devops_spb_ru)

Показать полностью
[моё] Linux DevOps Kubernetes Текст
2
Stravnik
Stravnik
1 год назад

Основы Kubernetes для DevOps – K8s. Часть 1⁠⁠

Что такое Kubernetes?

K8s – это opensource проект разработанный Google на языке Go, изначально разрабатывался для своих же приложений. Первая версия вышла в 2014 году. Kubernetes предназначен для контейнеризированных приложений.

Прежде чем изучать Kubernetes я рекомендую ознакомиться с темой про Docker!

Основные «фишки» Kubernetes:

  • Автоматизация развертывания приложений

  • Автоматизация масштабирования приложений

  • Автоматизация управления приложениями

Из чего состоит K8s?

Основной компонент Kubernetes это Cluster.

Вы создаете Kubernetes Cluster состоящий из Nodes.

Nodes существуют двух типов:

  • Worker Node – сервер на котором запускаются и работают контейнеры.

  • Master Node – сервер который управляет Worker Nodes.

Когда вы запускаете команды управления, они всегда посылаются на Master Node. Напрямую с Worker Node вы не взаимодействуете.

Чуть подробнее про Nodes

На Kubernetes Master Node работают три главных процесса k8s:

  • kube-apiserver

  • kube-controller-manager

  • kube-scheduler

На Kubernetes Worker Node работают два главных процесса k8s:

  • kubelet

  • kube-proxy

Kubernetes Cluster

Обычно в Kubernetes кластере запущена одна Master нода (две и более нод используют для высокодоступных вариантов кластера) и одна Worker нода. Это самый минимальный набор для кластера.

Что может k8s и почему он популярен

  • Service discovery and load balancing. Вы запустили один Docker контейнер в k8s кластере. K8s дает вам доступ к этому Docker контейнеру через ip адрес, через определенный порт на любой Worker через определенный порт на любой Worker ноде или через DNS имя, также если вы запустили несколько копий вашего Docker контейнера, то k8s сделает load balancing между этими контейнерами.

  • Storage orchestration. Вы можете присоединить любой локальный диск или диск из AWS, GCP или Azure к одному или нескольким Docker контейнерам.

  • Automated rollouts and rollbacks. Автоматическое обновление на новую версию Docker Image или возврат на предыдущую версию.

  • Automatic bin packing. Вы создаете k8s кластер, где Kubernetes может запускать Docker контейнеры. Вы указываете сколько процессоров и оперативной памяти нужно каждой копии этих контейнеров, а k8s уже сам решит на каких Worker Node их лучше запускать.

  • Self-healing. Вы указываете сколько копий Docker контейнеров вам нужно и если с контейнером что-то произошло (завис, просто не отвечает и т.д.), то k8s это исправляет.

  • Secret and configuration management. K8s позволяет вам хранить «секреты», например пароли или любую секретную информацию все ваших приложений в Docker контейнере.

На этом тезисное знакомство с кубером можно считать законченным. В следующих заметках мы будем поднимать локальный k8s кластер, создавать Docker Images и еще раз пройдемся по основным понятиям k8s.

Обсудить эту заметку можно в нашем Телеграм канале: https://t.me/devops_spb_ru (@devops_spb_ru)

Показать полностью
[моё] Linux DevOps Kubernetes IT Текст
8
Pikinka
2 года назад

Coredns не резолвит имена с частного dns сервера⁠⁠

Coredns не хочет резолвить имена с моего dns сервера, dnsutils пингует сервер, так же могу сделать nslookup name ip_dns_server, все проходит(серверкластер видит, может ходить, если заставить так, однако по-умолчанию он не видит имена на моем dns, в гугл ходит нормально ), но изнутри пода dig не резолвит имя даже, что может быть за прикол, кластер чистый, ставил через kubespray, что это может быть такое,спасибо за помощь

Kubernetes DevOps Текст
4
2
paiwin.mitya
2 года назад

И правда, какое же?⁠⁠

И правда, какое же?
[моё] Юмор IT юмор IT DevOps Kubernetes
7
Партнёрский материал Реклама
specials
specials

Раз проценты, два проценты⁠⁠

Звучит приятно, если речь о выгоде и начисленном кешбэке. Сделали самый приятный калькулятор, который считает исключительно выгоду!

Реклама Реклама. ПАО «Банк ВТБ», ИНН: 7702070139

Калькулятор Выгода
9
Barm0leykin
Barm0leykin
2 года назад
Лига Сисадминов

Что гуглят девопсы⁠⁠

Забавный запрос получился)

Краткий перевод: Ок, гугл, как по-быстрому к куберу подключить диск?

Что гуглят девопсы IT, DevOps, Google, Поисковые запросы, Kubernetes, Amazon
[моё] IT DevOps Google Поисковые запросы Kubernetes Amazon
5
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии