Kubernetes в действии
Здесь можно купить книгу "Kubernetes в действии " в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.
Место издания: Москва
ISBN: 978-5-97060-657-5
Страниц: 674
Артикул: 95139
Возрастная маркировка: 16+
Краткая аннотация книги "Kubernetes в действии"
Книга детально рассказывает о Kubernetes – открытом программном обеспечении Google для автоматизации развёртывания, масштабирования и управления приложениями. Поддерживает основные технологии контейнеризации, также возможна поддержка технологий аппаратной виртуализации. Дано пошаговое разъяснение принципов работы и устройства модулей фреймворка. Вы узнаете все о создании объектов верхнего уровня, развертывании кластера на собственной рабочей машине и построении федеративного кластера в нескольких дата-центрах. Также детально проанализированы задачи обеспечения безопасности в Kubernetes. Издание будет интересно всем, для кого актуальны проблемы организации кластеров и автоматизации развёртывания, масштабирования и управления приложениями.
Содержание книги "Kubernetes в действии "
Вступительное слово от компании ITSumma
Описанные/рассмотренные в книге ресурсы Kubernetes
Благодарности
Предисловие
Признательности
Об этой книге
Кто должен читать эту книгу
Как организована эта книга: дорожная карта
О коде
Книжный форум
Другие интернет-ресурсы
Об авторе
Об иллюстрации на обложке
Глава 1. Знакомство с Kubernetes
1.1 Объяснение необходимости системы наподобие Kubernetes
1.1.1 Переход от монолитных приложений к микросервисам
1.1.2 Обеспечение консистентного окружения для приложений
1.1.3 Переход к непрерывной доставке: DevOps и NoOps
1.2 Знакомство с контейнерными технологиями
1.2.1 Что такое контейнеры
1.2.2 Знакомство с контейнерной платформой Docker
1.2.3 Знакомство с rkt – альтернативой Docker
1.3 Первое знакомство с Kubernetes
1.3.1 Истоки
1.3.2 Взгляд на Kubernetes с вершины горы
1.3.3 Архитектура кластера Kubernetes
1.3.4 Запуск приложения в Kubernetes
1.3.5 Преимущества использования Kubernetes
1.4 Резюме
Глава 2. Первые шаги с Docker и Kubernetes
2.1 Создание, запуск и совместное использование образа контейнера
2.1.1 Установка Docker и запуск контейнера Hello World
2.1.2 Создание простейшего приложения Node.js
2.1.3 Создание файла Dockerfile для образа
2.1.4 Создание образа контейнера
2.1.5 Запуск образа контейнера
2.1.6 Исследование работающего контейнера изнутри
2.1.7 Остановка и удаление контейнера
2.1.8 Отправка образа в хранилище образов
2.2 Настройка кластера Kubernetes
2.2.1 Запуск локального одноузлового кластера Kubernetes с помощью Minikube
2.2.2 Использование кластера Kubernetes, предоставляемого как сервис с Google Kubernetes Engine
2.2.3 Настройка псевдонима и автозавершение в командной строке для kubectl
2.3 Запуск первого приложения на Kubernetes
2.3.1 Развертывание приложения Node.js
2.3.2 Доступ к веб-приложению
2.3.3 Логические части вашей системы
2.3.4 Горизонтальное масштабирование приложения
2.3.5 Исследование узлов, на которых запущено приложение
2.3.6 Знакомство с панелью управления Kubernetes
2.4 Резюме
Глава 3. Модули: запуск контейнеров в Kubernetes
3.1 Знакомство с модулями
3.1.1 Зачем нужны модули
3.1.2 Общее представление о модулях
3.1.3 Правильная организация контейнеров между модулями
3.2 Создание модулей из дескрипторов YAML или JSON
3.2.1 Исследование дескриптора YAML существующего модуля
3.2.2 Создание простого дескриптора YAML для модуля
3.2.3 Использование команды kubectl create для создания модуля
3.2.4 Просмотр журналов приложений
3.2.5 Отправка запросов в модуль
3.3 Организация модулей с помощью меток
3.3.1 Знакомство с метками
3.3.2 Указание меток при создании модуля
3.3.3 Изменение меток существующих модулей
3.4 Перечисление подмножеств модулей посредством селекторов меток
3.4.1 Вывод списка модулей с помощью селектора меток
3.4.2 Использование нескольких условий в селекторе меток
3.5 Использование меток и селекторов для ограничения планирования модулей
3.5.1 Использование меток для классификации рабочих узлов
3.5.2 Приписывание модулей к определенным узлам
3.5.3 Планирование размещения на один конкретный узел
3.6 Аннотирование модулей
3.6.1 Поиск аннотаций объекта
3.6.2 Добавление и изменение аннотаций
3.7 Использование пространств имен для группирования ресурсов
3.7.1 Необходимость пространств имен
3.7.2 Обнаружение других пространств имен и их модулей
3.7.3 Создание пространства имен
3.7.4 Управление объектами в других пространствах имен
3.7.5 Изоляция, обеспечиваемая пространствами имен
3.8 Остановка и удаление модулей
3.8.1 Удаление модуля по имени
3.8.2 Удаление модулей с помощью селекторов меток
3.8.3 Удаление модулей путем удаления всего пространства имен
3.8.4 Удаление всех модулей в пространстве имен при сохранении пространства имен
3.8.5 Удаление (почти) всех ресурсов в пространстве имен
3.9 Резюме
Глава 4. Контроллер репликации и другие контроллеры: развертывание управляемых модулей
4.1 Поддержание модулей в здоровом состоянии
4.1.1 Знакомство с проверками живости
4.1.2 Создание проверки живости на основе HTTP
4.1.3 Просмотр проверки живости в действии
4.1.4 Настройка дополнительных свойств проверки живости
4.1.5 Создание эффективных проверок живости
4.2 Знакомство с контроллерами репликации
4.2.1 Работа контроллера репликации
4.2.2 Создание контроллера репликации
4.2.3 Просмотр контроллера репликации в действии
4.2.4 Перемещение модулей в область и из области действия контроллера репликации
4.2.5 Изменение шаблона модуля
4.2.6 Горизонтальное масштабирование модулей
4.2.7 Удаление контроллера репликации
4.3 Использование набора реплик вместо контроллера репликации
4.3.1 Сравнение набора реплик с контроллером репликации
4.3.2 Определение набора реплик
4.3.3 Создание и исследование набора реплик
4.3.4 Использование более выразительных селекторов меток для набора реплик
4.3.5 Подведение итогов относительно наборов реплик
4.4 Запуск ровно одного модуля на каждом узле с помощью набора демонов (DaemonSet)
4.4.1 Использование набора демонов для запуска модуля на каждом узле
4.4.2 Использование набора демонов для запуска модуля только на определенных узлах
4.5 Запуск модулей, выполняющих одну заканчиваемую задачу
4.5.1 Знакомство с ресурсом Job
4.5.2 Определение ресурса Job
4.5.3 Просмотр того, как задание управляет модулем
4.5.4 Запуск нескольких экземпляров модуля в задании
4.5.5 Ограничение времени, отпускаемого на завершение модуля задания
4.6 Планирование выполнения заданий периодически или единоразово в будущем
4.6.1 Создание ресурса CronJob
4.6.2 Общие сведения о выполнении запланированных заданий
4.7 Резюме
Глава 5. Службы: обеспечение клиентов возможностью обнаруживать модули и обмениваться с ними информацией
5.1 Знакомство со службами
5.1.1 Создание служб
5.1.2 Обнаружение служб
5.2 Подключение к службам, находящимся за пределами кластера
5.2.1 Знакомство с конечными точками служб
5.2.2 Настройка конечных точек службы вручную
5.2.3 Создание псевдонима для внешней службы
5.3 Предоставление внешним клиентам доступа к службам
5.3.1 Использование службы NodePort
5.3.2 Обеспечение доступа к службе через внешнюю подсистему балансировки нагрузки
5.3.3 Особенности внешних подключений
5.4 Обеспечение доступа к службам извне через ресурс Ingress
5.4.1 Создание ресурса Ingress
5.4.2 Доступ к службе через Ingress
5.4.3 Обеспечение доступа ко множеству служб через один и тот же Ingress
5.4.4 Настройка Ingress для обработки трафика TLS
5.5 Сигналы о готовности модуля к приему подключений
5.5.1 Знакомство с проверкой готовности
5.5.2 Добавление в модуль проверки готовности
5.5.3 Что должны делать реальные проверки готовности
5.6 Использование служб без обозначенной точки входа (Headless-сервисов) для обнаружения индивидуальных модулей
5.6.1 Создание службы без обозначенной точки входа
5.6.2 Обнаружение модулей через DNS
5.6.3 Обнаружение всех модулей – даже тех, которые не готовы
5.7 Устранение неполадок в службах
5.8 Резюме
Глава 6. Тома: подключение дискового хранилища к контейнерам
6.1 Знакомство с томами
6.1.1 Объяснение томов на примере
6.1.2 Знакомство с типами томов
6.2 Использование томов для обмена данными между контейнерами
6.2.1 Использование тома emptyDir
6.2.2 Использование репозитория Git в качестве отправной точки для тома
6.3 Доступ к файлам в файловой системе рабочего узла
6.3.1 Знакомство с томом hostPath
6.3.2 Исследование системных модулей с томами hostPath
6.4 Использование постоянного хранилища
6.4.1 Использование постоянного диска GCE Persistent Disk в томе модуля
6.4.2 Использование томов других типов с базовым постоянным хранилищем
6.5 Отделение модулей от базовой технологии хранения
6.5.1 Знакомство с томами PersistentVolume и заявками PersistentVolumeClaim
6.5.2 Создание ресурса PersistentVolume
6.5.3 Подача заявки на PersistentVolume путем создания ресурса PersistentVolumeClaim
6.5.4 Использование заявки PersistentVolumeClaim в модуле
6.5.5 Преимущества использования томов PersistentVolume и заявок
6.5.6 Повторное использование постоянных томов
6.6 Динамическое резервирование томов PersistentVolume
6.6.1 Определение доступных типов хранилища с помощью ресурсов StorageClass
6.6.2 Запрос на класс хранилища в заявке PersistentVolumeClaim
6.6.3 Динамическое резервирование без указания класса хранилища
6.7 Резюме
Глава 7. Словари конфигурации (ConfigMap) и секреты (Secret): настройка приложений
7.1 Конфигурирование контейнерных приложений
7.2 Передача в контейнеры аргументов командной строки
7.2.1 Определение команды и аргументов в Docker
7.2.2 Переопределение команды и аргументов в Kubernetes
7.3 Настройка переменных среды для контейнера
7.3.1 Указание переменных среды в определении контейнера
7.3.2 Ссылка на другие переменные среды в значении переменной
7.3.3 Отрицательная сторона жесткого кодирования переменных среды
7.4 Отсоединение конфигурации с помощью словаря конфигурации ConfigMap
7.4.1 Знакомство со словарями конфигурции
7.4.2 Создание словаря конфигурации
7.4.3 Передача записи словаря конфигурации в контейнер в качестве переменной среды
7.4.4 Одновременная передача всех записей словаря конфигурации как переменных среды
7.4.5 Передача записи словаря конфигурации в качестве аргумента командной строки
7.4.6 Использование тома configMap для обеспечения доступа к записям словаря конфигурации в виде файлов
7.4.7 Обновление конфигурации приложения без перезапуска приложения
7.5 Использование секретов для передачи чувствительных данных в контейнеры
7.5.1 Знакомство с секретами
7.5.2 Знакомство с секретом default-token
7.5.3 Создание секрета
7.5.4 Сравнение словарей конфигурации и секретов
7.5.5 Использование секрета в модуле
7.5.6 Секреты для выгрузки образов
7.6 Резюме
Глава 8. Доступ к метаданным модуля и другим ресурсам из приложений
8.1 Передача метаданных через нисходящий API
8.1.1 Доступные для использования метаданные
8.1.2 Предоставление доступа к метаданным через переменные среды
8.1.3 Передача метаданных через файлы в том downwardAPI
8.2 Обмен с сервером API Kubernetes
8.2.1 Исследование REST API Kubernetes
8.2.2 Обмен с сервером API изнутри модуля
8.2.3 Упрощение взаимодействия сервера API с контейнерами-посредниками
8.2.4 Использование клиентских библиотек для обмена с сервером API
8.3 Резюме
Глава 9. Развертывания: декларативное обновление приложений
9.1 Обновление приложений, работающих в модулях
9.1.1 Удаление старых модулей и замена их новыми
9.1.2 Запуск новых модулей, а затем удаление старых
9.2 Выполнение автоматического плавного обновления с помощью контроллера репликации
9.2.1 Запуск первоначальной версии приложения
9.2.2 Выполнение плавного обновления с помощью kubectl
9.2.3 Почему плавное обновление kubectl rolling-update устарело
9.3 Использование развертываний для декларативного обновления приложений
9.3.1 Создание развертывания
9.3.2 Обновление с помощью развертывания
9.3.3 Откат развертывания
9.3.4 Управление скоростью выкладки
9.3.5 Приостановка процесса выкладки
9.3.6 Блокировка раскруток плохих версий
9.4 Резюме
Глава 10. Ресурсы StatefulSet: развертывание реплицируемых приложений с внутренним состоянием
10.1 Репликация модулей с внутренним состоянием
10.1.1 Запуск множества реплик с отдельным хранилищем для каждой
10.1.2 Обеспечение стабильной долговременной идентификации для каждого модуля
10.2 Набор модулей с внутренним состоянием
10.2.1 Сопоставление наборов модулей с внутренним состоянием и наборов реплик
10.2.2 Обеспечение стабильной сетевой идентичности
10.2.3 Обеспечение стабильного выделенного хранилища для каждого экземпляра с внутренним состоянием
10.2.4 Гарантии набора StatefulSet
10.3 Использование набора StatefulSet
10.3.1 Создание приложения и образа контейнера
10.3.2 Развертывание приложения посредством набора StatefulSet
10.3.3 Исследование своих модулей
10.4 Обнаружение соседей в наборе StatefulSet
10.4.1 Реализация обнаружения соседей посредством DNS
10.4.2 Обновление набора StatefulSet
10.4.3 Опробование кластеризованного хранилища данных
10.5 Как наборы StatefulSet справляются с аварийными сбоями узлов
10.5.1 Симулирование отключения узла от сети
10.5.2 Удаление модуля вручную
10.6 Резюме
Глава 11. Внутреннее устройство Kubernetes
11.1 Архитектура
11.1.1 Распределенная природа компонентов Kubernetes
11.1.2 Как Kubernetes использует хранилище etcd
11.1.3 Что делает сервер API
11.1.4 Как сервер API уведомляет клиентов об изменениях ресурсов
11.1.5 Планировщик
11.1.6 Знакомство с контроллерами, работающими в менеджере контроллеров
11.1.7 Что делает агент Kubelet
11.1.8 Роль служебного сетевого прокси системы Kubernetes
11.1.9 Знакомство с надстройками Kubernetes
11.1.10 Все воедино
11.2 Взаимодействие контроллеров
11.2.1 Какие компоненты задействованы
11.2.2 Цепь событий
11.2.3 Наблюдение за событиями кластера
11.3 Что такое запущенный модуль
11.4 Интермодульное сетевое взаимодействие
11.4.1 Как должна выглядеть сеть
11.4.2 Более детальное рассмотрение работы сетевого взаимодействия
11.4.3 Знакомство с контейнерным сетевым интерфейсом
11.5 Как реализованы службы
11.5.1 Введение в kube-proxy
11.5.2 Как kube-proxy использует правила iptables
11.6 Запуск высокодоступных кластеров
11.6.1 Обеспечение высокой доступности приложений
11.6.2 Обеспечение высокой доступности компонентов плоскости управления Kubernetes
11.7 Резюме
Глава 12. Защита сервера API Kubernetes
12.1 Аутентификация
12.1.1 Пользователи и группы
12.1.2 Знакомство с учетными записями службы
12.1.3 Создание учетных записей ServiceAccount
12.1.4 Назначение модулю учетной записи службы
12.2 Защита кластера с помощью управления ролевым доступом
12.2.1 Знакомство с плагином авторизации RBAC
12.2.2 Знакомство с ресурсами RBAC
12.2.3 Использование ролей и привязок ролей
12.2.4 Применение кластерных ролей (ClusterRole) и привязок кластерных ролей (ClusterRoleBinding)
12.2.5 Кластерные роли и привязки кластерных ролей, существующие по умолчанию
12.2.6 Предоставление разумных авторизационных разрешений
12.3 Резюме
Глава 13. Защита узлов кластера и сети
13.1 Использование в модуле пространств имен хоста
13.1.1 Использование в модуле сетевого пространства имен узла
13.1.2 Привязка к порту хоста без использования сетевого пространства имен хоста
13.1.3 Использование пространств имен PID и IPC узла
13.2 Конфигурирование контекста безопасности контейнера
13.2.1 Выполнение контейнера от имени конкретного пользователя
13.2.2 Недопущение работы контейнера в качестве root
13.2.3 Выполнение модулей в привилегированном режиме
13.2.4 Добавление отдельных функциональных возможностей ядра в контейнер
13.2.5 Удаление функциональных возможностей из контейнера
13.2.6 Запрет записи процессами в файловую систему контейнера
13.2.7 Совместное использование томов, когда контейнеры запущены под разными пользователями
13.3 Ограничение использования функциональности, связанной с безопасностью в модулях
13.3.1 Знакомство с ресурсами PodSecurityPolicy
13.3.2 Политики runAsUser, fsGroup и supplementalGroups
13.3.3 Конфигурирование разрешенных, стандартных и запрещенных возможностей
13.3.4 Ограничение типов томов, которые модули могут использовать
13.3.5 Назначение разных политик PodSecurityPolicy разным пользователям и группам
13.4 Изоляция сети модулей
13.4.1 Активация изоляции сети в пространстве имен
13.4.2 Разрешение подключения к серверному модулю только некоторых модулей в пространстве имен
13.4.3 Изоляция сети между пространствами имен Kubernetes
13.4.4 Изоляция с использованием обозначения CIDR
13.4.5 Лимитирование исходящего трафика набора модулей
13.5 Резюме
Глава 14. Управление вычислительными ресурсами модулей
14.1 Запрос на ресурсы для контейнеров модуля
14.1.1 Создание модулей с ресурсными запросами
14.1.2 Как ресурсные запросы влияют на назначение модуля узлу
14.1.3 Как запросы на ЦП влияют на совместное использование процессорного времени
14.1.4 Определяем и запрашиваем настраиваемые ресурсы
14.2 Лимитирование ресурсов, доступных контейнеру
14.2.1 Установка жесткого лимита на объем ресурсов, которые может использовать контейнер
14.2.2 Превышение лимитов
14.2.3 Как приложения в контейнерах видят лимиты
14.3 Классы QoS модулей
14.3.1 Определение класса QoS для модуля
14.3.2 Какой процесс уничтожается при нехватке памяти
14.4 Установка стандартных запросов и лимитов для модулей в расчете на пространство имен
14.4.1 Знакомство с ресурсом LimitRange
14.4.2 Создание объекта LimitRange
14.4.3 Обеспечение лимитов
14.4.4 Применение стандартных ресурсных запросов и лимитов
14.5 Лимитирование общего объема ресурсов, доступного в пространстве имен
14.5.1 Объект ResourceQuota
14.5.2 Указание квоты для постоянного хранилища
14.5.3 Лимитирование количества создаваемых объектов
14.5.4 Указание квот для конкретных состояний модулей и/или классов QoS
14.6 Мониторинг потребления ресурсов модуля
14.6.1 Сбор и извлечение фактических данных о потреблении ресурсов
14.6.2 Хранение и анализ исторической статистики потребления ресурсов
14.7 Резюме
Глава 15. Автоматическое масштабирование модулей и узлов кластера
15.1 Горизонтальное автомасштабирование модуля
15.1.1 Процесс автомасштабирования
15.1.2 Масштабирование на основе задействованности ЦП
15.1.3 Масштабирование на основе потребления памяти
15.1.4 Масштабирование на основе других, а также настраиваемых метрик
15.1.5 Определение метрик, подходящих для автомасштабирования
15.1.6 Уменьшение масштаба до нуля реплик
15.2 Вертикальное автомасштабирование модуля
15.2.1 Автоматическое конфигурирование ресурсных запросов
15.2.2 Модификация ресурсных запросов во время работы модуля
15.3 Горизонтальное масштабирование узлов кластера
15.3.1 Знакомство с кластерным автопреобразователем масштаба
15.3.2 Активация кластерного автопреобразователя масштаба
15.3.3 Ограничение прерывания службы во время уменьшения масштаба кластера
15.4 Резюме
Глава 16. Продвинутое назначение модулей узлам
16.1 Использование ограничений и допусков для отделения модулей от определенных узлов
16.1.1 Знакомство с ограничениями и допусками
16.1.2 Добавление в узел индивидуально настроенных ограничений
16.1.3 Добавление в модули допусков
16.1.4 Для чего можно использовать ограничения и допуски
16.2 Использование сходства узлов для привлечения модулей к определенным узлам
16.2.1 Указание жестких правил сходства узлов
16.2.2 Приоретизация узлов при назначении модуля
16.3 Совместное размещение модулей с использованием сходства и антисходства модулей
16.3.1 Использование межмодульного сходства для развертывания модулей на одном узле
16.3.2 Развертывание модулей в одной стойке, зоне доступности или географическом регионе
16.3.3 Выражение предпочтений сходства модулей вместо жестких требований
16.3.4 Назначение модулей на удалении друг от друга с помощью антисходства модулей
16.4 Резюме
Глава 17. Рекомендации по разработке приложений
17.1 Соединение всего вместе
17.2 Жизненный цикл модуля
17.2.1 Приложения должны ожидать, что они могут быть удалены и перемещены
17.2.2 Переназначение мертвых или частично мертвых модулей
17.2.3 Запуск модулей в определенном порядке
17.2.4 Добавление обработчиков жизненного цикла
17.2.5 Выключение модуля
17.3 Обеспечение правильной обработки всех клиентских запросов
17.3.1 Предотвращение прерывания клиентских подключений при запуске модуля
17.3.2 Предотвращение прерванных подключений при выключении модуля
17.4 Упрощение запуска приложений и управления ими в Kubernetes
17.4.1 Создание управляемых образов контейнеров
17.4.2 Правильное тегирование образов и рациональное использование политики imagePullPolicy
17.4.3 Использование многомерных меток вместо одномерных
17.4.4 Описание каждого ресурса с помощью аннотаций
17.4.5 Предоставление информации о причинах прекращения процесса
17.4.6 Работа с журналами приложений
17.5 Рекомендации по разработке и тестированию
17.5.1 Запуск приложений за пределами Kubernetes во время разработки
17.5.2 Использование Minikube в разработке
17.5.3 Версионирование и автоматическое развертывание ресурсных манифестов
17.5.4 Знакомство с Ksonnet как альтернативой написанию манифестов YAML/JSON
17.5.5 Использование непрерывной интеграции и непрерывной доставки (CI/CD)
17.6 Резюме
Глава 18. Расширение системы Kubernetes
18.1 Определение своих собственных объектов API
18.1.1 Знакомство с определениями CustomResourceDefinition
18.1.2 Автоматизация пользовательских ресурсов с помощью пользовательских контроллеров
18.1.3 Валидация пользовательских объектов
18.1.4 Предоставление пользовательского сервера API для пользовательских объектов
18.2 Расширение Kubernetes с помощью каталога служб Kubernetes (Kubernetes Service Catalog)
18.2.1 Знакомство с каталогом служб
18.2.2 Знакомство с сервером API каталога служб и менеджером контроллеров
18.2.3 Знакомство с брокерами служб и API OpenServiceBroker
18.2.4 Резервирование и использование службы
18.2.5 Отвязывание и дерезервирование
18.2.6 Что дает каталог служб
18.3 Платформы, построенные поверх Kubernetes
18.3.1 Контейнерная платформа Red Hat OpenShift
18.3.2 Deis Workflow и Helm
18.4 Резюме
Приложение A. Использование kubectl с несколькими кластерами
A.1 Переключение между Minikube и Google Kubernetes Engine
A.2 Использование инструмента kubectl со множеством кластеров или пространств имен
A.2.1 Настройка расположения файла kubeconfig
A.2.2 Содержимое файла kubeconfig
A.2.3 Вывод списка, добавление и изменение записей в файле kubeconfig
A.2.4 Использование инструмента kubectl с разными кластерами, пользователями и контекстами
A.2.5 Переключение между контекстами
A.2.6 Перечисление контекстов и кластеров
A.2.7 Удаление контекстов и кластеров
Приложение B. Настройка многоузлового кластера с помощью kubeadm
B.1 Настройка ОС и необходимых пакетов
B.1.1 Cоздание виртуальной машины
B.1.2 Настройка сетевого адаптера для виртуальной машины
B.1.3 Инсталляция операционной системы
B.1.4 Установка Docker и Kubernetes
B.1.5 Клонирование виртуальной машины
B.2 Конфигурирование ведущего узла с помощью kubeadm
B.2.1 Как kubeadm запускает компоненты
B.3 Настройка рабочих узлов с помощью kubeadm
B.3.1 Настройка контейнерной сети
B.4 Использование кластера с локальной машины
Приложение C. Использование других контейнерных сред выполнения
C.1 Замена Docker на rkt
С.1.1 Настройка Kubernetes для использования rkt
С.1.2 Опробирование платформы rkt с Minikube
С.2 Использование других контейнерных сред выполнения посредством CRI
С.2.1 Знакомство с контейнерной средой выполнения CRI-O
C.2.2 Запуск приложений на виртуальных машинах вместо контейнеров
Приложение D. Кластерная федерация
D.1 Знакомство с кластерной федерацией Kubernetes
D.2 Архитектура
D.3 Федеративные объекты API
D.3.1 Знакомство с федеративными версиями ресурсов Kubernetes
D.3.2 Что делают федеративные ресурсы
Предметный указатель
Все отзывы о книге Kubernetes в действии
С книгой "Kubernetes в действии" читают
Внимание!
При обнаружении неточностей или ошибок в описании книги "Kubernetes в действии (автор Марко Лукша)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!
и мы свяжемся с вами в течение 15 минут
за оставленную заявку