Как мне зарегистрировать 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.