Введение в технологии контейнеров и Kubernetes

Андрей Маркелов

Обложка:


Предисловие ................................................................................. 6
Благодарности.................................................................................... 6
Об авторе............................................................................................ 6
Рецензенты ........................................................................................ 7
Предполагаемая аудитория .............................................................. 7
О чем эта книга.................................................................................. 8
Глава 1. Введение в контейнеры GNU/Linux ................. 10
Отличия контейнеров от виртуализации ...................................... 10
История Docker ................................................................................ 12
Архитектура Docker......................................................................... 13
Установка Docker в GNU/Linux на примере CentOS 7.................... 17
Вопросы для самопроверки............................................................ 21
Список ссылок.................................................................................. 21
Глава 2. Основы работы с контейнерами Docker......... 22
Поиск образов контейнеров и теги ............................................... 22
Запуск контейнеров......................................................................... 26
Изоляция контейнеров.................................................................... 31
Управление состоянием контейнеров ........................................... 35
Обмен данными с контейнером по сети ....................................... 41
Просмотр информации о контейнере............................................ 43
Подключение к контейнеру постоянного хранилища.................. 48
Публикация образов в реестре на примере Docker Hub ............... 51
Импорт и экспорт образов контейнеров........................................ 56
Запуск контейнеров при помощи docker и systemd...................... 59
Вопросы для самопроверки............................................................ 61
Список ссылок.................................................................................. 61
Глава 3. Создание контейнеров
при помощи Dockerfile............................................................ 62
Базовый синтаксис Dockerfile ......................................................... 62
Изучаем инструкции Dockerfile на примерах................................ 65
4 Содержание
Модифицируем Dockerfile............................................................... 68
Вопросы для самопроверки............................................................ 70
Список ссылок.................................................................................. 70
Глава 4. Работа с контейнерами Docker
без движка Docker.................................................................... 71
Введение в podman, buildah и skopeo ............................................. 71
Запуск контейнеров при помощи podman .................................... 72
Запуск pod-модулей при помощи podman .................................... 73
Запуск контейнеров
при помощи podman и systemd ...................................................... 76
Использование утилиты buildah
для создания образов контейнеров................................................ 77
Работа с образами при помощи skopeo ......................................... 81
Вопросы для самопроверки............................................................ 83
Список ссылок.................................................................................. 83
Глава 5. Введение в Kubernetes
и установка кластера............................................................... 84
Знакомство с Kubernetes ................................................................. 84
Установка локального кластера ...................................................... 89
Подготовка операционной системы .......................................... 89
Установка управляющего узла.................................................... 92
Установка рабочих узлов............................................................. 96
Установка веб-консоли Kubernetes............................................. 98
Установка кластера в публичном облаке Microsoft Azure........... 100
Вопросы для самопроверки.......................................................... 104
Список ссылок................................................................................ 104
Глава 6. Основы работы с Kubernetes............................. 105
Основные объекты Kubernetes ..................................................... 105
Создаем первый pod-модуль ........................................................ 107
Внедрения (Deployments).............................................................. 111
Разбор шаблона внедрения....................................................... 113
Масштабирование и откат внедрений..................................... 118
Доступ к pod-модулю извне кластера .......................................... 120
Постоянные тома и запросы постоянных томов......................... 124
Словари конфигурации и секреты ............................................... 131
Содержание 5
Вопросы для самопроверки.......................................................... 137
Список ссылок................................................................................ 137
Глава 7. Расширенные возможности Kubernetes........ 138
Контроллеры DaemonSet и StatefulSet ......................................... 138
Выполнение заданий при помощи Job и CronJob........................ 144
Менеджер пакетов Helm................................................................ 148
Вопросы для самопроверки.......................................................... 154
Список ссылок................................................................................ 154
Глава 8. Знакомство с OpenShift и OKD.......................... 155
Сравнение OpenShift и Kubernetes ............................................... 155
Установка OpenShift при помощи cluster up................................ 156
Первое приложение в OpenShift .................................................. 159
Сборка приложений ...................................................................... 168
Работа с шаблонами OpenShift ..................................................... 177
Вопросы для самопроверки.......................................................... 183
Список ссылок................................................................................ 183
Заключение ............................................................................... 184
Ответы к вопросам для самопроверки.......................... 185
Приложения............................................................................... 186
Приложение 1. Листинг внедрения nginx .................................... 186
Приложение 2. Листинг шаблона OpenShift mysql-ephemeral.... 189