1.12. 管理用户和配置集
1.12.1. 创建 Red Hat OpenShift Service Mesh 成员 复制链接链接已复制到粘贴板!
ServiceMeshMember 资源为 Red Hat OpenShift Service Mesh 管理员提供了一种将项目添加到服务网格的权限,即使对应用户没有服务网格项目或 member roll 的直接访问权限。虽然项目管理员被自动授予在其项目中创建 ServiceMeshMember 资源的权限,但它们不能将其指向任何 ServiceMeshControlPlane,直到服务网格管理员显式授予服务网格访问权限。管理员可以通过授予 mesh-user 用户角色来授予用户访问网格的权限。在本例中,istio-system 是 Service Mesh control plane 项目的名称。
oc policy add-role-to-user -n istio-system --role-namespace istio-system mesh-user <user_name>
$ oc policy add-role-to-user -n istio-system --role-namespace istio-system mesh-user <user_name>
管理员可以修改 Service Mesh control plane 项目中的 mesh-user 角色绑定,以指定授予访问权限的用户和组。ServiceMeshMember 会将项目添加到它引用的 Service Mesh control plane 项目中的 ServiceMeshMemberRoll。
mesh-users 角色绑定在管理员创建 ServiceMeshControlPlane 资源后自动创建。管理员可使用以下命令为用户添加角色。
oc policy add-role-to-user
$ oc policy add-role-to-user
管理员也可以在创建 ServiceMeshControlPlane 资源前创建 mesh-user 角色绑定。例如,管理员可以在与 ServiceMeshControlPlane 资源相同的 oc apply 操作中创建它。
本例为 alice添加一个角色绑定:
1.12.2. 创建 Service Mesh control plane 配置集 复制链接链接已复制到粘贴板!
您可以使用 ServiceMeshControlPlane 配置集创建可重复使用的配置。个人用户可以根据自己的配置扩展他们创建的配置集。配置集也可以从其他配置集继承配置信息。例如,您可以为财务团队创建一个财务 control plane,为市场团队创建一个市场 control plane。如果您创建了一个开发模板和一个产品模板,则市场团队成员和财务团队成员就可以根据自己团队的情况对开发模板和生成环境配置集进行扩展。
当您配置 Service Mesh control plane 配置集时,它遵循与 ServiceMeshControlPlane 相同的语法,用户以分级方式继承设置。Operator 附带一个 默认 配置集,带有 Red Hat OpenShift Service Mesh 的默认设置。
1.12.2.1. 创建 ConfigMap 复制链接链接已复制到粘贴板!
要添加自定义配置集,您必须在 openshift-operators 项目中创建一个名为 smcp-templates 的 ConfigMap。Operator 容器会自动挂载 ConfigMap。
前提条件
- 已安装并验证的 Service Mesh Operator。
-
具有
cluster-admin角色的帐户。如果使用 Red Hat OpenShift Dedicated,则必须有一个具有dedicated-admin角色的帐户。 - Operator 部署的位置。
-
访问 OpenShift CLI(
oc)。
流程
-
以
cluster-admin身份登录到 Red Hat OpenShift Service on AWS CLI。如果使用 Red Hat OpenShift Dedicated,则必须有一个具有dedicated-admin角色的帐户。 在 CLI 中运行这个命令,在
openshift-operators项目中创建名为smcp-templates的 ConfigMap,并将<profiles-directory>替换成本地磁盘上的ServiceMeshControlPlane文件的位置:oc create configmap --from-file=<profiles-directory> smcp-templates -n openshift-operators
$ oc create configmap --from-file=<profiles-directory> smcp-templates -n openshift-operatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用
ServiceMeshControlPlane中的profile参数指定一个或多个模板。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.12.2.2. 设置正确的网络策略 复制链接链接已复制到粘贴板!
Service Mesh 在 Service Mesh control plane 和成员命名空间中创建网络策略,以允许它们之间的流量。在部署前,请考虑以下条件,以确保之前通过 Red Hat OpenShift Service on AWS 路由公开的服务网格中的服务。
- 进入服务网格的流量必须总是经过 ingress-gateway 才能使 Istio 正常工作。
- 在不在任何服务网格中的独立命名空间中为服务网格部署服务。
-
需要在服务网格列出的命名空间中部署的非 mesh 服务应该标记其
maistra.io/expose-route: "true",这可以确保 Red Hat OpenShift Service on AWS 路由到这些服务仍可以正常工作。