Trace Id is missing
Пропустить и перейти к основному содержимому

Что такое Kubernetes?

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

Описание Kubernetes


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

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

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

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

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

Посмотрите, как работает Kubernetes
Посмотрите, как работает Kubernetes
Вернуться ко вкладкам

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

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

Переносимость рабочих нагрузок

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

Простое масштабирование контейнеров

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

Создание приложений с дополнительными возможностями расширения

Многочисленное сообщество, состоящее из разработчиков и компаний, работающих с открытым кодом, активно создает расширения и подключаемые модули, которые позволяют добавлять в Kubernetes такие возможности, как обеспечение безопасности, мониторинг и управление. Кроме того, согласно требованиям программы Certified Kubernetes Conformance Program каждая версия Kubernetes должна поддерживать API-интерфейсы, гарантирующие простое использование этих предложений сообщества.

Начать работу с Kubernetes

Узнайте, как начать развертывание контейнерных приложений и управление ими.

Следуйте схеме обучения

Изучите практические навыки, которые помогут приступить к работе с Kubernetes.

Разработка с помощью комплексной платформы Kubernetes

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

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

  • Средства для разработки, а также непрерывной интеграции и развертывания (CI/CD) контейнерных приложений.

  • Службы для контроля безопасности, управления, идентификации и доступа.

Использование Kubernetes с методиками DevOps

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

Ускорение доставки кода за счет CI/CD

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

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

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

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

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

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

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

Инфографика рабочего процесса DevOps с Kubernetes

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

  1. Мгновенная итерация, тестирование и отладка различных частей приложения в одном и том же кластере Kubernetes.

  2. Внедрение кода в репозиторий GitHub для непрерывной интеграции и его проверка. Запуск автоматической сборки и тестирования в рамках непрерывной поставки.

  3. Проверка источника и целостности образов контейнеров. До прохождения сканирования образы находятся на карантине.

  4. Оснащение кластеров Kubernetes такими средствами, как Terraform. Terraform устанавливает чарты Helm, которые определяют желаемое состояние ресурсов и конфигураций приложения.

  5. Применение политик для регулирования развертывания к кластеру Kubernetes.

  6. Конвейер выпуска автоматически выполнит предустановленную стратегию развертывания для каждого кода.

  7. Добавление проверки и автоматического исправления политик в конвейер CI/CD. Например, создавать объекты pod в вашей среде Kubernetes может только конвейер выпуска.

  8. Включение телеметрии приложения, мониторинга работоспособности контейнера и анализа журналов в режиме реального времени.

  9. Устранение проблем с аналитическими сведениями и планирование следующего спринта.

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

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

Черпайте вдохновение и инновации в сообществе Kubernetes

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

35,000

Соавторы

180,000

Фиксации

Самый популярный проект

на GitHub

Вклад Майкрософт в Kubernetes

Process Flow Infographic Microsoft contributions to Kubernetes

Искусство открытого кода на предприятиях

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

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

Ресурсы

Знакомство с AKS

Общие сведения о Службе Azure Kubernetes (AKS)

Смотрите видеоролики AKS и вебинары Azure по запросу , чтобы ознакомиться с демонстрациями, основными функциями и техническими сеансами.

Шаблоны быстрого запуска Azure для Kubernetes

Доступность AKS по регионам

Присоединяйтесь к другим пользователям AKS на GitHub, на KubeConили на ближайшей к вам встрече Kubernetes Meetup .

Решения с открытым кодом и Azure

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

Начать бесплатно