Документация находится в разработке, может содержать неполную информацию.
Описание
Проекты (ресурс Project) в платформе обеспечивают изолированные окружения для создания ресурсов пользователя.
Настройки проекта позволяют задать квоты для ресурсов, ограничить сетевое взаимодействие, как внутри платформы, так и вне её.
Для создания проектов используются шаблоны (ресурс ProjectTemplate).
При изменении шаблона проекта, все созданные проекты будут обновлены в соответствии с новым шаблоном.
Шаблоны для проектов доступные по умолчанию
Платформа включает следующий набор шаблонов для создания проектов:
-
empty
— пустой шаблон без предопределенных ресурсов; default
— шаблон для базовых сценариев использования проектов:- ограничение ресурсов;
- сетевая изоляция;
- автоматические алерты и сбор логов;
- выбор профиля безопасности;
- настройка для администрирования проекта.
secure
— включает все возможности шаблонаdefault
, а также дополнительные функции:- правила аудита обращения Linux-пользователей проекта к ядру.
Чтобы получить список всех доступных параметров для шаблона проекта, выполните следующую команду:
d8 k get projecttemplates <ИМЯ_ШАБЛОНА_ПРОЕКТА> -o jsonpath='{.spec.parametersSchema.openAPIV3Schema}' | jq
Создание проекта
- Чтобы создать проект, создайте ресурс Project, указав имя шаблона проекта в поле
.spec.projectTemplateName
. -
В параметре
.spec.parameters
ресурса Project укажите значения для параметров из секции.spec.parametersSchema.openAPIV3Schema
ресурса ProjectTemplate.Пример создания проекта с помощью ресурса Project из
default
ProjectTemplate представлен ниже:apiVersion: deckhouse.io/v1alpha2 kind: Project metadata: name: my-project spec: description: This is an example from the Deckhouse documentation. projectTemplateName: default parameters: resourceQuota: requests: cpu: 5 memory: 5Gi storage: 1Gi limits: cpu: 5 memory: 5Gi networkPolicy: Isolated podSecurityProfile: Restricted extendedMonitoringEnabled: true administrators: - subject: Group name: k8s-admins
-
Чтобы проверить статус проекта, выполните команду:
d8 k get projects my-project
Если проект успешно создан, его статус будет
Deployed
(синхронизирован). Если отображается статусError
(ошибка), добавьте аргумент-o yaml
к команде (например,d8 k get projects my-project -o yaml
), чтобы получить более подробную информацию о причине ошибки.
Создание собственного шаблона для проекта
Шаблоны проектов по умолчанию включают базовые сценарии использования и служат примером возможностей шаблонов.
Для создания собственного шаблона проекта выполните следующие шаги:
-
Выберите один из шаблонов по умолчанию, например,
default
. -
Скопируйте его в отдельный файл (например,
my-project-template.yaml
) с помощью команды:d8 k get projecttemplates default -o yaml > my-project-template.yaml
-
Откройте файл
my-project-template.yaml
и отредактируйте его, чтобы внести необходимые изменения.Важно изменить не только сам шаблон, но и схему параметров, соответствующую этому шаблону.
Шаблоны проектов поддерживают все функции шаблонизации Helm.
-
Измените имя шаблона в поле
.metadata.name
. -
Примените измененный шаблон с помощью команды:
d8 k apply -f my-project-template.yaml
-
Чтобы проверить, доступен ли новый шаблон, выполните команду:
d8 k get projecttemplates <ИМЯ_НОВОГО_ШАБЛОНА>