Подключение арендатора к кластеру Communishift

Подключение

Чтобы подключить арендатора, выполните следующие шаги:

Добавление имени проекта в Playbook

Участники группы sysadmin-openshift могут запускать этот playbook по ссылке [1]. Он содержит список проектов communishift. При подключении добавьте новое имя проекта в словарь communishift_projects в файле inventory/group_vars/all. При необходимости квоты ресурсов могут быть переопределены в том же словаре вместо значений по умолчанию.

Примечание: имена проектов обязательно должны начинаться с communishift-, например communishift-dev-test.

Посмотрите следующий пример добавления проектов communishift-eventbot и communishift-fedora-review-service:

communishift_projects:
  communishift-eventbot:
    name: communishift-eventbot
  communishift-fedora-review-service:
    name: communishift-fedora-review-service
    do_not_delete: true                           # Помечено как не удалять 2024-10-21
...
Чтобы пометить проект как такой, который НЕ должен удаляться в рамках скрипта очистки Communishift, отметьте его логическим значением, как показано ниже. Также полезно указывать дату, чтобы можно было сразу увидеть, когда проектам был присвоен этот особый статус: do_not_delete: true # Помечено как не удалять ГГГГ-ММ-ДД

Добавление новой группы проекта в IPA

В IPA должна быть создана группа, соответствующая имени группы, добавленной в playbook на предыдущем шаге. Пожалуйста, убедитесь, что участник сообщества, запрашивающий доступ к кластеру, также добавлен в эту группу в IPA и назначен спонсором. Так он сможет в дальнейшем самостоятельно управлять участниками своей группы.

Запуск playbook

Запустите playbook на batcave.

sudo rbac-playbook manual/communishift.yml

Это создаст проект, создаст хранилище EFS в AWS, а затем создаст Secret в проекте, содержащий учётные данные для создания объекта SharedVolume.

напр.:

apiVersion: aws-efs.managed.openshift.io/v1alpha1
kind: SharedVolume
metadata:
  name: communishift-dev-test-sharedvolume
  namespace: communishift-dev-test
spec:
  accessPointID: fsap-xxxxx
  fileSystemID: fs-xxxx

Это также применяет ResourceQuota к проекту. Это устанавливает верхний предел объёма ресурсов, которые могут быть потреблены внутри проекта. Значение намеренно установлено низким и может быть изменено позднее индивидуально в зависимости от потребностей арендатора.

Авторизация участников проекта для доступа к кластеру

Оператор CommunishiftAuthorization [4] управляет выдачей разрешений на доступ к кластеру. Это основано на наличии имени группы в IPA. Каждые 20 минут CAO получает из IPA через fasjson список групп, соответствующих шаблону communishift-*, затем проверяет существование этой группы в Openshift и синхронизирует пользователей между группой IPA и Openshift. Этот процесс выполняется автоматически каждые 20 минут.