Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Istio: приступаем к работе

Использование сервисной сетки для связи,безопасности, управления и наблюдения
Покупка
Артикул: 748357.01.99
Доступ онлайн
999 ₽
В корзину
Вне зависимости оттого, управляете ли вы микросервисами или модернизируете существующие неконтейнерные сервисы, рано или поздно вы все равно окажетесь перед необходимостью организации сервисной сетки. Этот момент наступит тем быстрее, чем больше будет развернуто микросервисов. В предлагаемой вашему вниманию книге Ли Калькот и Зак Бутчер показывают, как сервисная сетка Istio вписывается в жизненный цикл распределенного приложения. Вы изучите ее архитектуру, узнаете об инструментах и API для управления многими функциями Istio, рассмотрите вопросы безопасности и управления трафиком. Особое внимание уделяется устранению неисправностей и отладке. Книга предназначена для IT-специалистов, в задачу которых входит обеспечение безопасной, быстрой и надежной связи между сервисами.
Калькот, Л. Istio: приступаем к работе : практическое руководство / Л. Калькот, З. Бутчер ; пер. с англ. А. Л. Бриня. - Москва : ДМК Пресс, 2020. - 236 с. - ISBN 978-5-97060-863-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/1210709 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Ли Калькот и Зак Бутчер

Istio: 
приступаем к работе

Istio:  
Up and Running

Using a Service Mesh to Connect, 
Secure, Control, and Observe 

Lee Calcote  
Zack Butcher

Beijing • Boston • Farnham • Sebastopol • Tokyo

Istio: 
приступаем к работе

Использование сервисной сетки  
для связи, безопасности, управления  
и наблюдения

Ли Калькот
Зак Бутчер

Москва, 2020

УДК  004.451Istio
ББК 32.972.1
К17

Калькот Л., Бутчер З.
К17 
Istio: приступаем к работе / пер. с англ. А. Л. Бриня. – М.: ДМК Пресс, 
2020. – 236 с.: ил. 

ISBN 978-5-97060-863-0

Вне зависимости от того, управляете ли вы микросервисами или модернизируете существующие неконтейнерные сервисы, рано или поздно вы все равно окажетесь перед необходимостью организации сервисной сетки. Этот момент наступит 
тем быстрее, чем больше будет развернуто микросервисов.
В предлагаемой вашему вниманию книге Ли Калькот и Зак Бутчер показывают, 
как сервисная сетка Istio вписывается в жизненный цикл распределенного приложения. Вы изучите ее архитектуру, узнаете об инструментах и API для управления 
многими функциями Istio, рассмотрите вопросы безопасности и управления трафиком. Особое внимание уделяется устранению неисправностей и отладке.
Книга предназначена для IT-специалистов, в задачу которых входит обеспечение безопасной, быстрой и надежной связи между сервисами.

УДК 004.451Istio
ББК 32.972.1

Authorized Russian translation of the English edition of Istio: Up and Running ISBN 
9781492043782 © 2020 Lee Calcote and Zack Butcher This translation is published and sold by 
permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. 
Russian language edition copyright © 2020 by DMK Press. All rights reserved.

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

ISBN 978-1-492-04378-2 (англ.)  
 Copyright © Lee Calcote and Zack 
Butcher, 2020
ISBN 978-5-97060-863-0 (рус.)  
©  Оформление, издание, перевод, 
ДМК Пресс, 2020

Содержание

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

Об авторах .................................................................................................................... 11

Колофон ......................................................................................................................... 12

Введение ....................................................................................................................... 13

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

Глава 1. Введение в сервисные сетки .......................................................... 16

