Осваиваем Kubernetes. Оркестрация контейнерных архитектур, Сайфан Д.

690 грн.

Описание

Осваиваем 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-фреймворки

Резюме

Також ви можете залишити питанная або відгук про книгу: Осваиваем Kubernetes. Оркестрация контейнерных архитектур, Сайфан Д.

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “Осваиваем Kubernetes. Оркестрация контейнерных архитектур, Сайфан Д.”

Ваш адрес email не будет опубликован. Обязательные поля помечены *