Оглавление....6
Предисловие....10
Просто еще один пакет?....10
Для кого эта книга....10
Что вы узнаете....11
Обозначения, используемые в данной книге....11
Использование примеров программ....11
Благодарности....12
Глава 1. Введение в сетевые технологии....14
История сетевых технологий....14
Модель OSI....17
TCP/IP....21
Уровень приложения....23
HTTP....23
Транспортный уровень....26
TCP....26
TLS....37
UDP....39
Уровень межсетевого взаимодействия....40
Протокол Интернета....40
Движение по сети....45
ICMP....48
Уровень канала данных....50
Снова наш веб-сервер....55
Заключение....57
Глава 2. Поддержка сети в ОС Linux....60
Базовые понятия....60
Сетевой интерфейс....64
Интерфейс сетевого моста....65
Обработка пакетов в ядре Linux....67
NetfiIter (межсетевой фильтр)....67
Conntrack....71
Маршрутизация....73
Высокоуровневая маршрутизация....74
Утилита iptables....75
Таблицы iptables....76
Цепочки iptables....76
Подцепочки....80
Правила iptables....81
Практическое применение iptables....83
IPVS....86
eBPF....88
Средства сетевой диагностики....91
Безопасность....91
ping....92
traceroute....93
dig....94
telnet....96
nmap....97
netstat....98
net cat....99
Openssl....100
cURL....101
Заключение....103
Глава 3. Основы работы с контейнерами....104
Введение в контейнеры....104
Приложения....104
Гипервизор....105
Контейнеры....106
OCI....109
LXC....110
runC....110
containerd....110
lmctfy....111
rkt.................................................................11О....111
Docker....111
CRI-0....112
Примитивы контейнеров....114
Контрольные группы....114
Пространства имен....115
Задание пространств имен....117
Основы сетей контейнеров....124
Сетевая модель Docker....133
Оверлейная сеть....135
Сетевой интерфейс контейнера....136
Подключение контейнера к сети....138
Соединение контейнер-контейнер....143
Взаимодействие между контейнерами на разных хостах....145
Заключение....146
Глава 4. Сети в Kubernetes....148
Сетевая модель Kubernetes....148
Узел и конфигурация сети подов....151
Изолированные сети....152
Плоские сети....153
Островные сети....154
Конфигурация компонента kube-controller-manager....155
Kubelet....156
Готовность пода и ее проверка....157
Спецификация интерфейса CNI....163
Плагины CNI....164
Интерфейс IPAM....165
Распространенные плагины CNI....166
Компонент kube-proxy....171
Режим user space....172
Режим iptables....172
Режим IPVS....174
Режим kernelspace....174
Сетевая политика....174
Создание объекта NetworkPolicy с помощью Cilium....178
Группировка подов....183
Тип LabelSelector....184
Правила....186
DNS....190
Двойной стек IPv4/ IPv6....195
Заключение....197
Глава 5. Сетевые абстракции в Kubernetes....198
StatefulSet....199
Конечные точки....201
Endpoint Slices....205
Сервисы Kubernetes....209
NodePort....210
ClusterIP....213
Headless-сервис....220
Сервис ExtemalName....222
Сервис LoadBalancer....223
Сервисы Kubernetes — устранение проблем....229
Ингресс....230
Контроллеры и правила ингресса....231
Задание правил ингресса....237
Технология service mesh....238
Заключение....250
Глава 6. Kubernetes и облачные сети....252
Amazon Web Services....252
Сетевые сервисы AWS....252
Виртуальное частное облако....253
Регионы и зоны доступности....253
Подсеть....254
Таблицы маршрутизации....255
Эластичный сетевой интерфейс....257
Эластичный IP-адрес....257
Средства обеспечения безопасности....258
Устройства преобразования сетевых адресов....261
Шлюз Интернета....261
Эластичные балансировщики нагрузки....262
Эластичный сервис Kubernetes от Amazon....265
Узлы EKS....265
Режим EKS....266
Инструмент eksctl....269
CNI для виртуального облака в AWS....271
Ингресс-контроллер для AWS ALB....273
Развертывание приложения в кластере AWS EKS....275
Развертывание кластера EKS....275
Развертывание тестового приложения....277
Тестирование сервиса LoadBalancer для веб-сервера....278
Развертывание и тестирование ингресс-контроллера для ALB....279
Уборка мусора....282
Вычислительное облако Google (GCP)....283
Сетевые сервисы GCP....283
Регионы и зоны....284
Виртуальное частное облако....284
Подсеть....285
Маршруты и правила брандмауэров....286
Облачная балансировка нагрузки....286
Инстансы GCE....287
Google Kubernetes Engine (GKE)....287
GKE-узлы в облаке Google....288
Azure....291
Сетевые сервисы Azure....291
Базовая инфраструктура Azure....292
Подсети....293
Таблицы маршрутизации....293
Публичные и частные IP-адреса....296
Группы сетевой безопасности....296
Взаимодействие вне пределов виртуальной сети....298
Балансировщик нагрузки в Azure....298
Azure Kubernetes Service....301
Плагин CNI для Azure....303
Ингресс-контроллер для шлюза приложения....304
Развертывание приложения с помощью Azure Kubernetes Service....305
Развертывание кластера с помощью Azure Kubernetes Service....306
Соединение с кластером AKS и его конфигурирование....311
Развертывание веб-сервера....314
Заключительные замечания по AKS....316
Заключение....316
Об авторах....318
Об обложке....320
Книга посвящена интеграции Kubernetes в готовые компьютерные сети. Рассмотрено, как оркестратор Kubernetes вписывается в сетевую модель OSI. Раскрыты вопросы интеграции сетей предприятия с облачными мощностями и контейнерными архитектурами. Рассмотрены ключевые факторы и новые зоны ответственности, возникающие при взаимодействии Kubernetes с каждым из уровней модели OSI. Приведены примеры быстрого масштабирования нагрузок, рассказано, как обеспечивать целостность данных и высокую отказоустойчивость, при активном применении современной виртуализации и при передаче больших объёмов данных по сети.
Для Linux-разработчиков, DevOps-инженеров и системных администраторов.
Авторы помогут вам быстро познакомиться со всеми тонкостями, возникающими при развёртывании Kubernetes в больших контейнерных конфигурациях. Если хотите преуспеть в поддержке продакшен-кластера и эффективно устранять в нём неполадки, то нужно уверенно различать абстракции, предоставляемые на каждом из уровней OSI. Как – читайте в этой книге.