Исходный код вики 1. Описание

Версия 11.1 от Ирина Сафонова на 23.03.2023, 00:26

Скрыть последних авторов
Ирина Сафонова 10.1 1 (% style="color:#4169E1" %)
2 **Содержание**
3
4 {{toc/}}
5
Ирина Сафонова 5.1 6 Услуга доступна в варианте Cloud Managed Kubernetes.
Ирина Сафонова 2.1 7
Ирина Сафонова 5.1 8 (% style="color:#4169E1" %)
Ирина Сафонова 6.1 9 == Cloud Managed Kubernetes ==
Ирина Сафонова 5.1 10
11 ----
12
Ирина Сафонова 9.1 13 === Краткое описание ===
Ирина Сафонова 10.1 14
Ирина Сафонова 9.1 15 Сервис предоставляется по модели PaaS. Реализован на базе единой платформы DF Cloud PaaS Исполнителя. Платформа DF Cloud PaaS имеет встроенные средства автоматизации процессов инсталляции, настройки, обновления Kubernetes кластеров.
16 Кластер Kubernetes реализован на базе виртуальной инфраструктуры, развернутой на физических серверах под управлением VMware ESXi. В качестве хостовых ОС на виртуальных машинах используются Unix-подобные операционные системы (Debian).
17
18 === Концепт кластера Kubernetes ===
19
20 Кластер Kubernetes в рамках PaaS платформы предполагается георазнесенным на два дата-центра. В рамках начальных условий (на момент запуска) в кластер входит четыре мастер ноды, четыре воркер ноды, два api сервера (переадресация запросов на кластер Kubernetes) и две ноды со службами NFS (подключаются к кластеру, используются для хранения контейнерных volum-ов в рамках Persistent Volume в окружениях Клиента).
21
22 === Инсталляция Kubernetes ===
23
Ирина Сафонова 8.1 24 В процессе инсталляции Kubernetes кластеров производится автоматическая настройка следующих компонентов:
25
Ирина Сафонова 11.1 26 * **Weave CNI **- плагин для организации внутренней сетевой связности,
27 * **CoreDNS**// //– внутренний DNS,
28 * **Traefik** - ingress контроллер с преднастроенным TLS для внешнего доступа к сервисам,
29 * **Kubernetes Dashboard **– web портал управления кластером,
30 * **Helm и Tiller** – автоматизация инсталляции приложений,
31 * **Kubectl**// //– командный интерфейс для эффективного управления кластером,
32 * **Metrics server, Prometheus и Grafana** – системы мониторинга ресурсов и состояния кластера и конечных приложений (опционально).
Ирина Сафонова 8.1 33
Ирина Сафонова 9.1 34 === Варианты топологий кластера ===
Ирина Сафонова 8.1 35
Ирина Сафонова 11.1 36 * **Development **– одна мастер нода и одна worker нода (с возможностью увеличения количества нод),
37 * **Production**// – //три мастер ноды с двумя API балансировщиками (можно увеличить в дальнейшем) и две worker ноды (с возможностью увеличения количества нод).
Ирина Сафонова 8.1 38
Ирина Сафонова 9.1 39 Доступ к Kubernetes кластеру с использованием [[RBAC>>url:https://kubernetes.io/docs/reference/access-authn-authz/rbac/]] (Role-Based Access Control). По умолчанию учетная запись администратора имеет токен, который принадлежит ServiceAccount с ролью Cluster-admin.
Ирина Сафонова 8.1 40
Ирина Сафонова 9.1 41 === Вертикальное и горизонтальное масштабирование кластера Kubernete ===
42
Ирина Сафонова 11.1 43 В рамках платформы доступно вертикальное и горизонтальное масштабирование кластера Kubernetes. Вертикальное масштабирование может выполняться с помощью двух методов:
Ирина Сафонова 10.1 44
Ирина Сафонова 8.1 45 * автоматическое вертикальное масштабирование с помощью встроенных средств платформы DF Cloud PaaS,
46 * с использованием Kubernetes Vertical Pod Autoscaler.
47
48 Горизонтальное масштабирование также доступно в двух вариантах:
Ирина Сафонова 10.1 49
Ирина Сафонова 8.1 50 * автоматическое горизонтальное масштабирование с помощью встроенных средств платформы DF Cloud PaaS – добавление и удаление Kubernetes нод по тригерам, настроенных в системе мониторинга или в ручную через панель управления платформой,
51 * с использованием Kubernetes Horizontal Pod Autoscaler – масштабирование происходит на основе мониторинга утилизации CPU внутренними средствами кластера.
52
Ирина Сафонова 10.1 53 === Методы развертывания микросервисных приложений внутри Kubernetes ===
Ирина Сафонова 9.1 54
Ирина Сафонова 8.1 55 Для целей развертывания микросервисных приложений внутри Kubernetes кластера заказчику доступны следующие методы:
Ирина Сафонова 10.1 56
Ирина Сафонова 8.1 57 * с помощью Helm, который предустановлен на всех master нодах,
58 * с помощью .yaml или .yml файлов,
59 * непосредственно через Kubernetes Dashboard,
60 * через командную строку kubectl.