Что такое Kubernetes?

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

Описание Kubernetes

Современные приложения все чаще создаются с применением контейнеров — микрослужб, укомплектованных зависимостями и конфигурациями. Kubernetes (сокращенно k8s) — это программное обеспечение с открытым кодом для развертывания таких контейнеров и управления ими в нужном масштабе. Kubernetes сокращает время сборки, поставки и масштабирования контейнерных приложений.

Простая схема изучения Kubernetes

Как работает Kubernetes

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

Также есть возможность координировать целый кластер виртуальных машин и планировать запуск контейнеров на таких виртуальных машинах в зависимости от доступных вычислительных ресурсов и потребностей каждого контейнера в таких ресурсах. Контейнеры объединяются в объекты pod (основная единица операций в Kubernetes), которые можно масштабировать до нужного состояния.

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

Подробнее об основах Kubernetes

Как работает Kubernetes

Зачем использовать Kubernetes?

Портативный, масштабируемый и расширяемый метод внедрения контейнерных сред.

Переносимость

Легко переносите контейнерные нагрузки с локальных компьютеров разработки в производство. Добивайтесь слаженной оркестрации контейнеров в различных средах локальной инфраструктуры, общедоступных и гибридных облаков.

Масштабируемость

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

Возможности расширения

Получите доступ к широкой, постоянно растущей коллекции расширений и подключаемых модулей от разработчиков и компаний, составляющих сообщество Kubernetes. Служба Kubernetes позволяет использовать эти возможности и добавлять такие функции, как обеспечение безопасности, мониторинг и управление.

Помимо Kubernetes

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

An enterprise-grade platform with end-to-end development, operations and security control experience can save you time on infrastructure management and roll out updates faster without compromising security and reliability.

Гибкое масштабирование с использованием Kubernetes и DevOps

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

Ускорение доставки кода за счет непрерывной интеграции и непрерывного развертывания (CI/CD)

Контейнеры служат единым форматом упаковки приложений и упрощают совместную работу для команд разработчиков и операторов, а CI/CD может ускорить переход от кода к контейнеру и в кластер Kubernetes до считанных минут за счет автоматизации этих задач.

Настройка CI/CD для Kubernetes

Эффективное управление ресурсами за счет инфраструктуры в виде кода

Инфраструктура в виде кода способствует единообразию и улучшает видимость вычислительных ресурсов для всех команд, а значит, уменьшает вероятность человеческой ошибки. Эта практика хорошо сочетается с декларативным характером приложений Kubernetes на платформе Helm. Подобная комбинация позволяет определять приложения, ресурсы и конфигурации надежным, контролируемым и повторяемым образом.

Развертывание кластера Kubernetes с использованием Terraform

Ускорение цикла обратной связи за счет постоянного мониторинга

Неизменяемые контейнеры, частые выпуски и абстрагированный слой оркестрации требуют мониторинга и при этом усложняют контроль. Чтобы сократить промежуток времени между возникновением и устранением ошибок, необходимо видеть полную картину своих ресурсов, кластера, API Kubernetes, контейнеров и кода, начиная с мониторинга работоспособности контейнера и заканчивая централизованными журналами. Это позволяет избегать дефицита ресурсов, отслеживать злонамеренные запросы и поддерживать работоспособность приложений Kubernetes.

См., как работает аналитика контейнеров в режиме реального времени

Уравновешивание скорости и защиты с помощью DevOps

Рабочий процесс DevOps включает встроенную функцию мониторинга в режиме реального времени. Применяйте проверки соответствия и перенастройки автоматически и, таким образом, защищайте свою сборку и конвейер выпуска, а значит, и свое приложение Kubernetes.

Непрерывное обеспечение безопасности в действии

Пример рабочего процесса DevOps на базе Kubernetes

  1. 1Мгновенная итерация, тестирование и отладка различных частей приложения в одном и том же кластере Kubernetes.
  2. 2Внедрение кода в репозиторий GitHub для непрерывной интеграции и его проверка. Запуск автоматической сборки и тестирования в рамках непрерывной поставки.
  3. 3Проверка источника и целостности образов контейнеров. До прохождения сканирования образы находятся на карантине.
  4. 4Оснащение кластеров Kubernetes такими средствами, как Terraform. Terraform устанавливает чарты Helm, которые определяют желаемое состояние ресурсов и конфигураций приложения.
  5. 5Применение политик для регулирования развертывания к кластеру Kubernetes.
  6. 6Конвейер выпуска автоматически выполнит предустановленную стратегию развертывания для каждого кода.
  7. 7Добавление проверки и автоматического исправления политик в конвейер CI/CD. Например, создавать объекты pod в вашей среде Kubernetes может только конвейер выпуска.
  8. 8Включение телеметрии приложения, мониторинга работоспособности контейнера и анализа журналов в режиме реального времени.
  9. 9Устранение проблем с аналитическими сведениями и планирование следующего спринта.

Используйте возможности Azure Kubernetes

Автоматизируйте подготовку, обновление, мониторинг и масштабирование, используя полностью управляемую службу Microsoft Azure Kubernetes (AKS). Бессерверная служба Kubernetes — это простой переход от разработки к производству, а также защита и управление корпоративного уровня.

Подробнее об AKS

Kubernetes — это общее достояние

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

35,000
Соавторы
180,000
Фиксации
Ведущий проект
на GitHub

Программное обеспечение с открытым исходным кодом специально для предприятий

Чтобы упростить внедрение платформы Kubernetes для организаций и ее использование для разработчиков, корпорация Майкрософт всего за три года втрое увеличила число сотрудников, участвующих в проекте с открытым исходным кодом. В настоящее время Майкрософт является третьим по величине корпоративным спонсором и стремится сделать платформу Kubernetes более удобной и доступной для предприятий, делясь с сообществом Kubernetes новыми знаниями и лучшими методиками, полученными в результате работы с различными клиентами.

Часто задаваемые вопросы о Kubernetes

Ресурсы

Просмотрите видео об AKS, а также вебинары Azure по запросу, включающие демонстрации, описание основных функций и технические доклады.

Kubernetes уже к вашим услугам — бесплатно на Azure