Подробнее о курсе «Инфраструктурная платформа на Kubernetes»
Профессиональная онлайн-программа «Инфраструктурная платформа на основе Kubernetes» предназначена для разработчиков, администраторов и технических лидеров, которые хотят изучить платформу Kubernetes. Предлагаю вашему вниманию подробное описание программы курса.
Модуль 1. Введение
Первый модуль нашего курса знакомит участников с понятием инфраструктурных платформ, историей их появления и развития, основными видами.
Мы рассмотрим, как именно инфраструктурная платформа помогает компаниям выпускать их цифровые продукты, почему именно Kubernetes является одной из самых подходящих систем, которая может стать основной инфраструктурной платформой, проведем обзор сервисов, которые могут входить в состав платформы, помимо самого Kubernetes.
Модуль 2. Основные сущности и функционал Kubernetes
Kubernetes достаточно дружелюбен для пользователя, запустить своё приложение с Kubernetes можно, не погружаясь в детали реализации кластера и его детальной настройки. В этом модуле мы изучим основные сущности Kubernetes (Deployment, Ingress, Service, Namespace, ConfigMap и др.), которые нужны пользователю кластера для развёртывания своих приложений, рассмотрим, какие ограничения и требования предъявляет Kubernetes к приложениям.
Разобравшись с запуском и конфигурацией приложений при помощи Kubernetes, мы рассмотрим, как функционал кластера помогает в реализации стандартных процессов поставки цифровых продуктов с применением современных инженерных практик и, не забывая о требованиях безопасности, начнём формировать базовую экосистему нашего кластера, необходимую для большинства приложений.
Домашние задания второго модуля включают развертывание локальной инсталляции Kubernetes, работу с его основными сущностями и запуск приложения на локальном кластере. В процессе выполнения домашних заданий мы научимся описывать манифесты, управлять состоянием кластера, управлять состоянием и составом приложений, развернутых в кластере, разберёмся в модели прав доступа, изучим утилиты, инструменты и сервисы, без которых не обойтись при работе с Kubernetes (например: registry, dns, kubectl, web ui и т. д.).
Модуль 3. Kubernetes в деталях
Получив целостное представление о функционале, предоставляемом Kubernetes и задачах, которые он решает, мы приступим к глубокому изучению механизмов, которые лежат в его основе и познакомимся с расширенным функционалом кластера.
Здесь нас ждёт изучение сервисов, из которых состоит kubernetes: api-server, scheduler, kubelet, etcd. Мы рассмотрим каждый из них в отдельности с точки зрения использования и эксплуатации, разберёмся в том, как эти сервисы развертывать, конфигурировать, обновлять и мониторить.
Знания о компонентах, из которых состоит кластер, нам потребуются для проектирования и развертывания собственной инсталляции Kubernetes с учётом отказоустойчивости, безопасности, простоты использования и эксплуатации. Здесь же мы рассмотрим типы инсталляций Kubernetes, их сильные и слабые стороны (minikube, bare-metal, cloud, и т. д.).
В прошлом модуле мы использовали механизмы, которые позволяли нам запустить приложения, предоставляли им сетевую связность и файловые хранилища, а теперь разберёмся в том, как всё это работало. Для этого нам предстоит изучить стандартные интерфейсы взаимодействия (CNI/CRI/CSI) и реализации, которые используют эти интерфейсы, например, мы расскажем про множество сетевых подсистем, которые могут быть использованы для организации взаимодействия между приложениями и их связи с внешним миром — для этого познакомимся с такими системами, как kube-proxy, ipvs, flannel, calico, istio, envoy и многими другими и определим, как из всего многообразия выбрать именно то, что больше всего подходит под задачу.
В этом же модуле мы расскажем про механизмы безопасности контейнеров и дополнительные механизмы безопасности, которые предоставляет сам Kubernetes. И, конечно же, не обойдём вниманием Operators – функционал Kubernetes, который задаёт новую планку в подходе к автоматизации и управлению системами.
Домашние задания третьего модуля нацелены на подготовку отказоустойчивого и безопасного кластера Kubernetes, который при этом просто обновлять и использовать. Опыт, полученный при выполнении ДЗ этого модуля, позволит вам самостоятельно развернуть и настроить кластер с использованием практики.
Модуль 4. Экосистема Kubernetes
Kubernetes – очень мощный инструмент, который отлично решает свою задачу, однако для выпуска цифровых продуктов одного кластера Kubernetes недостаточно. В этом модуле мы познакомимся с инструментами, утилитами и сервисами, которые сделают вашу жизнь с Kubernetes проще, позволят использовать современные инженерные практики и будут незаменимо полезны как команде, которая занимается администрированием и развитием Kubernetes кластера, так и продуктовым командам, которые используют Kubernetes для запуска своих систем.
Мы рассмотрим, как собирать метрики мониторинга и логи с самого кластера и приложений, работающих поверх него, как предоставить приложениям надёжное хранилище для секретных данных и многое другое.
После этого модуля вы будете владеть такими инструментами, как helm и kustomize, ksonnet, легко интегрировать Prometheus+Grafana, Elastic stack и Vault как для нужд кластера, так и приложений в нём.
Мы ещё раз вернёмся к Registry и хранилищам артефактов, ведь в этом модуле нам предстоит познакомится с подписями образов и использованием Notary.
Домашние задания в этом модуле нацелены на изучение инструментов и утилит, используемых сообществом Kubernetes, а также на построение экосистемы, необходимой для поддержания процессов поставки цифровых продуктов.
Мы развернём и настроим для нашего кластера систему мониторинга, систему сбора логов, систему управления секретами и подписи образов, хранилище артефактов и прочие системы, входящие в состав платформы.
Модуль 5. Kubernetes для поставки цифровых продуктов
Kubernetes позволил множеству компаний построить надёжные, автоматизированные и простые в использовании процессы поставки цифровых продуктов.
В этом модуле мы объединим полученные ранее знания и интегрируем рассмотренные в предыдущих модулях инструменты для того, чтобы наша инфраструктурная платформа помогала командам разработки на каждом этапе подготовки, выпуска и эксплуатации продуктов. Владея Kubernetes и необходимой экосистемой, мы можем сконцентрироваться на инженерных практиках и подходах, наработанных сообществом и бесценном опыте, которым уже успели поделиться инженеры со всего мира.
Домашние задания этого модуля нацелены на построение конвейера поставки для приложения с применением полученных знаний из прошлых модулей, использованием функционала экосистемы и с учётом инженерных практик, о которых мы будем говорить в этом модуле.
Ознакомиться с перечнем занятий и скачать подробное описание программы можно здесь.