Интеграция платформы с AWS EKS и конфигурация инициализации хранилища.
Класс файлового хранилища по умолчанию efs-sc может не поддерживать изменение прав доступа после монтирования, что может привести к неправильной работе некоторых приложений, таких как PostgreSQL и Jenkins.
Инстансы серии A1 не поддерживаются AMI AL2023, что препятствует корректному развертыванию плагина блочного хранилища EBS (Amazon EBS CSI Driver). Драйвер EBS CSI имеет GA поддержку мультиархитектуры/ARM, поэтому ограничение связано с поддержкой AMI/инстансов, а не с самим драйвером. Если необходимо использовать классы блочного хранилища EBS, избегайте следующих типов инстансов и рассмотрите альтернативы на базе Graviton2/3:
Рекомендуемые альтернативы: Используйте семейства инстансов Graviton2/3, такие как m6g, c6g, r6g, t4g и др., которые обеспечивают лучшую производительность и полную поддержку драйвера EBS CSI.
Убедитесь, что доступны инструменты kubectl и AWS CLI.
Если кластер EKS уже создан, импортируйте кластер Amazon EKS; если нет — создайте кластер AWS EKS.
Разверните плагин файлового хранилища EFS Amazon EFS CSI Driver и плагин блочного хранилища EBS Amazon EBS CSI Driver в кластере EKS.
Примечание: При использовании файлового хранилища EFS создайте файловое хранилище в регионе EKS и запишите File System ID из File System.
Перейдите в Управление платформой и в левом меню выберите Управление хранилищем > Классы хранилища.
Нажмите на выпадающее меню рядом с Создать класс хранилища > Создать из YAML.
Добавьте следующий контент в YAML-файл для создания классов хранилища по умолчанию по необходимости. Имя класса хранилища по умолчанию для файлового хранилища — efs-sc, для блочного хранилища — ebs-sc.
Файловое хранилище EFS
Примечание: Замените <File System ID> на фактический File System ID, например, fileSystemId: fs-05aef9e1edd309f2b.
Блочное хранилище EBS
Нажмите Создать.
Примечание: Если классы хранилища по умолчанию не соответствуют требованиям, создайте новые классы хранилища, следуя указанным шагам, и при необходимости измените параметры. См. Доступные параметры классов хранилища.
В левом меню выберите Управление хранилищем > Классы хранилища.
Нажмите на три точки рядом с классом хранилища с именем efs-sc или ebs-sc > Обновить проект.
Выберите метод Назначение проекта по необходимости и нажмите Обновить для назначения класса хранилища проектам.
Доступные параметры файлового хранилища EFS
| Параметр | Допустимые значения | Значение по умолчанию | Необязательный | Описание |
|---|---|---|---|---|
| az | "" | да | Используется для кросс-аккаунтного монтирования. Если указано, используется mount target, связанный с az, для кросс-аккаунтного монтирования; если не указано, случайным образом выбирается mount target для кросс-аккаунтного монтирования. | |
| basePath | да | Путь для создания динамически выделяемых access points. Если не указано, access points создаются в корневом каталоге файловой системы. | ||
| directoryPerms | нет | Права доступа к каталогу для создания корневого каталога Access Point. | ||
| uid | да | POSIX user ID для создания корневого каталога Access Point. | ||
| gid | да | POSIX group ID для создания корневого каталога Access Point. | ||
| gidRangeStart | 50000 | да | Начальный диапазон POSIX group ID, применяемый при создании корневого каталога access point. Не требуется, если заданы uid/gid. | |
| gidRangeEnd | 7000000 | да | Конечный диапазон POSIX group ID. Не требуется, если заданы uid/gid. | |
| subPathPattern | да | Шаблон для построения подпутей, в которых располагается каждый access point, созданный при динамическом выделении. Может состоять из фиксированных строк и ограниченных переменных, аналогично переменной "subPathPattern" в чарте nfs-subdir-external-provisioner. Допустимые параметры: .PVC.name, .PVC.namespace, .PV.name. | ||
| ensureUniqueDirectory | true | да | Используется при включенном динамическом выделении. При значении true добавляет UID к шаблону, указанному в subPathPattern, чтобы гарантировать, что access points не указывают случайно на один и тот же каталог. Примечание: устанавливайте в false только если уверены, что это желаемое поведение. | |
| provisioningMode | efs-ap | нет | Тип тома EFS, в настоящее время поддерживаются access points. | |
| fileSystemId | нет | ID файловой системы, для которой создается access point. |
Доступные параметры блочного хранилища EBS
Примечание: Для параметров производительности разных типов томов смотрите Amazon EBS Volume Types.
| Параметр | Допустимые значения | Значение по умолчанию | Описание |
|---|---|---|---|
| "allowAutoIOPSPerGBIncrease" | true, false | false | При значении "true" драйвер CSI увеличивает IOPS тома, если iopsPerGB * <размер тома> слишком низок для соответствия поддерживаемому AWS диапазону IOPS. Это гарантирует успешное динамическое выделение даже при слишком малых значениях емкости PVC или iopsPerGB, но может привести к дополнительным расходам из-за избыточных IOPS. |
| "blockExpress" | true, false | false | Создает тома io2 Block Express, повышая лимиты IOPS для томов io2 до 256000, но тома с IOPS выше 64000 не могут быть смонтированы на инстансах, не поддерживающих io2 Block Express. |
| "blockSize" | Размер блока, используемый при форматировании базовой файловой системы. Применимо только к Linux-ноду с файловыми системами ext2, ext3, ext4 или xfs. | ||
| "bytesPerINode" | Количество байт на inode при форматировании базовой файловой системы. Применимо только к Linux-ноду с файловыми системами ext2, ext3 или ext4. | ||
| "csi.storage.k8s.io/fstype" | xfs, ext2, ext3, ext4 | ext4 | Тип файловой системы для форматирования при создании томов. Чувствительно к регистру. |
| "encrypted" | true, false | false | Требуется ли шифрование тома. |
| "inodeSize" | Размер inode при форматировании базовой файловой системы. Применимо только к Linux-ноду с файловыми системами ext2, ext3, ext4 или xfs. Inode — структуры данных в файловых системах, хранящие метаданные файлов и каталогов. | ||
| "iops" | Количество операций ввода-вывода в секунду, применимо к томам IO1, IO2 и GP3. | ||
| "iopsPerGB" | Количество операций ввода-вывода в секунду на гигабайт, применимо к томам IO1, IO2 и GP3. | ||
| "kmsKeyId" | Полный ARN ключа для шифрования томов. Если не указан, AWS использует ключ KMS по умолчанию для региона тома и автоматически генерирует ключ с именем /aws/ebs. | ||
| "numberOfINodes" | Количество inodes, задаваемое при форматировании базовой файловой системы. Применимо только к Linux-ноду с файловыми системами ext2, ext3 или ext4. | ||
| "throughput" | 125 | Пропускная способность в МиБ/с. Действительно только при указании типа тома gp3. Если не указано, по умолчанию 125 МиБ/с. См. Amazon EBS Volume Types. | |
| "type" | io1, io2, gp2, gp3, sc1, st1, standard, sbp1, sbg1 | gp3 | Тип тома EBS. |