This is the Trace Id: dcb67c40de675b6824032fa67348aa06
Перейти к основному контенту
Azure

Что такое 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 

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