Что такое сервисная сетка? ................................................................................................ 16
Основы ............................................................................................................................ 16
Путешествие в сервисную сетку ........................................................................................ 17
Клиентские библиотеки: первые сервисные сетки?.................................................... 18
Зачем они нужны?.......................................................................................................... 19
Разве на контейнерных платформах такого еще нет? ................................................ 20
Ландшафт и экосистема ..................................................................................................... 21
Ландшафт ........................................................................................................................ 21
Экосистема ..................................................................................................................... 22
Критическая, ненадежная сеть ...................................................................................... 22
Преимущества сервисной сетки ................................................................................... 23
Сервисная сетка Istio .......................................................................................................... 25
Происхождение Istio ...................................................................................................... 26
Текущее состояние Istio ................................................................................................. 26
Активность развития ..................................................................................................... 27
Выпуски .......................................................................................................................... 28
Классификация версий .................................................................................................. 29
Будущее ........................................................................................................................... 29
То, чем Istio не является ................................................................................................ 30
Речь идет не только о микросервисах ........................................................................... 30

Терминология ..................................................................................................................... 31

Глава 2. Истинно облачный подход к равномерной  
наблюдаемости ......................................................................................................... 34

Что значит быть истинно облачным? .............................................................................. 34
Путь к истинной облачности ......................................................................................... 35
Упаковка и развертывание ............................................................................................ 37
Архитектура приложений.............................................................................................. 37
Процессы разработки и эксплуатации ......................................................................... 38
Истинно облачная инфраструктура .............................................................................. 38
Что такое наблюдаемость? ................................................................................................. 39
Источники телеметрии .................................................................................................. 40
Журналы ......................................................................................................................... 40

 Содержание

Метрики .......................................................................................................................... 41
Трассировка .................................................................................................................... 41
Комбинирование источников телеметрии ................................................................... 42
Почему так важна наблюдаемость в распределенных системах?............................... 43
Равномерная наблюдаемость с сервисной сеткой ........................................................... 44
Клиентские библиотеки ................................................................................................. 45
Взаимодействие с системами мониторинга ................................................................ 45

Глава 3. Istio на первый взгляд ........................................................................ 47

Архитектура сервисной сетки............................................................................................ 47
Уровни ................................................................................................................................. 48
Компоненты уровня управления Istio .......................................................................... 49
Прокси сервисов ............................................................................................................. 51
Компоненты уровня данных Istio ................................................................................. 52
Шлюзы ............................................................................................................................. 53
Расширяемость ................................................................................................................... 56
Замена прокси ................................................................................................................ 56
Замена адаптеров ........................................................................................................... 57
Масштабируемость и производительность ...................................................................... 58
Модели развертывания ...................................................................................................... 59

Глава 4. Развертывание Istio ............................................................................. 61

Подготовка окружения для Istio ........................................................................................ 61
Docker Desktop как среда установки ............................................................................. 61
Конфигурирование Docker Desktop .............................................................................. 62
Установка Istio .................................................................................................................... 65
Параметры установки Istio ............................................................................................ 67
Регистрация нестандартных ресурсов Istio .................................................................. 68
Установка компонентов уровня управления ............................................................... 70
Развертывание образца приложения Bookinfo ............................................................ 73
Развертывание примера приложения с автоматическим внедрением прокси ........ 74
Работа примера приложения в сети ............................................................................. 76
Деинсталляция Istio ............................................................................................................ 77
Установка с помощью Helm ............................................................................................... 77
Установка Helm ............................................................................................................... 77
Установка с помощью Helm ........................................................................................... 78
Проверка сетки после установки .................................................................................. 79
Деинсталляция с помощью Helm .................................................................................. 79
Другие окружения............................................................................................................... 79

Глава 5. Прокси для сервисов ........................................................................... 80

Что такое прокси для сервисов? ........................................................................................ 81
Коротко о iptables ........................................................................................................... 82
Обзор Envoy Proxy ............................................................................................................... 83
Почему Envoy? ................................................................................................................ 84
Envoy в Istio ......................................................................................................................... 85
Внедрение в сетку ............................................................................................................... 85
Внедрение вручную ....................................................................................................... 86
Выборочное внедрение.................................................................................................. 88
Автоматическое внедрение ........................................................................................... 88

