3.4. 通过 OpenShift Container Platform CLI 安装
为包含 Operator 要求的 Kubernetes 引擎命名空间创建一个多集群引擎。运行以下命令,其中
namespace是 Kubernetes 引擎命名空间的多集群引擎的名称。在 OpenShift Container Platform 环境中,namespace的值可能被称为 Project(项目)。oc create namespace <namespace>
oc create namespace <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将项目命名空间切换到您创建的命名空间。使用在第 1 步中创建的 Kubernetes 引擎命名空间的多集群引擎名称替换
namespace。oc project <namespace>
oc project <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 YAML 文件来配置
OperatorGroup资源。每个命名空间只能有一个 operator 组。将default替换为 operator 组的名称。将namespace替换为项目命名空间的名称。请参见以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
OperatorGroup资源。将operator-group替换为您创建的 operator 组 YAML 文件的名称:oc apply -f <path-to-file>/<operator-group>.yaml
oc apply -f <path-to-file>/<operator-group>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 YAML 文件来配置 OpenShift Container Platform 订阅。文件内容应类似以下示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注:要在基础架构节点上安装 Kubernetes 引擎的多集群引擎,请参阅 Operator Lifecycle Manager 订阅其他配置部分。
运行以下命令来创建 OpenShift Container Platform 订阅。使用您创建的订阅文件的名称替换
subscription:oc apply -f <path-to-file>/<subscription>.yaml
oc apply -f <path-to-file>/<subscription>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 YAML 文件来配置
MultiClusterEngine自定义资源。您的默认模板应类似以下示例:apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注:要在基础架构节点上安装 Kubernetes 引擎的多集群引擎,请参阅 MultiClusterEngine 自定义资源额外配置部分:
运行以下命令来创建
MultiClusterEngine自定义资源。将custom-resource替换为自定义资源文件的名称:oc apply -f <path-to-file>/<custom-resource>.yaml
oc apply -f <path-to-file>/<custom-resource>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果此步骤失败并显示以下错误,则仍然会创建并应用这些资源。创建资源后几分钟内再次运行命令:
error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"
error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来获取自定义资源。在运行以下命令后,在
status.phase字段中显示MultiClusterEngine自定义资源状态Available可能需要最多 10 分钟时间:oc get mce -o=jsonpath='{.items[0].status.phase}'oc get mce -o=jsonpath='{.items[0].status.phase}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您重新安装 Kubernetes operator 的多集群引擎且 pod 没有启动,请参阅故障排除重新安装失败以了解解决这个问题的步骤。
备注:
-
具有
ClusterRoleBinding的ServiceAccount会自动向多集群引擎授予 Kubernetes 多集群引擎的权限,以及有权访问为 Kubernetes 安装多集群引擎的命名空间的任何用户凭证。