Как зарегистрировать сервисный брокер PCF как доступный из двух пространств в одной и той же организации PCF (с правами администратора org)? - PullRequest
0 голосов
/ 16 октября 2018

Как мне зарегистрировать Pivotal Cloud Foundry Service Broker, чтобы сделать его доступным из нескольких пространств в пределах одной Организации, если у меня есть разрешения на уровне организации?

Мы пытались зарегистрировать PCF Service Broker (cf create-service-broker ...) в одном пространстве, затем используйте его как «экземпляр службы» (cf create-service ...) в другом пространстве.

Чтобы проиллюстрировать проблему, рассмотрим следующий рабочий процесс, из руководства по хранилищу HashiCorp :

$ cf create-space examplespace
$ cf target -s examplespace
$ cf create-service-broker vault-broker "${AUTH_USERNAME}" "${AUTH_PASSWORD}" "https://${BROKER_URL}" --space-scoped
$ cf marketplace
service           plans             description
hashicorp-vault   shared            HashiCorp Vault Service Broker
# ...
$ cf create-service hashicorp-vault shared my-vault

Вышеописанное работает отлично.Проблема возникает, когда у нас есть приложение в другом пространстве, которое мы хотим использовать для HashiCorp Vault API:

$ cf target -s myappspace
$ cf bind-service my-app my-vault

Эта последняя часть завершается ошибкой.

Кроме того, теперь, когда я нахожусь в пространстве myappspace, cf marketplace ** не показывает нового брокера служб.

Теперь в нашей команде есть кто-то с разрешениями org-admin.

Я подумал, что мы можем просто зарегистрировать нового сервисного брокера на уровне org, используя enable-service-access подкоманда:

https://docs.cloudfoundry.org/services/access-control.html#enable-access-to-service-plans

$ cf enable-service-access my-vault -o WebOrg

Это также не удалось, поскольку, несмотря на то, что у него были права администратора для всей организации, он получил ошибку отказа в разрешении.

Если мы затем перейдем к регистрации сервисного брокера во втором пространстве, myappspace, мы получим

. Все три из этих методов потерпели неудачу, но должен быть какой-то способ сделатьуслуга из одного пространства, доступного для других, в пределах организации, если у меня есть права администратора для этой организации PCF.

Как?

Аналогичный (хотя и более конкретный) тип этой проблемы задокументирован в следующих двух проблемах github для репозитория PCF cloud_controller_ng:

https://github.com/cloudfoundry/cloud_controller_ng/issues/935

https://github.com/cloudfoundry/cloud_controller_ng/issues/837

Я провел следующее исследование:

https://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker

https://docs.cloudfoundry.org/services/access-control.html

https://docs.cloudfoundry.org/services/access-control.html#enable-access-to-service-plans

https://starkandwayne.com/blog/register-your-own-service-broker-with-any-cloud-foundry/

(Мы запустили варианты каждой команды на этой странице.)

Наиболее похожими из существующих вопросов о переполнении стека были следующие:

WebSphere Message Broker -как отправить сообщение PCF

Нужна помощь при регистрации приложения на PCF с помощью Spring Cloud Flow Flow, который также находится на PCF

Они, похоже, неимеют много общего с проблемами с именами в PCF marketplace или с управлением разрешениями PCF.

Примечание: Сначала я хотел опубликовать это на serverfault.com, потому что это больше связано с инфраструктурой приложения, а не просто с программированием.Но, хотя на serverfault.com нет тега для Pivotal Cloud Foundry, в Stack Overflow уже есть тег pivotal-cloud-foundry, который уже используется 588.

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Как зарегистрировать Pivotal Cloud Foundry Service Broker, чтобы сделать его доступным из нескольких пространств в рамках одной организации, если у меня есть разрешения на уровне организации?

Не думаю, чтовы можете сделать это.Вы должны быть администратором / оператором платформы.Затем вам нужно зарегистрировать брокера сервисов на платформе и пометить этого брокера как доступного для выбора оргов и пробелов.Затем вы можете создавать экземпляры сервисов, и если брокер разрешает их разделять между собой.

Если у вас есть только разрешения org / space, вы можете зарегистрировать брокера служб только в определенном пространстве.Тогда только видны в этом пространстве.

Без прав администратора / оператора платформы, я думаю, лучшее, что вы могли бы сделать, это:

  1. зарегистрировать брокерав определенном пространстве
  2. создайте экземпляр службы в этом пространстве
  3. свяжите это с вашими приложениями в этом пространстве
  4. создайте ключ службы для вашего приложения во втором пространстве
  5. переключиться на второе пространство
  6. создать предоставленную пользователем службу в этом пространстве и ввести информацию о ключе службы
  7. Повторите шаги 4-6 для каждого приложения во второй службе (это обеспечиваетвы получаете уникальные учетные данные для каждого приложения, вы можете использовать один сервисный ключ для всех приложений, если вас это не волнует).

Рад, что вас исправили, но я думаю, что такое положение вещейЯ пишу это.

0 голосов
/ 16 октября 2018

Если вы используете PCF 2.1 или выше.

Service brokers must explicitly enable service instance sharing by setting a flag in their service-level metadata object. This allows service instances, of any service plan, to be shared across orgs and spaces.

Это из Включение общего доступа к экземпляру службы

Похоже, что вы уже выполнили остальные шаги из Служба общего доступаIntances

...