Описание
Осваиваем Kubernetes. Оркестрация контейнерных архитектур, Сайфан Д. купить книга Україна
Обкладинка – м”яка
Рік видання – 2019
Кількість сторінок – 400
ISBN – 978-5-4461-0973-9
Бумага – біла, офсет
Про книгу Осваиваем Kubernetes. Оркестрация контейнерных архитектур, Сайфан Д.
В книге рассмотрена новейшая версия Kubernetes 1.10.Kubernetes – это система с открытым кодом, предназначенная для работы с контейнерными приложениями, их развертывания, масштабирования, управления ими. Если вы хотите запустить дополнительные контейнеры или автоматизировать управление, то вам не обойтись без Kubernetes.Книга начинается с изучения основ Kubernetes, архитектуры и компоновки этой системы. Вы научитесь создавать микросервисы с сохранением состояния, ознакомитесь с такими продвинутыми возможностями, как горизонтальное автомасштабирование подов, выкатывание обновлений, квотирование ресурсов, обустроите долговременное хранилище на бэкенде. На реальных примерах вы исследуете возможности сетевой конфигурации, подключение и настройку плагинов. Эта книга поможет вам стать искусным дирижером и обращаться с контейнерными системами любой сложности.
Осваиваем Kubernetes. Оркестрация контейнерных архитектур, Сайфан Д. оглавление
Об авторе
О рецензентах
Предисловие
Для кого предназначена книга
Темы, рассмотренные в книге
Как извлечь из книги максимальную пользу
Полноцветные изображения
Условные обозначения
Глава 1. Архитектура Kubernetes
Что такое Kubernetes
Чем Kubernetes не является
Оркестрация контейнеров
Контейнеры на физических и виртуальных устройствах
Преимущества контейнеров
Контейнеры в облаке
От мелких домашних животных к крупному рогатому скоту
Концепции, лежащие в основе Kubernetes
Кластер
Узел
Ведущий узел
Под
Метка
Аннотации
Селекторы меток
Контроллеры репликации и наборы реплик
Сервисы
Том
7StatefulSet
Конфиденциальная информация
Имена
Пространства имен
Углубленное рассмотрение архитектуры Kubernetes
Шаблоны проектирования распределенных систем
API Kubernetes
Категории ресурсов
Ведущие компоненты Kubernetes
API-сервер
Etcd
Диспетчер контроллеров Kube
Диспетчер облачных контроллеров
kube-scheduler
DNS
Узловые компоненты
Прокси-сервер
Kubelet
Среды выполнения, совместимые с Kubernetes
Интерфейс среды выполнения контейнеров (CRI)
Docker
Rkt
Контейнеры Hyper
Непрерывная интеграция и разработка
Цепочка CI/CD
Проектирование цепочки CI/CD для Kubernetes
Резюме
Глава 2. Создание кластеров Kubernetes
Быстрое создание одноузлового кластера с помощью Minikube
Подготовка
В Windows
В macOS
Создание кластера
Отладка
Проверка кластера
Выполнение работы
Исследование кластера с помощью панели управления
8
Создание многоузлового кластера с помощью kubeadm
Чего следует ожидать
Подготовка к работе
Подготовка кластера виртуальных машин на основе vagrant
Установка необходимого программного обеспечения
Создание кластера
Настройка pod-сети
Добавление рабочих узлов
Создание кластеров в облаке (GCP, AWS и Azure)
Интерфейс cloud-provider
Google Cloud Platform
Amazon Web Services
Azure
Alibaba Cloud
Создание аппаратного кластера с нуля
Сценарии использования «голого железа»
Когда создание аппаратного кластера имеет смысл
Процесс создания кластера
Использование инфраструктуры частного виртуального облака
Резюме
Глава 3. Мониторинг, журналирование и решение проблем
Мониторинг Kubernetes с помощью Heapster
Установка Heapster
Хранилище InfluxDB
Структура хранилища
Визуализация с помощью Grafana
Анализ производительности с помощью панели управления
Представление верхнего уровня
Добавление централизованного журналирования
Обнаружение неисправностей на узлах
Node Problem Detector
DaemonSet
Демоны для обнаружения проблем
Примеры потенциальных проблем
Проектирование устойчивых систем
Аппаратные сбои
9Квоты, общие ресурсы и лимиты
Плохая конфигурация
Соотношение затрат и производительности
Использование Prometheus
Что такое операторы
Prometheus Operator
Установка Prometheus с помощью kube-prometheus
Мониторинг кластера с помощью Prometheus
Резюме
Глава 4. Высокая доступность и надежность
Концепции, связанные с высокой доступностью
Избыточность
Горячая замена
Выбор лидера
Умная балансировка нагрузки
Идемпотентность
Автоматическое восстановление
Рекомендуемые методики достижения высокой доступности
Создание высокодоступных кластеров
Как сделать узлы надежными
Как обезопасить состояние кластера
Сохранность данных
Избыточные API-серверы
Выбор лидера в Kubernetes
Высокая доступность в тестовой среде
Тестирование высокой доступности
Обновление кластера на лету
Плавающие обновления
Сине-зеленые обновления
Управление изменениями в контрактах данных
Миграция данных
Устаревание API
Производительность, расходы и компромиссы архитектуры крупных
кластеров
Требования к доступности
Отсутствие гарантий
10
Периоды обслуживания
Быстрое восстановление
Нулевое время простоя
Производительность и согласованность данных
Резюме
Глава 5. Конфигурация безопасности, ограничений и учетных записей
в Kubernetes
Проблемы безопасности, стоящие перед Kubernetes
Потенциальные уязвимости узлов
Потенциальные уязвимости образов
Потенциальные проблемы с конфигурацией и развертыванием
Потенциальные уязвимости подов и контейнеров
Потенциальные организационные и культурные проблемы
Как закаляется Hardening
Служебные учетные записи в Kubernetes
Доступ к API-серверу
Защита подов
Управление сетевыми политиками
Использование объектов secret
Многопользовательские кластеры
Необходимость в многопользовательских кластерах
Безопасная мультиарендность на основе пространств имен
Подводные камни работы с пространствами имен
Резюме
Глава 6. Использование критически важных ресурсов Kubernetes
Проектирование системы Hue
Область применения Hue
Планирование рабочих процессов
Использование Kubernetes для построения системы Hue
Эффективное применение kubectl
Файлы конфигурации ресурсов в kubectl
Развертывание долгоиграющих микросервисов в подах
Разделение внутренних и внешних сервисов
Развертывание внутреннего сервиса
Создание сервиса hue-reminders
Выведение сервиса наружу
11Ограничение доступа с помощью пространства имен
Запуск заданий
Параллельное выполнение заданий
Удаление завершенных заданий
Планирование регулярных заданий с помощью crontab
Интеграция с внешними компонентами
Компоненты вне сети кластера
Компоненты внутри сети кластера
Управление системой Hue с помощью Kubernetes
Управление зависимостями с помощью проверок готовности
Применение контейнеров инициализации для упорядоченного
запуска подов
Развитие системы Hue с помощью Kubernetes
Применение Hue на предприятиях
Двигаем научный прогресс с помощью Hue
Hue — будущее системы образования
Резюме
Глава 7. Работа с хранилищем данных в Kubernetes
Подробное знакомство с постоянными томами
Тома
Создание постоянных томов
Запрос постоянного тома
Подключение запросов в качестве томов
Тома на основе блочных устройств
Классы хранилищ
Пример работы с постоянным томом от начала до конца
Типы томов в облачных хранилищах GCE, AWS и Azure
AWS Elastic Block Store (EBS)
AWS Elastic File System
Постоянный диск в GCE
Диски в Azure
Файловое хранилище Azure
Тома GlusterFS и Ceph в Kubernetes
Использование GlusterFS
Использование Ceph
Управление томами внутрикластерных контейнеров с помощью Flocker
Интеграция промышленного хранилища в Kubernetes
12
Отображение томов
Использование сторонних хранилищ с помощью FlexVolume
Container Storage Interface
Резюме
Глава 8. Запуск приложений с сохранением состояния
Состояние приложений в Kubernetes
Активная работа с данными в распределенных приложениях
Зачем управлять состоянием в Kubernetes
Зачем выносить управление состоянием за пределы Kubernetes
Механизм обнаружения: общие переменные окружения или DNS-записи
Обращение к внешним хранилищам данных через DNS
Обращение к внешним хранилищам данных через
переменные окружения
Использование ConfigMap в виде переменной окружения
Резервная копия состояния в памяти
Использование DaemonSet в качестве резервного
постоянного хранилища
Подключение постоянных томов
Применение StatefulSet
Выполнение кластера Cassandra в Kubernetes
Краткое введение в Cassandra
Docker-образ Cassandra
Интеграция Kubernetes и Cassandra
Создание неуправляемого сервиса Cassandra
Использование контроллера StatefulSet для создания кластера Cassandra
Распределение Cassandra с помощью контроллера репликации
Использование DaemonSet для распределения Cassandra
Резюме
Глава 9. Плавающие обновления, масштабирование и квоты
Горизонтальное автомасштабирование подов
Объявление горизонтального автомасштабирования подов
Нестандартные показатели
Автомасштабирование с помощью kubectl
Плавающие обновления с автомасштабированием
Ограничение ресурсов с помощью лимитов и квот
Включение квот на ресурсы
Типы квот
Области действия квот
13Запросы и ограничения
Работа с квотами
Выбор и регулирование мощности кластера
Типы узлов
Выбор решений для хранения данных
Компромисс между денежными затратами и временем отклика
Эффективное использование узлов с разной конфигурацией
Преимущества эластичных облачных ресурсов
Hyper.sh и AWS Fargate в качестве альтернативы
Экстремальные нагрузки в Kubernetes
Улучшение производительности и масштабируемости Kubernetes
Измерение производительности и масштабируемости Kubernetes
Тестирование Kubernetes в крупномасштабных кластерах
Резюме
Глава 10. Продвинутая организация сети в Kubernetes
Сетевая модель Kubernetes
Взаимодействие между контейнерами внутри пода
Взаимодействие между подами
Взаимодействие между подами и сервисами
Внешний доступ
Сетевые возможности Kubernetes и Docker
Поиск и обнаружение
Сетевые дополнения к Kubernetes
Сетевые решения для Kubernetes
Создание мостов в аппаратных кластерах
Contiv
Open vSwitch
Nuage Networks VCS
Canal
Flannel
Проект Calico
Romana
Weave Net
Эффективное использование сетевых политик
Архитектура сетевой политики в Kubernetes
Сетевые политики и CNI-дополнения
Конфигурация сетевых политик
Реализация сетевых политик
14
Способы балансирования нагрузки
Внешний балансировщик нагрузки
Балансирование нагрузки с помощью внутреннего сервиса
Ingress
Træfic
Написание собственного дополнения для CNI
Знакомство с дополнением loopback
Сборка CNI-дополнения на основе готового каркаса
Обзор дополнения-моста
Резюме
Глава 11. Запуск Kubernetes в нескольких облаках и многокластерном режиме
Многокластерный режим
Важные сценарии использования многокластерного режима
Федеративный управляющий уровень
Федеративные ресурсы
Сложности
Управление многокластерным режимом Kubernetes
Настройка многокластерного режима с нуля
Начальная настройка
Использование официального образа Hyperkube
Запуск федеративного управляющего уровня
Регистрация кластеров Kubernetes в федерации
Обновление KubeDNS
Отключение многокластерного режима
Настройка многокластерного режима с помощью Kubefed
Каскадное удаление ресурсов
Балансировка нагрузки между несколькими кластерами
Переключение на другие кластеры в случае сбоя
Выполнение федеративных рабочих нагрузок
Создание федеративного сервиса
Добавление подов
Проверка общедоступных записей DNS
Обнаружение федеративного сервиса
Обработка отказов подов и целых кластеров
Решение проблем
Резюме
15Глава 12. Настройка Kubernetes: API и дополнения
Работа с API Kubernetes
OpenAPI
Настройка прокси
Непосредственный доступ к API Kubernetes
Создание пода с помощью API Kubernetes
Доступ к API Kubernetes через клиент Python
Расширение API Kubernetes
Понимание структуры пользовательского ресурса
Определение пользовательских ресурсов
Интеграция пользовательских ресурсов
Агрегация API-серверов
Использование каталога сервисов
Написание дополнений Kubernetes
Создание пользовательского дополнения-планировщика
Проверим, запланированы ли наши поды с помощью пользовательского планировщика
Использование веб-хуков для контроля доступа
Веб-хуки для аутентификации
Веб-хуки для авторизации
Веб-хуки для контроля входа
Предоставление пользовательских показателей для горизонтального автомасштабирования подов
Добавление в Kubernetes пользовательского хранилища
Резюме
Глава 13. Работа с диспетчером пакетов Kubernetes
Знакомство с Helm
Преимущества
Архитектура
Компоненты
Использование Helm
Установка Helm
Поиск схем
Установка пакетов
Работа с репозиториями
Управление схемами с помощью Helm
16
Создание своих собственных схем
Файл Chart.yaml
Файлы метаданных схемы
Управление зависимостями схемы
Использование шаблонов и значений
Резюме
Глава 14. Будущее Kubernetes
Дорога в будущее
Версии и этапы развития Kubernetes
Особые интересы и рабочие группы Kubernetes
Конкуренция
Значимость контейнеризации
Docker Swarm
Mesos/Mesosphere
Облачные платформы
AWS
Azure
Alibaba Cloud
Время Kubernetes
Сообщество
GitHub
Конференции и встречи
Осведомленность потребителей
Экосистема
Провайдеры публичных облаков
Обучение и подготовка
Модулирование и дополнения «вне дерева»
Технология service mesh и serverless-фреймворки
Технология service mesh
Serverless-фреймворки
Резюме
Отзывы
Отзывов пока нет.