Kubernetes: Лучшие практики - Брендан Бернс - E-Book

Kubernetes: Лучшие практики E-Book

Брендан Бернс

0,0
10,49 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Положитесь на опыт профессионалов, успешно применяющих и развивающих проект Kubernetes. Инженеры Microsoft предлагают лучшие приёмы оркестрации контейнеров. Их практики сложились в процессе разработки распределённых систем, на ответственных и нагруженных проектах. Вам останется лишь слегка адаптировать код. Книга идеально подойдет тем, кто уже знаком с Kubernetes, но ещё не умеет использовать его максимально эффективно. Вы узнаете всё, что необходимо для создания классного Kubernetes-приложения, в том числе: - Подготовка окружения и разработка приложений в Kubernetes. - Паттерны мониторинга и защиты ваших систем, управления обновлениями. - Сетевые политики Kubernetes и роли сервисных сетей в экосистеме. - Использование Kubernetes в задачах машинного обучения.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 298

Veröffentlichungsjahr: 2023

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Брендан Бернс, Эдди Вильяльба, Дейв Штребель, Лахлан Эвенсон
Kubernetes: Лучшие практики

Научный редактор А. Сидоров

Переводчик С. Черников

Литературный редактор Н. Хлебина

Художник В. Мостипан

Корректоры Е. Павлович, Е. Рафалюк-Бузовская

Брендан Бернс, Эдди Вильяльба, Дейв Штребель, Лахлан Эвенсон

Kubernetes: Лучшие практики. — СПб.: Питер, 2021.

ISBN 978-5-4461-1688-1

© ООО Издательство "Питер", 2021

Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.

Оглавление

Введение
Кому стоит прочесть эту книгу
Почему мы написали эту книгу
Структура книги
Условные обозначения
Использование примеров кода
Благодарности
От издательства
Глава 1. Создание простого сервиса
Обзор приложения
Управление конфигурационными файлами
Создание реплицированного сервиса с помощью ресурса Deployment
Настройка внешнего доступа для HTTP-трафика
Конфигурация приложения с помощью ConfigMap
Управление аутентификацией с помощью объектов Secret
Stateful-развертывание простой базы данных
Создание балансировщика нагрузки для TCP с использованием Service
Направление трафика к серверу статических файлов с помощью Ingress
Параметризация приложения с помощью Helm
Рекомендации по развертыванию сервисов
Резюме
Глава 2. Процесс разработки
Цели
Построение кластера для разработки
Подготовка разделяемого кластера для нескольких разработчиков
Рабочие процессы разработчика
Начальная подготовка
Активная разработка
Тестирование и отладка
Рекомендации по подготовке среды для разработки
Резюме
Глава 3. Мониторинг и ведение журнала в Kubernetes
Метрики и журнальные записи
Разновидности мониторинга
Методы мониторинга
Обзор метрик, доступных в Kubernetes
Какие метрики нужно отслеживать
Средства мониторинга
Мониторинг в Kubernetes с использованием Prometheus
Обзор журналирования
Инструменты для ведения журнала
Журналирование с использованием стека EFK
Уведомления
Рекомендации по мониторингу, журналированию и созданию уведомлений
Резюме
Глава 4. Конфигурация, Secrets и RBAC
Конфигурация с использованием объектов ConfigMap и Secret
Общепринятые рекомендации по работе с API ConfigMap и Secret
RBAC
Резюме
Глава 5. Непрерывная интеграция, тестирование и развертывание
Управление версиями
Непрерывная интеграция
Тестирование
Сборка контейнеров
Назначение тегов образам контейнеров
Непрерывное развертывание
Стратегии развертывания
Тестирование в промышленных условиях
Подготовка процесса и проведение хаотического эксперимента
Рекомендации относительно CI/CD
Резюме
Глава 6. Версии, релизы и выкатывание обновлений
Ведение версий
Релизы
Развертывание обновлений
Полноценный пример
Резюме
Глава 7. Глобальное распределение приложений и промежуточное тестирование
Распределение вашего образа
Параметризация развертываний
Глобальное распределение трафика
Надежное развертывание программного обеспечения в глобальном масштабе
Когда что-то идет не так
Рекомендации по глобальному развертыванию
Резюме
Глава 8. Управление ресурсами
Планировщик Kubernetes
Продвинутые методики планирования
Управление ресурсами pod
Рекомендации по управлению ресурсами
Резюме
Глава 9. Сетевые возможности, безопасность сети и межсервисное взаимодействие
Принципы работы с сетью в Kubernetes
Сетевые дополнения
Сервисы в Kubernetes
Сетевые политики безопасности
Механизмы межсервисного взаимодействия
Резюме
Глава 10. Безопасность pod и контейнеров
API PodSecurityPolicy
Изоляция рабочих заданий и RuntimeClass
Другие важные аспекты безопасности pod и контейнеров
Резюме
Глава 11. Политики и принципы управления кластером
Почему политики и принципы управления кластером имеют большое значение
В чем отличие от других политик
Облачно-ориентированная система политик
Введение в Gatekeeper
Аудит
Рекомендации относительно политик и принципов управления
Резюме
Глава 12. Управление несколькими кластерами
Зачем может понадобиться больше одного кластера
Проблемы многокластерной архитектуры
Развертывание в многокластерной архитектуре
Администрирование кластера с помощью методики GitOps
Средства управления несколькими кластерами
Kubernetes Federation
Рекомендации по эксплуатации сразу нескольких кластеров
Резюме
Глава 13. Интеграция внешних сервисов с Kubernetes
Импорт сервисов в Kubernetes
Экспорт сервисов из Kubernetes
Разделение сервисов между кластерами Kubernetes
Сторонние инструменты
Рекомендации по соединению кластеров и внешних сервисов
Резюме
Глава 14. Машинное обучение и Kubernetes
Почему Kubernetes отлично подходит для машинного обучения
Рабочий процесс машинного обучения
Машинное обучение с точки зрения администраторов кластеров Kubernetes
Машинное обучение с точки зрения специалистов по анализу данных
Рекомендации по машинному обучению в Kubernetes
Резюме
Глава 15. Построение высокоуровневых абстракций на базе Kubernetes
Разные подходы к разработке высокоуровневых абстракций
Расширение Kubernetes
Архитектурные аспекты построения новых платформ
Рекомендации по созданию прикладных платформ
Резюме
Глава 16. Управление состоянием
Тома и их подключение
Хранение данных в Kubernetes
Приложения с сохранением состояния
Резюме
Глава 17. Контроль доступа и авторизация
Контроль доступа
Авторизация
Резюме
Глава 18. В заключение
Об авторах
Об изображении на обложке
Рекомендуем прочитать