Содержание  7

Init-контейнеры в Kubernetes ........................................................................................ 91
Выделение ресурсов для прокси ................................................................................... 91
Функциональные возможности Envoy .............................................................................. 91
Основные конструкции ................................................................................................. 92
Сертификаты и защита трафика ................................................................................... 93

Глава 6. Безопасность и идентичность ........................................................ 96

Контроль доступа ................................................................................................................ 97
Аутентификация ............................................................................................................ 97
Авторизация ................................................................................................................... 97
Идентичность ...................................................................................................................... 98
SPIFFE .............................................................................................................................. 98
Архитектура управления ключами ..................................................................................100
Citadel .............................................................................................................................101
Агенты узлов .................................................................................................................102
Envoy ..............................................................................................................................103
Pilot ................................................................................................................................104
mTLS ...................................................................................................................................104
Настройка политик аутентификации и авторизации в Istio ..........................................105
Политика аутентификации: конфигурирование mTLS ..............................................105
Политика авторизации: настройка разрешений ........................................................108

Глава 7. Pilot ................................................................................................................111

Настройка Pilot ..................................................................................................................111
Конфигурация сетки ..........................................................................................................111
Сетевая конфигурация ..................................................................................................113
Обнаружение сервисов .................................................................................................114
Обслуживание конфигурации ..........................................................................................114
Отладка и устранение неисправностей в Pilot ................................................................116
istioctl  ............................................................................................................................116
Отладка Pilot ..................................................................................................................117
Трассировка конфигурации ..............................................................................................119
Приемники ....................................................................................................................119
Маршруты ......................................................................................................................122
Кластеры ........................................................................................................................124

Глава 8. Управление трафиком .......................................................................127

Как движется трафик в Istio? ............................................................................................127
Работа сетевых API Istio ....................................................................................................128
ServiceEntry ....................................................................................................................129
DestinationRule ..............................................................................................................132
VirtualService .................................................................................................................135
Gateway ..........................................................................................................................139
Управление трафиком и маршрутизация ........................................................................147
Устойчивость ......................................................................................................................152
Стратегия балансировки нагрузки ..............................................................................153
Обнаружение аномалий ...............................................................................................154
Повторные попытки .....................................................................................................154
Тайм-ауты ......................................................................................................................155
Имитация ошибок .........................................................................................................156

 Содержание

Входные и выходные шлюзы ............................................................................................157
Входной шлюз ...............................................................................................................158
Выходной шлюз .............................................................................................................158

Глава 9. Mixer и политика в сетке .................................................................161

Архитектура .......................................................................................................................161
Обеспечение политики .................................................................................................163
Как работают политики Mixer ...........................................................................................164
Передача телеметрии ....................................................................................................165
Атрибуты ............................................................................................................................166
Отправка отчетов ..........................................................................................................167
Кеширование результатов проверок ...........................................................................167
Адаптеры ............................................................................................................................167
Внутрипроцессные адаптеры .......................................................................................168
Внепроцессные адаптеры .............................................................................................168
Создание политики Mixer и использование адаптеров ..................................................169
Конфигурация Mixer .....................................................................................................169
Адаптер открытого агента политик .............................................................................170
Адаптер Prometheus  .....................................................................................................171

Глава 10. Телеметрия.............................................................................................175

Модели адаптеров .............................................................................................................175
Отчеты телеметрии .......................................................................................................176
Метрики .............................................................................................................................176
Настройка Mixer для сбора метрик ..............................................................................176
Настройка сбора и запроса метрик ..............................................................................177
Трассировка ...................................................................................................................178
Отключение трассировки .............................................................................................180
Журналы .............................................................................................................................181
Метрики .........................................................................................................................183
Визуализация .....................................................................................................................184

Глава 11. Отладка Istio .........................................................................................185

