Исходный код вики 1. Описание
Версия 10.1 от Ирина Сафонова на 23.03.2023, 00:25
Скрыть последних авторов
| author | version | line-number | content |
|---|---|---|---|
| |
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 | |||
| 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 | |||
| |
9.1 | 34 | === Варианты топологий кластера === |
| |
8.1 | 35 | |
| 36 | * //Development //– одна мастер нода и одна worker нода (с возможностью увеличения количества нод), | ||
| 37 | * //Production – //три мастер ноды с двумя API балансировщиками (можно увеличить в дальнейшем) и две worker ноды (с возможностью увеличения количества нод). | ||
| 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 | |||
| |
8.1 | 43 | В рамках платформы доступно вертикальное и горизонтальное масштабирование кластера Kubernetes. |
| 44 | Вертикальное масштабирование может выполняться с помощью двух методов: | ||
| |
10.1 | 45 | |
| |
8.1 | 46 | * автоматическое вертикальное масштабирование с помощью встроенных средств платформы DF Cloud PaaS, |
| 47 | * с использованием Kubernetes Vertical Pod Autoscaler. | ||
| 48 | |||
| 49 | Горизонтальное масштабирование также доступно в двух вариантах: | ||
| |
10.1 | 50 | |
| |
8.1 | 51 | * автоматическое горизонтальное масштабирование с помощью встроенных средств платформы DF Cloud PaaS – добавление и удаление Kubernetes нод по тригерам, настроенных в системе мониторинга или в ручную через панель управления платформой, |
| 52 | * с использованием Kubernetes Horizontal Pod Autoscaler – масштабирование происходит на основе мониторинга утилизации CPU внутренними средствами кластера. | ||
| 53 | |||
| |
10.1 | 54 | === Методы развертывания микросервисных приложений внутри Kubernetes === |
| |
9.1 | 55 | |
| |
8.1 | 56 | Для целей развертывания микросервисных приложений внутри Kubernetes кластера заказчику доступны следующие методы: |
| |
10.1 | 57 | |
| |
8.1 | 58 | * с помощью Helm, который предустановлен на всех master нодах, |
| 59 | * с помощью .yaml или .yml файлов, | ||
| 60 | * непосредственно через Kubernetes Dashboard, | ||
| 61 | * через командную строку kubectl. |