[Dangdang.com подлинная книга] Kubernetes в действии китайская версия

Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.
Описание товара
- Информация о товаре
- Фотографии
Рекомендуемые читатели: Эта книга подойдет системным архитекторам, разработчикам и тестировщикам, а также персоналу по эксплуатации и техническому обслуживанию.Он также имеет справочную ценность для корпоративных ИТ-директоров, системных администраторов, администраторов платформ, персонала SRE и т. д. Его, конечно, также можно использовать в качестве профессионального учебника по облачным вычислениям и контейнерным технологиям в колледжах и университетах.
Система оркестровки контейнеров Kubernetes безопасно управляет структурой и процессами распределенных приложений и организует контейнеры и сервисы с чрезвычайно высокой эффективностью.Kubernetes выступает в качестве операционной системы для кластера, что устраняет необходимость учитывать базовую сетевую и серверную инфраструктуру при проектировании.Эта книга научит вас использовать Kubernetes для развертывания распределенных приложений на основе контейнеров. Прежде чем создавать кластер Kubernetes, вы начнете с обзора Docker и Kubernetes.Вы будете постепенно расширять исходное приложение, добавлять функции и углублять понимание архитектуры и операций Kubernetes.Изучая это подробное руководство, вы также изучите более сложные темы, такие как мониторинг, настройка и масштабирование. В эту книгу входят:
◎Внутренние принципы Kubernetes
◎Развертывание контейнеров в кластерах
◎Обеспечить безопасность кластера
◎Обновляйте приложения без простоев