Поддержка интроспекции в компонентах Istio ...............................................................185
Отладка с использованием уровня администрирования ...............................................186
С использованием kubectl ............................................................................................187
Готовность рабочих нагрузок ............................................................................................189
Конфигурация приложения ..........................................................................................189
Сетевой трафик и порты ...............................................................................................189
Сервисы и развертывание ............................................................................................190
Поды ...............................................................................................................................191
Istio: установка, обновление и удаление .........................................................................191
Установка .......................................................................................................................192
Обновление ...................................................................................................................192
Отладка Mixer .....................................................................................................................193
Отладка Pilot ......................................................................................................................194
Отладка Galley ....................................................................................................................194
Отладка Envoy ....................................................................................................................195
Административная консоль Envoy ...............................................................................196
Ответы 503 или 404  ......................................................................................................196

Содержание  9

Внедрение прокси .........................................................................................................196
Совместимость версий ......................................................................................................198

Глава 12. Вопросы развертывания приложений .................................199

Соображения об уровне управления ................................................................................199
Galley ..............................................................................................................................200
Pilot ................................................................................................................................202
Mixer ...............................................................................................................................204
Citadel .............................................................................................................................207
Пример из практики: канареечное развертывание ........................................................208
Кросс-кластерное развертывание ................................................................................214

Глава 13. Продвинутые сценарии .................................................................216

Типы продвинутых топологий .........................................................................................216
Однокластерные сетки..................................................................................................216
Мультикластерные сетки ..............................................................................................217
Рабочие примеры ..........................................................................................................220
Выбор топологии ...............................................................................................................221
Кросс-кластер или мультикластер? .............................................................................221
Настройка кросс-кластера ............................................................................................224
Настройка DNS и развертывание Bookinfo ..................................................................226

Предметный указатель ........................................................................................232

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

Отзывы и пожелания

Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете об 
этой книге – что понравилось или, может быть, не понравилось. Отзывы важны 
для нас, чтобы выпускать книги, которые будут для вас максимально полезны.
Вы можете написать отзыв прямо на нашем сайте www.dmkpress.com, зайдя 
на страницу книги, и оставить комментарий в разделе «Отзывы и рецензии». 
Также можно послать письмо главному редактору по адресу dmkpress@gmail.
com, при этом напишите название книги в теме письма. 
Если есть тема, в которой вы квалифицированы, и вы заинтересованы 
в написании новой книги, заполните форму на нашем сайте по адресу http://
dmkpress.com/authors/publish_book/ или напишите в издательство по адресу  
dmkpress@gmail.com.

Скачивание исходного кода примеров

Скачать файлы с дополнительной информацией для книг издательства «ДМК 
Пресс» можно на сайте www.dmkpress.com на странице с описанием соответствующей книги. 

Список опечаток

Хотя мы приняли все возможные меры для того, чтобы удостовериться в качестве наших текстов, ошибки все равно случаются. Если вы найдете ошибку 
в одной из наших книг – возможно, ошибку в тексте или в коде, – мы будем 
очень благодарны, если вы сообщите нам о ней. Сделав это, вы избавите других читателей от расстройств и поможете нам улучшить последующие версии 
данной книги. 
Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите о них 
главному редактору по адресу dmkpress@gmail.com, и мы исправим это в следующих тиражах.

Нарушение авторских прав

Пиратство в интернете по-прежнему остается насущной проблемой. Издательства «ДМК Пресс» и OʼReilly очень серьезно относятся к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконно 
выполненной копией любой нашей книги, пожалуйста, сообщите нам адрес 
копии или веб-сайта, чтобы мы могли применить санкции.
Пожалуйста, свяжитесь с нами по адресу dmkpress@gmail.com со ссылкой на 
подозрительные материалы.
Мы высоко ценим любую помощь по защите наших авторов, помогающую 
нам предоставлять вам качественные материалы.

Доступ онлайн
999 ₽
В корзину