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