| наименование товара: | Kubernetes in Action китайская версия | формат: | 128 |
| Автор: | (США) Марко Лукса (Марко&миддот; Луша) | Цены: | 148.00 |
| Номер ISBN: | 9787121349959 | Опубликованная дата: | 2018-12-01 |
| Издательство: | Электронная промышленная пресса | Время печати: | 2018-12-01 |
| Версия: | 1 | Индийский: | 1 |
1 Введение в Kubernetes 1
1.1 Требования к системе Kubernetes 2
1.1.1 От монолитного приложения к микросервисам 2
1.1.2 Обеспечение единообразной среды для приложений 5
1.1.3 Стоимость к непрерывной доставке: DevOps и без эксплуатационного измерения 6
1.2 Введение в контейнерную технологию 7
1.2.1 Что такое контейнер 7
1.2.2 Знакомство с контейнерной платформой Docker 11
1.2.3 rkt—&-Альтернатива Docker 14
1.3 Введение в Kubernetes 15
1.3.1 Первоначальное намерение 15
1.3.2 Понимание Kubernetes простым и легким способом 15
1.3.3 Архитектура кластера Kubernetes 17
1.3.4 Запуск приложений в Kubernetes 18
1.3.5 Преимущества использования Kubernetes 20
1.4 Резюме этой главы 22
2. Начало работы с Kubernetes и Docker 23
2.1 Создание, запуск и обмен образами контейнеров 23
2.1.1 Установите Docker и запустите контейнер Hello World 24
2.1.2 Создание простого приложения Node.js 26
2.1.3 Создание Dockerfile для образа 27
2.1.4 Создание образов контейнеров 27
2.1.5 Запуск образов контейнеров 30
2.1.6 Исследование внутренней части работающего контейнера 31
2.1.7 Остановка и удаление контейнеров 32
2.1.8 Отправка изображений в хранилище изображений 33
2.2 Настройка кластера Kubernetes 34
2.2.1 Использование Minikube для запуска локального одноузлового кластера Kubernetes 34
2.2.2 Использование Google Kubernetes Engine для размещения кластеров Kubernetes 36
2.2.3 Настройка псевдонимов и дополнения командной строки для kubectl 39
2.3 Запуск приложения в Kubernetes 40
2.3.1 Deploy Node.js Application 40
2.3.2 Доступ к веб-приложениям 43
2.3.3 Логическая часть системы 45
2.3.4 Приложение горизонтального масштабирования 46
2.3.5 Проверьте, на каком узле работает приложение 49
2.3.6 Знакомство с панелью управления Kubernetes 50
2.4 Сводка этой главы 51
Модуль 3: контейнер, работающий в Kubernetes 53.
3.1 Знакомство с модулем 53
3.1.1 Зачем нужен модуль 54
3.1.2 Понимание модуля 55
3.1.3 Правильное управление контейнерами через модуль 56
3.2 Создайте модуль 58 с файлом описания YAML или JSON.
3.2.1 Проверка файла описания YAML существующего модуля 59
3.2.2 Создайте простой файл описания YAML 61 для POD
3.2.3 Использование kubectl create для создания модуля 63
3.2.4 Просмотр журналов приложений 64
3.2.5 Отправить запрос на модуль 65
3.3 Использование меток для организации модулей 66
3.3.1 Знакомство с тегами 66
3.3.2 Указание меток при создании модулей 67
3.3.3 Изменение метки существующего модуля 68
3.4 Перечисление подмножеств модулей с помощью селекторов меток 69
3.4.1 Используйте Selectioner Tag, чтобы перечислить POD 69
3.4.2 Использование нескольких условий в селекторах тегов 71
3.5. Используйте метки и селекторы для ограничения планирования модулей 71
3.5.1 Использование меток для классификации рабочих узлов 72
3.5.2 Планирование модулей для определенных узлов 72
3.5.3 Планирование конкретного узла 73
3.6 Аннотации pod73
3.6.1 Поиск аннотаций к объектам 74
3.6.2 Добавление и изменение аннотаций 74
3.7 Использование пространств имен для группировки ресурсов 75
3.7.1 Понимание необходимости пространств имен 75
3.7.2 Откройте для себя другие пространства имен и их модули 75
3.7.3 Создание пространства имен 76
3.7.4 Управление объектами в других пространствах имен 77
3.7.5 Изоляция, обеспечиваемая пространствами имен 78
3.8 Остановка и снятие капсулы 78
3.8.1 Удаление модуля 78 по имени
3.8.2 Используйте селектор тегов для удаления POD 79
3.8.3 Удалить модуль 80, удалив все пространство имен
3.8.4 Удалите все модули в пространстве имен, но сохраните пространство имен 80.
3.8.5 Удалить (почти) все ресурсы в пространстве имен 80
3.9 Эта глава - резюме 81
4. Механизм реплик и другие контроллеры: развертывание размещенных модулей 83
4.1 Поддержание здоровья капсулы 84
4.1.1 Знакомство с зондами выживания 84
4.1.2 Создание проверки выживания на основе HTTP 85
4.1.3 Использование зондов выживания 86
4.1.4 Настройка дополнительных атрибутов зонда выживания 87
4.1.5 Создание эффективных тестов жизнеспособности 88
4.2. Понимание контроллера репликации 89
4.2.1 Работа контроллера репликации 90
4.2.2 Создание контроллера репликации 92
4.2.3 Использование контроллера репликации 94
4.2.4 Перемещение модулей в область действия ReplicationController или из нее 97
4.2.5 Изменение шаблона модуля 100
4.2.6 Модуль горизонтального масштабирования 101
4.2.7 Удаление контроллера репликации 103
4.3. Используйте ReplicaSet вместо ReplicationController 104.
4.3.1 Сравнение Replicaset и ReplicationController 104
4.3.2 Определить ReplicaSet 105
4.3.3 Создание и проверка ReplicaSet106
4.3.4 Более выразительный селектор тегов с использованием ReplicaSet 106
4.3.5 Сводка набора реплик 107
4.4. Используйте DaemonSet для запуска модуля 107 на каждом узле.
4.4.1 Использование DaemonSet для запуска модуля 108 на каждом узле
4.4.2 Использование DaemonSet для запуска модуля 109 только на определенных узлах
4.5 Запуск модуля 112, выполняющего одну задачу
4.5.1 Знакомство с ресурсами вакансий 112
4.5.2 Определение ресурсов задания 113
4.5.3 Посмотрите, как Джоб запускает модуль 114
4.5.4 Запуск нескольких экземпляров модуля в задании 114
4.5.5 Ограничение времени выполнения задач модулем Job 116
4.6 Планирование регулярного или однократного запуска задания 116
4.6.1 Создание задания CronJob 116
4.6.2 Понимание того, как выполняются запланированные задачи 118
4.7 Краткое содержание этой главы 118
5 Сервис: позвольте клиенту обнаружить модуль и связаться с ним 121
5.1 Знакомство с услугами 122
5.1.1 Создание сервисов 123
5.1.2 Обнаружение услуг 129
5.2 Подключение к сервисам вне кластера 132
5.2.1 Знакомство с конечной точкой сервиса 133
5.2.2 Настройка конечной точки службы вручную 133
5.2.3 Создание псевдонимов для внешних сервисов 135
5.3 Предоставление услуг внешним клиентам 136
5.3.1 Использование сервисов типа NodePort 137
5.3.2 Предоставление услуг через балансировщики нагрузки 140
5.3.3 Понимание характеристик внешних соединений 142
5.4 Предоставление услуг через Ingress 143
5.4.1 Создание входящего ресурса 145
5.4.2 Доступ к сервисам через Ingress 146
5.4.3 Предоставление доступа к нескольким сервисам через один и тот же Ingress 147
5.4.4 Настройка Ingress для обработки передачи TLS 149
5.5 Отправка сигнала о готовности модуля 150
5.5.1 Знакомство с датчиками готовности 151
5.5.2 Добавление датчиков готовности в модули 152
5.5.3 Понимание того, что на самом деле делают датчики готовности 154
5.6. Использование автономных сервисов для обнаружения независимых модулей 155
5.6.1 Создание автономного сервиса 156
5.6.2 Обнаружение модуля 156 через DNS
5.6.3 Откройте для себя все стручки—&-Включить модуль 157, который еще не готов.
5.7 Устранение проблем с обслуживанием 158
5.8 Краткое содержание этой главы 159
6 Том: смонтируйте диск в контейнер 161.
6.1 Введение, том 162
6.1.1 Примеры объемного применения 162
6.1.2 Знакомство с доступными типами томов 164
6.2 Совместное использование данных между контейнерами через тома 165
6.2.1 Использование пустого каталога Volume 165
6.2.2 Использование репозитория Git в качестве тома хранения 168
6.3 Доступ к файлам в файловой системе рабочего узла 171
6.3.1 ВВЕДЕНИЕ HOSTPATH Том 171
6.3.2 Проверка системного модуля 172 с использованием томов HostPath
6.4 Использование постоянного хранилища 173
6.4.1 Использование постоянных дисков GCE в качестве томов хранения модулей 174
6.4.2 Использование других типов томов через базовое постоянное хранилище 177
6.5 Отделение модулей от базовой технологии хранения данных 179
6.5.1 Введение в постоянные тома и объявления постоянных томов 179
6.5.2 Создание постоянных томов 180
6.5.3 Получение постоянного тома путем создания заявки на постоянный том 182
6.5.4 Использование объявлений постоянных томов в модулях 184
6.5.5 Понимание преимуществ использования постоянных томов и утверждений постоянных томов 185
6.5.6 Переработка постоянных томов 186
6.6 Динамическая конфигурация постоянных томов 187
6.6.1 Определение доступных типов хранилища с помощью ресурса StorageClass 188
6.6.2 Запрос класса хранилища в заявке на постоянный том 188
6.6.3 Динамическая конфигурация без указания класса хранения 190
6.7 Краткое содержание этой главы 193
7 ConfigMap и Secret: настройка приложений 195
7.1 Настройка контейнерных приложений 195
7.2 Отправка параметров командной строки 196
7.2.1 Определение команд и параметров в Docker 196
7.2.2 Переопределение команд и параметров в Kubernetes 199
7.3 Установка переменных среды для контейнеров 200
7.3.1 Указание переменных среды в определении контейнера 201
7.3.2 Ссылка на другие переменные среды в значениях переменных среды 201
7.3.3 Понимание недостатков жестко закодированных переменных среды 202
7.4 Использование ConfigMap для разделения конфигурации 202
7.4.1 Знакомство с ConfigMap 202
7.4.2 Создание ConfigMap 203
7.4.3 Передача записей ConfigMap в контейнеры в качестве переменных среды 206
7.4.4 Одновременная передача всех записей ConfigMap в качестве переменных среды 208
7.4.5 Передача записей ConfigMap в качестве аргументов командной строки 209
7.4.6 Использование томов configMap для представления записей в виде файлов 210
7.4.7 Обновление конфигурации приложения без перезапуска приложения 216
7.5. Использование Secret для передачи конфиденциальных данных в контейнер 218
7.5.1 Знакомство с секретом 218
7.5.2 Знакомство с токеном по умолчанию, секрет 218
7.5.3 Создать секрет 220
7.5.4 Сравнение ConfigMap и Secret 221
7.5.5 Использование Secret 222 в модуле
7.6 Краткое содержание этой главы 228
8. Доступ к метаданным модуля и другим ресурсам из приложения 229.
8.1 Передача метаданных через Downward API 229
8.1.1 Понимание доступных метаданных 230
8.1.2 Предоставление метаданных через переменные среды 231
8.1.3 Передача метаданных через нисходящие тома API 234
8.2 Взаимодействие с API-сервером Kubernetes 237
8.2.1 Изучение REST API Kubernetes 238
8.2.2 Взаимодействие с сервером API изнутри модуля 242
8.2.3 Упрощение взаимодействия с API-сервером через контейнер-амбассадор 248
8.2.4 Использование клиентских библиотек для взаимодействия с API-сервером 251
8.3 Краткое содержание данной главы 253
9. Развертывание: декларативное обновление приложений 255
9.1 Обновление приложений, работающих в модулях 256
9.1.1 Удалите модуль старой версии и замените 257 модулем новой версии.
9.1.2 Сначала создайте новый модуль, а затем удалите модуль старой версии 257
9.2 Использование ReplicationController для реализации автоматического последовательного обновления 259
9.2.1 Запуск первой версии приложения 259
9.2.2 Используйте Kubectl для выполнения обновления Rolling 261
9.2.3 Почему скользящее обновление kubectl устарело 265
9.3 Использование развертывания для декларативного обновления приложений 266
9.3.1 Создание развертывания 267
9.3.2 Обновление развертывания 269
9.3.3 Откат развертывания 273
9.3.4 Управление скоростью непрерывного обновления 276
9.3.5 Приостановка непрерывного обновления 278
9.3.6 Предотвращение последовательного обновления неисправных версий 279
9.4 Краткое содержание данной главы 284
10. StatefulSet: развертывание многокопийных приложений с отслеживанием состояния 285
10.1 Репликация модулей с сохранением состояния 285
10.1.1 Запуск нескольких копий с сохранением каждого экземпляра отдельно 286
10.1.2 Каждый модуль обеспечивает стабильную идентификацию 287
10.2 Понимание Statefulset 289
10.2.1 Сравнение Statefulset и ReplicaSet 289
10.2.2 Обеспечение стабильной сетевой идентификации 290
10.2.3 Обеспечить стабильное выделенное хранилище для каждого экземпляра с состоянием 292
10.2.4 Гарантии Statefulset 294
10.3 Использование Statefulset 295
10.3.1 Создание образов приложений и контейнеров 295
10.3.2 Развертывание приложений через Statefulset 296
10.3.3 Использование модуля 301
10.4 В Statefulset я нашел партнерский узел 305
10.4.1 Обнаружение друг друга через DNS 306
10.4.2 Обновление Statefulset 308
10.4.3 Попробуйте кластерное хранилище данных 309
10.5 Понимание того, как Statefulset обрабатывает сбои узлов 310
10.5.1 Имитация отключения узла от сети 310
10.5.2 Удаление модуля 312 вручную
10.6 Краткое содержание данной главы 313
11. Понимание механизма Kubernetes 315
11.1 Понимание архитектуры 315
11.1.1 Распределенные характеристики компонентов Kubernetes 316
11.1.2 Как Kubernetes использует etcd 318
11.1.3 Что делает сервер API 322
11.1.4 Как сервер API уведомляет клиента об изменениях ресурсов 324
11.1.5 Понимание планировщика 325
11.1.6 Знакомство с контроллерами, работающими в диспетчере контроллеров 327
11.1.7 Что сделал Кубелет 331
11.1.8 Роль сервисного прокси Kubernetes 332
11.1.9 Знакомство с плагинами Kubernetes 333
11.1.10 Краткий обзор 335
11.2 Как контролеры сотрудничают 335
11.2.1 Понимание того, какие компоненты задействованы335
11.2.2 Цепочка событий 336
11.2.3 Наблюдение за кластерными событиями 337
11.3 Понимание того, что такое беговая капсула 339
11.4 Межподовая сеть 340
11.4.1 Как должна выглядеть сеть 340
11.4.2 Глубокое понимание того, как работает сеть 341
11.4.3 Внедрение сетевого интерфейса контейнера 343
11.5 Как реализуются услуги 344
11.5.1 Введение kube-proxy 344
11.5.2 Как использовать iptables с kube-proxy 344
11.6. Запуск высокодоступного кластера 346
11.6.1 Обеспечение высокой доступности вашего приложения 346
11.6.2 Обеспечение высокой доступности плоскости управления Kubernetes 347
11.7 Краткое содержание данной главы 350
12. Защита API-сервера Kubernetes 351.
12.1 Понимание механизма аутентификации 351
12.1.1 Пользователи и группы 352
12.1.2 Знакомство с ServiceAccount 353
12.1.3 Создание учетной записи службы 354
12.1.4 Назначение ServiceAccount для модуля 356
12.2 Усиление безопасности кластера посредством управления разрешениями на основе ролей 358
12.2.1 Знакомство с плагином авторизации RBAC 359
12.2.2 Знакомство с ресурсами RBAC 360
12.2.3 Использование роли и привязки ролей 363
12.2.4 Использование ClusterRole и ClusterRoleBinding 367
12.2.5 Изучите кластеррол по умолчанию и кластерролерую 376
12.2.6 Рациональное предоставление прав авторизации 379
12.3 Краткое содержание данной главы 379
13. Обеспечение безопасности узла и сети внутри кластера 381.
13.1 Использование пространства имен Linux хост-узла в модуле 381
13.1.1 Использование сетевого пространства имен хост-узла в модуле 382
13.1.2 Привязка порта на хост-узле без использования сетевого пространства имен хост-узла 383
13.1.3 Используйте узлы PID и IPC узла хоста 385
13.2 Настройка контекста безопасности узла 386
13.3 Ограничение модулей на использование функций безопасности 396
13.4 Изоляция сетей модулей 406
13.5 Краткое содержание данной главы 410
14 Управление вычислительными ресурсами 411
14.1 Подайте заявку на ресурсы для контейнеров в модуле 411
14.1.1 Создайте модуль 412, содержащий запросы ресурсов
14.1.2 Как запросы ресурсов влияют на планирование 413
14.1.3 Как запросы процессора влияют на распределение времени процессора 418
14.1.4 Определение и применение пользовательских ресурсов 418
14.2 Ограничение доступных ресурсов контейнера 419
14.3 Понимание уровней QoS модулей 423
14.4. Установка запросов и ограничений по умолчанию для модулей в пространстве имен 427
14.5 Ограничение общего количества ресурсов, доступных в пространстве имен 431
14.6 Мониторинг использования ресурсов модуля 436
14.7 Краткое содержание данной главы 442
15 Автоматическое горизонтальное масштабирование подов и узлов кластера 443
15.1 Горизонтальное автоматическое масштабирование модуля 444
15.2 Вертикальное автоматическое масштабирование модуля 456
15.3 Горизонтальное масштабирование узлов кластера 457
15.4 Краткое содержание данной главы 461
16 Расширенное планирование 463
16.1 Использование искажений и допусков для предотвращения назначения узлов конкретным узлам 463
16.2 Использование привязки узлов для планирования модулей для определенных узлов 469
16.3 Использование сходства и несвязанности модулей для координации развертывания модулей 475
16.4 Краткое содержание данной главы 483
17 *Практика разработки приложений 485
17.1 Концентрация всех ресурсов 486
17.2 Понимание жизненного цикла модуля 487
17.3 Убедитесь, что все запросы клиентов обрабатываются должным образом 500
17.4. Упрощение запуска и управления приложениями в Kubernetes 505
17.5 Практика разработки и тестирования* 510
17.6 Краткое содержание данной главы 515
18 Расширение приложения Kubernetes 517
18.1 Определение пользовательских объектов API 517
18.2 Расширение Kubernetes с помощью каталога сервисов Kubernetes 528
18.3 Платформа на базе Kubernetes 536
18.4 Краткое содержание данной главы 541
A: Использование kubectl в нескольких кластерах 543
Б. Используйте kubeadm для настройки многоузлового кластера 549
C Использование других сред выполнения контейнеров 563
D Кластерная Федерация 567
......
Эта книга в основном объясняет, как развернуть распределенные контейнеры в Kubernetes.Начало этой книги вводит происхождение и разработку Docker и Kubernetes, а затем углубляет наше понимание и работу архитектуры Kubernetes, развернув приложение в Kubernetes в Kubernetes.В последней части этой книги вы также можете выучить некоторые темы высокого уровня, такие как мониторинг, отладка и выдвижение.Kubernetes - это греческий, что означает&Ldquo; Хелмсман&Rdquo; заставит нас безопасно добраться до неизвестных вод.Система расположения контейнеров, такая как Kubernetes, поможет нам должным образом управлять структурой развертывания и онлайн -трафиком распределенных приложений, а также эффективно организовать контейнеры и услуги.Как операционная система центра обработки данных, Kubernetes может минимизировать бремя на базовых сетевых и аппаратных средствах при разработке программной системы.
......
Знакомство с первоначальным автором
Марко Лукса — инженер-программист с более чем 20-летним опытом профессиональной разработки. Он занимался проектами, начиная от простых веб-приложений и заканчивая большими ERP-системами, платформами и промежуточным программным обеспечением.Работая в Red Hat, он начал с разработки реализаций Google App Engine API, которые будут основаны на промежуточном программном обеспечении Red Hat JBoss, и с тех пор участвовал в CDI/Weld, Infinispan/JBoss DataGrid и других проектах.После 2014 года он присоединился к команде Red Hat Cloud Enablement, отвечая за обновление Kubernetes и разработку сопутствующих технологий, гарантируя, что промежуточное программное обеспечение компании сможет полностью раскрыть потенциал функций Kubernetes и OpenShift.
Введение в переводчик
Команда KIRK отвечает за многолетний практический опыт в контейнере Qi Niuyun на основе своего собственного общественного облачного бизнеса и платформы облачных вычислений контейнеров для корпоративных приложений для быстрого развертывания и внесения удобных аспектов.Предоставьте такие функции, как непрерывная интеграция, упругая телескопическая и рынок приложений, чтобы предприятия сосредоточены на разработке бизнес -логики, сокращают цикл бизнес -листинга, оптимизируют уровень использования ресурсов и повышают эффективность ответа на обслуживание.