Введение

Кому стоит прочесть эту книгу

Kubernetes — фактический стандарт для облачно-ориентированной разработки. Это эффективный инструмент, который может упростить создание ваших приложений, ускорить развертывание и сделать его более надежным. Но для раскрытия всего потенциала этой платформы нужно научиться ее корректно использовать. Книга предназначена для всех, кто развертывает реальные приложения в Kubernetes и заинтересован в изучении паттернов проектирования и методик, применимых к этим приложениям.

Важно понимать: это не введение в Kubernetes. Мы исходим из того, что вы уже имеете общее представление об API и инструментарии данной платформы и знаете, как создавать и администрировать кластеры на ее основе. Познакомиться с Kubernetes можно, в частности, прочитав книгу Kubernetes: Up and Running (O’Reilly) (https://oreil.ly/ziNRK).

Эта книга предназначена для читателей, желающих подробно изучить процесс развертывания конкретных приложений в Kubernetes. Она будет полезной как тем, кто собирается развернуть в Kubernetes свое первое приложение, так и специалистам с многолетним опытом использования данной платформы.

Почему мы написали эту книгу

Мы, четыре автора этой книги, многократно помогали развертывать приложения в Kubernetes. Мы видели, какие трудности возникали у разных пользователей, и помогали решать их. Приступая к написанию книги, мы хотели поделиться своим опытом, чтобы еще больше людей могло извлечь пользу из усвоенных нами уроков. Надеемся, таким образом нам удастся сделать наши знания общедоступными и благодаря этому вы сможете самостоятельно развертывать и администрировать свои приложения в Kubernetes.

Структура книги

Эту книгу можно читать последовательно, от первой до последней страницы, однако на самом деле мы задумывали ее как набор независимых глав. В каждой главе дается полноценный обзор определенной задачи, выполнимой с помощью Kubernetes. Мы ожидаем, что вы углубитесь в материал, чтобы узнать о конкретной проблеме или интересующем вас вопросе, а затем будете периодически обращаться к книге при возникновении новых запросов.

Несмотря на столь четкое разделение, некоторые темы будут встречаться вам на протяжении всей книги. Разработке приложений в Kubernetes посвящено сразу несколько глав. Глава 2 описывает рабочий процесс. В главе 5 обсуждаются непрерывная интеграция и тестирование. В главе 15 речь идет о построении на основе Kubernetes высокоуровневых платформ, а в главе 16 рассматривается управление stateless- и stateful-приложениями. Управлению сервисами в Kubernetes также отводится несколько глав. Глава 1 посвящена подготовке простого сервиса, а глава 3 — мониторингу и метрикам. В главе 4 вы научитесь управлять конфигурацией, а в главе 6 — версиями и релизами. В главе 7 описывается процесс глобального развертывания приложения.

Другая обширная тема — работа с кластерами. Сюда относятся управление ресурсами (глава 8), сетевые возможности (глава 9), безопасность pod (глава 10), политики и управляемость (глава 11), управление несколькими кластерами (глава 12), а также контроль доступа и авторизацию (глава 17). Кроме того, есть полностью самостоятельные главы, посвященные машинному обучению (глава 14) и интеграции с внешними сервисами (глава 13).

Прежде чем браться за выполнение реальной задачи, не помешает прочесть соответствующие главы, хотя мы надеемся, что вы будете использовать эту книгу как справочник.

Условные обозначения

В этой книге используются следующие условные обозначения:

Курсив

Курсивом выделены новые термины и важные слова.

Моноширинный шрифт

Используется для листингов программ, а также внутри абзацев для обозначения таких элементов, как переменные и функции, базы данных, типы данных, переменные среды, операторы и ключевые слова, имена файлов и их расширения.

Моноширинный жирный шрифт

Показывает команды или другой текст, который пользователь должен ввести самостоятельно.

Моноширинный зеленый шрифт

Показывает текст, который должен быть заменен значениями, введенными пользователем, или значениями, определяемыми контекстом.

Шрифт без засечек

Используется для обозначения URL, адресов электронной почты, названий кнопок, каталогов.

Этот рисунок указывает на совет или предложение.

Такой рисунок указывает на общее замечание.

Этот рисунок указывает на предупреждение.

Использование примеров кода

Дополнительный материал (примеры кода, упражнения и т.д.) доступен для скачивания по адресу oreil.ly/KBPsample.

Если при использовании примеров кода у вас возникнут технические вопросы или проблемы, то, пожалуйста, обращайтесь к нам по адресу [email protected].

Назначение книги — помочь решить ваши задачи. В ваших программах и документации разрешается использовать предложенный пример кода. Не нужно связываться с нами, если вы не воспроизводите его существенную часть: например, когда включаете в свою программу несколько фрагментов кода, приведенного здесь. Однако продажа или распространение компакт-дисков с примерами из книг издательства O’Reilly требует отдельного разрешения. Вы можете свободно цитировать эту книгу с примерами кода, отвечая на вопрос, но если хотите включить существенную часть приведенного здесь кода в документацию своего продукта, то вам следует связаться с нами.

Мы приветствуем, но не требуем отсылки на оригинал. Отсылка обычно состоит из названия, имени автора, издательства, ISBN и копирайта. Напри­мер, «Kubernetes: лучшие практики», Брендан Бернс, Эдди Вильяльба, Дейв Штребель, Лахлан Эвенсон (Питер). Copyright 2020 Brendan Burns, Eddie Villalba, Dave Strebel and Lachlan Evenson. 978-5-4461-1688-1.

Если вам кажется, что ваше обращение с примерами кода выходит за рамки добросовестного использования или условий, перечисленных выше, то можете обратиться к нам по адресу [email protected].

Благодарности

Брендан хотел бы поблагодарить свою чудесную семью: Робин, Джулию и Итана — за любовь и поддержку всех его действий; сообщество Kubernetes, благодаря которому все это стало возможным; своих потрясающих соавторов — без них книга не появилась бы на свет.

Дейв благодарит за поддержку свою прекрасную жену Джен и трех детей: Макса, Мэдди и Мэйсона. Он также хотел бы поблагодарить сообщество Kubernetes за все советы и помощь, полученные на протяжении многих лет. И наконец, он хотел бы выразить признательность своим соавторам, которые помогли воплотить этот проект в жизнь.

Лахлан хотел бы поблагодарить свою жену и троих детей за их любовь и поддержку. Он также хотел бы сказать спасибо всем участникам сообщества Kubernetes, в том числе замечательным людям, на протяжении этих лет находившим время, чтобы поделиться с ним знаниями. Он хотел бы выразить особую признательность Джозефу Сандовалу за наставничество. И наконец, Лахлан не может не поблагодарить своих фантастических соавторов, благодаря которым появилась эта книга.

Эдди хотел бы поблагодарить свою жену Сандру за моральную поддержку и возможность заниматься этим изданием часами напролет, в то время как она сама была в последнем триместре первой беременности. Он также хотел бы сказать спасибо своей дочери Джованне за дополнительную мотивацию. В завершение Эдди хотел бы выразить признательность сообществу Kubernetes и своим соавторам, на которых он всегда равнялся при работе с облачно-ориентированными технологиями.

Мы хотели бы поблагодарить Вирджинию Уилсон за ее помощь в работе над рукописью и объединении всех наших идей, а также Бриджет Кромхаут, Билгина Ибряма, Роланда Хуса и Джастина Домингуса за их внимание к деталям.

От издательства

Ваши замечания, предложения, вопросы отправляйте по электронному адресу [email protected] (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.