Menu Close
6.8.2. 通过部署 DeveloperAccount 自定义资源来管理 3scale 开发人员帐户
当使用 3scale 操作器安装 3scale 时,您可以部署 DeveloperAccount
和 DeveloperUser
自定义资源(CR)。这些 CR 允许您创建和更新开发人员对 Developer Portal 中 3scale 管理的 API 的访问帐户。
要部署新的 DeveloperAccount
CR,还必须为具有 admin
角色的用户部署 DeveloperUser
CR。此处提供的步骤是部署新的 DeveloperAccount
CR。部署 DeveloperAccount
CR 后,更新或删除它的过程与任何其他 CR 相同。
您只能在包含 3scale Operator 的命名空间中部署 CR。
先决条件
- 了解 3scale 操作器如何标识自定义资源链接的租户。
如果您要创建一个
DeveloperAccount
自定义资源,该资源没有链接到位于同一命名空间中的 3scale 实例中的默认租户,则包含DeveloperAccount
CR 的命名空间包含一个 secret,用于标识DeveloperAccount
CR 链接的租户。secret 的名称是以下之一:-
threescale-provider-account
- 用户定义
此机密包含 3scale 实例的 URL 和令牌,其中包含用于访问 3scale 实例中某一租户的凭据。
-
-
您至少有一位开发人员用户的用户名、密码和电子邮件地址,该用户在新的
DeveloperAccount
CR 中拥有admin
角色。
步骤
在包含 3scale 操作器的命名空间中,创建并保存资源文件,以定义一个含有开发人员帐户资源中的
admin
角色的用户用户名和密码的机密。例如,myusername01.yaml
文件可能包含:apiVersion: v1 kind: Secret metadata: name: myusername01 stringData: password: "123456"
创建 secret.例如:
oc create -f myusername01.yaml
对于给定示例,输出为:
secret/myusername01 created
创建并保存 a
.yaml
文件,为拥有admin
角色的用户定义DeveloperUser
CR。3scale 操作器需要此DeveloperUser
CR 来部署新的DeveloperAccount
CR。例如,developeruser01.yaml
文件可能包含:apiVersion: capabilities.3scale.net/v1beta1 kind: DeveloperUser metadata: name: developeruser01 spec: username: myusername01 email: myusername01@example.com passwordCredentialsRef: name: myusername01 role: admin developerAccountRef: name: developeraccount1 providerAccountRef: name: mytenant
在
DeveloperUser
CR 中:-
开发人员用户帐户名称、用户名和电子邮件必须在包含
DeveloperAccount
链接的租户中唯一。 -
您在此指定的开发人员帐户名称必须与在此流程中
部署的 DeveloperAccount
CR 的名称匹配。在创建此Developer
CR 都无关紧要。User CR 之前或之后创建 Developer
Account -
DeveloperUser
CR 链接的租户必须是与指定的DeveloperAccount
CR 链接相同的租户。
-
开发人员用户帐户名称、用户名和电子邮件必须在包含
创建您刚刚定义的资源。例如:
oc create -f developeruser01.yaml
对于给定示例,输出为:
developeruser.capabilities.3scale.net/developeruser01 created
创建并保存定义
DeveloperAccount
CR 的 a.yaml
文件。在这个.yaml
文件中,spec.OrgName
字段必须指定一个机构名称。例如,developeraccount01.yaml
文件可能包含:apiVersion: capabilities.3scale.net/v1beta1 kind: DeveloperAccount metadata: name: developeraccount01 spec: orgName: Ecorp providerAccountRef: name: mytenant
创建您刚刚定义的资源。例如:
oc create -f developeraccount01.yaml
对于给定示例,输出为:
developeraccount.capabilities.3scale.net/developeraccount01 created
后续步骤
3scale 操作器需要几秒钟时间才能更新 3scale 配置来反映新的或更新的自定义资源。要检查 Operator 是否成功传播自定义资源信息,请检查 DeveloperAccount
自定义资源 status
字段或运行 oc wait
命令,例如:
oc wait --for=condition=Ready --timeout=30s developeraccount/developeraccount1
如果失败,自定义资源的 status
字段指示错误是临时还是永久性的,并提供有助于解决问题的错误消息。
通知任何新的开发人员用户,他们可以登录开发人员门户。您可能还需要传达其登录凭据。
您可以像更新或删除任何其他自定义资源一样更新或删除部署的 DeveloperAccount
自定义资源。但是,当删除 DeveloperAccount
CR 时,3scale 操作器不会实际将其删除。如果您尝试部署一个新的 DeveloperAccount
CR,其名称与您删除的 DeveloperAccount
CR 的名称相同,您会收到一条消息:具有该名称的 DeveloperAccount
CR 已存在。您必须为新的 DeveloperAccount
CR 指定不同的名称。