Подход к сопоставлению индивидуальных пользователей с OpenStack

Подход к сопоставлению индивидуальных пользователей с OpenStack

Я пытаюсь создать простое приложение, в котором пользователи создают свои собственные экземпляры (vms), а я взимаю с них плату по времени выставления счета (похоже на DO). Мое приложение использует OpenStack в качестве бэкэнда для выполнения всей тяжелой работы.

Вопрос заключается в том, как лучше всего связать пользователей моего приложения с моим развертыванием OpenStack.

Должен ли я сопоставлять каждого пользователя в моем приложении с пользователем/проектом в OpenStack? Должен ли я сопоставлять всех пользователей в моем приложении с одним проектом в OpenStack? Каков наилучший способ сделать это, учитывая необходимость получения информации об использовании для экземпляров, чтобы взимать плату с пользователя?

решение1

Два соображения:

  • Задайте себе вопрос:

    • Вашим пользователям нужен только доступ к их виртуальной машине и вашему приложению?

      И будет ли ваше приложение выполнять соответствующие вызовы API для ваших пользователей (например power off, power on, , rebootVM)?
      Тогда ваше приложение может быть намного проще, поскольку вам нужно будет только поддерживать роли и элементы управления доступом.

    • Или вы позволите своим пользователям самим получать доступ к OpenStack API/панели Horizon напрямую?
      Потому что тогда большая изоляция между вашими пользователями на уровне OpenStack будет иметь важное значение, и предоставление каждому конечному пользователю его собственного проекта будет единственным, что имеет смысл.

  • Не каждое развертывание OpenStack предлагает/включает те же функции, поэтому сначала изучите, что возможно для вас. Можете ли вы установить функции? Доступен ли вам ceilometer или вам нужно будет выполнить собственное отслеживание использования ресурсов для включения биллинга?

Связанный контент