2.8.2. 创建 control plane 模板
您可以使用 ServiceMeshControlPlane
模板生成可重复使用的配置。用户可根据自己的配置对创建的模板进行扩展。模板也可以从其他模板继承配置信息。例如,您可以为财务团队创建一个财务 control plane,为市场团队创建一个市场 control plane。如果您创建了一个开发模板和一个产品模板,则市场团队成员和财务团队成员就可以根据自己团队的情况对开发模板和产品模板进行扩展。
当配置 control plane 模板(与 ServiceMeshControlPlane
语法相同)时,用户以分级方式继承设置。Operator 附带一个具有 Red Hat OpenShift Service Mesh 默认设置的 default
模板 。要添加自定义模板,您必须在 openshift-operators
项目中创建一个名为 smcp-templates
的 ConfigMap,并在 Operator 容器的 /usr/local/share/istio-operator/templates
中挂载 ConfigMap 。
2.8.2.1. 创建 ConfigMap
按照以下步骤创建 ConfigMap。
先决条件
- 已安装并验证的 Service Mesh Operator。
-
具有
cluster-admin
角色的帐户。 - Operator 部署的位置。
-
访问 OpenShift Container Platform 命令行界面 (CLI) 也称为
oc
。
流程
- 以集群管理员身份登录到 OpenShift Container Platform CLI。
在 CLI 中运行这个命令,在
openshift-operators
项目中创建名为smcp-templates
的 ConfigMap,并将<templates-directory>
替换成本地磁盘上的ServiceMeshControlPlane
文件的位置:$ oc create configmap --from-file=<templates-directory> smcp-templates -n openshift-operators
找到 Operator 集群服务版本名称。
$ oc get clusterserviceversion -n openshift-operators | grep 'Service Mesh'
输出示例
maistra.v1.0.0 Red Hat OpenShift Service Mesh 1.0.0 Succeeded
编辑 Operator 集群服务版本,指定 Operator 使用
smcp-templates
ConfigMap。$ oc edit clusterserviceversion -n openshift-operators maistra.v1.0.0
在 Operator 部署中添加卷挂载和卷。
deployments: - name: istio-operator spec: template: spec: containers: volumeMounts: - name: discovery-cache mountPath: /home/istio-operator/.kube/cache/discovery - name: smcp-templates mountPath: /usr/local/share/istio-operator/templates/ volumes: - name: discovery-cache emptyDir: medium: Memory - name: smcp-templates configMap: name: smcp-templates ...
- 保存更改并退出编辑器。
现在,您可以使用
ServiceMeshControlPlane
中的template
参数来指定模板。apiVersion: maistra.io/v1 kind: ServiceMeshControlPlane metadata: name: minimal-install spec: template: default