Menu Close

6.8.3. 通过部署 DeveloperUser 自定义资源来管理 3scale 开发人员用户

当使用 3scale 操作器安装 3scale 时,您可以部署 DeveloperUser 自定义资源(CR)来管理开发人员对 Developer Portal 中 3scale 管理的 API 的访问。此处提供的步骤是部署新的 DeveloperUser CR。部署 DeveloperUser CR 后,更新或删除它的过程与任何其他 CR 相同。

您只能在包含 3scale Operator 的命名空间中部署 CR。

先决条件

  • 了解 3scale 操作器如何标识自定义资源链接的租户。
  • 至少一个部署的 DeveloperAccount 自定义资源包含至少一个部署的 DeveloperUser CR,用于具有 admin 角色的用户。如果您要创建一个 DeveloperUser 自定义资源,该资源没有链接到同一命名空间中的 3scale 实例中的默认租户,则包含 DeveloperUser CR 的命名空间包含一个 secret,用于标识 DeveloperUser CR 链接的租户。secret 的名称是以下之一:

    • threescale-provider-account
    • 用户定义

    此机密包含 3scale 实例的 URL 和令牌,其中包含用于访问 3scale 实例中某一租户的凭据。

  • 对于新的 DeveloperUser 自定义资源,您有该开发人员的用户名、密码和电子邮件地址。

步骤

  1. 在包含 3scale 操作器的命名空间中,创建并保存一个资源文件,以定义一个包含开发人员用户的用户名和密码的 secret。例如,my username02.yaml 文件可能包含:

    apiVersion: v1
    kind: Secret
    metadata:
      name: myusername02
    stringData:
      password: "987654321"
  2. 创建 secret.例如:

    oc create -f myusername02.yaml

    对于给定示例,输出为:

    secret/myusername02 created
  3. 创建并保存定义 DeveloperUser CR 的 a .yaml 文件。在 spec.role 字段中,指定 adminmember。例如,developeruser02.yaml 文件可能包含:

    apiVersion: capabilities.3scale.net/v1beta1
    kind: DeveloperUser
    metadata:
      name: developeruser02
    spec:
      username: myusername02
      email: myusername02@example.com
      passwordCredentialsRef:
        name: myusername02
      role: member
      developerAccountRef:
        name: developeraccount1
      providerAccountRef:
        name: mytenant

    DeveloperUser CR 中:

    • 开发人员用户名(在 metadata.name 字段中指定),用户名和电子邮件必须在包含 DeveloperAccount 链接的租户中唯一。
    • developerAccountRef 字段必须指定已部署的 DeveloperAccount CR 的名称。
    • DeveloperUser CR 链接的租户必须是与指定的 DeveloperAccount CR 链接相同的租户。
  4. 创建您刚刚定义的资源。例如:

    oc create -f developefuser02.yaml

    对于给定示例,输出为:

    developeruser.capabilities.3scale.net/developeruser02 created

后续步骤

3scale 操作器需要几秒钟时间才能更新 3scale 配置来反映新的或更新的自定义资源。要检查 Operator 是否成功传播自定义资源信息,请检查 DeveloperUser 自定义资源 status 字段或运行 oc wait 命令,例如:

oc wait --for=condition=Ready --timeout=30s developeruser/developeruser02

如果失败,自定义资源的 status 字段指示错误是临时还是永久性的,并提供有助于解决问题的错误消息。

通知任何新的开发人员用户,他们可以登录开发人员门户。您可能还需要传达其登录凭据。

您可以像更新或删除任何其他自定义资源一样更新或删除部署的 DeveloperUser 自定义资源。但是,当删除 DeveloperUser CR 时,3scale 操作器不会实际将其删除。如果您尝试部署具有与您删除的 DeveloperUser CR 相同的帐户名称、用户名或电子邮件的新 DeveloperUser CR,您会收到 DeveloperUser CR 已存在的消息。您必须为新的 DeveloperUser CR 指定不同的开发人员用户帐户名称、用户名或电子邮件。