5.3. 连接时为 Kubernetes Operator 准备基于代理的集群部署


为多集群引擎 Operator、Local Storage Operator (LSO) 创建所需的清单,并将基于代理的 OpenShift Container Platform 集群部署为 hub 集群。

流程

  1. <assets_directory> 文件夹中创建一个名为 openshift 的子文件夹。此子文件夹用于存储在安装过程中应用的额外清单,以进一步自定义部署的集群。<assets_directory> 文件夹包含所有资产,包括 install-config.yamlagent-config.yaml 文件。

    注意

    安装程序不会验证额外的清单。

  2. 对于多集群引擎,创建以下清单并将其保存到 <assets_directory>/openshift 文件夹中:

    示例 mce_namespace.yaml

      apiVersion: v1
      kind: Namespace
      metadata:
        labels:
          openshift.io/cluster-monitoring: "true"
        name: multicluster-engine

    示例 mce_operatorgroup.yaml

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: multicluster-engine-operatorgroup
        namespace: multicluster-engine
      spec:
        targetNamespaces:
        - multicluster-engine

    示例 mce_subscription.yaml

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: multicluster-engine
        namespace: multicluster-engine
      spec:
        channel: "stable-2.3"
        name: multicluster-engine
        source: redhat-operators
        sourceNamespace: openshift-marketplace

    注意

    您可以使用支持的安装程序 (AI) 使用 Red Hat Advanced Cluster Management (RHACM) 大规模安装分布式单元 (DU)。这些分布式单元必须在 hub 集群中启用。AI 服务需要手动创建的持久性卷 (PV)。

  3. 对于 AI 服务,请创建以下清单并将其保存到 <assets_directory>/openshift 文件夹中:

    示例 lso_namespace.yaml

      apiVersion: v1
      kind: Namespace
      metadata:
        annotations:
          openshift.io/cluster-monitoring: "true"
        name: openshift-local-storage

    示例 lso_operatorgroup.yaml

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: local-operator-group
        namespace: openshift-local-storage
      spec:
        targetNamespaces:
          - openshift-local-storage

    示例 lso_subscription.yaml

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: local-storage-operator
        namespace: openshift-local-storage
      spec:
        installPlanApproval: Automatic
        name: local-storage-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace

    注意

    创建所有清单后,文件系统必须显示如下:

    文件系统示例

    <assets_directory>
        ├─ install-config.yaml
        ├─ agent-config.yaml
        └─ /openshift
            ├─ mce_namespace.yaml
            ├─ mce_operatorgroup.yaml
            ├─ mce_subscription.yaml
            ├─ lso_namespace.yaml
            ├─ lso_operatorgroup.yaml
            └─ lso_subscription.yaml

  4. 运行以下命令来创建代理 ISO 镜像:

    $ openshift-install agent create image --dir <assets_directory>
  5. 镜像就绪后,引导目标机器并等待安装完成。
  6. 要监控安装,请运行以下命令:

    $ openshift-install agent wait-for install-complete --dir <assets_directory>
    注意

    要配置功能齐全的 hub 集群,必须创建以下清单,并通过运行 $ oc apply -f <manifest-name> 命令手动应用它们。清单创建的顺序非常重要,如果需要,会显示等待条件。

  7. 对于 AI 服务所需的 PV,请创建以下清单:

      apiVersion: local.storage.openshift.io/v1
      kind: LocalVolume
      metadata:
       name: assisted-service
       namespace: openshift-local-storage
      spec:
       logLevel: Normal
       managementState: Managed
       storageClassDevices:
         - devicePaths:
             - /dev/vda
             - /dev/vdb
           storageClassName: assisted-service
           volumeMode: Filesystem
  8. 在应用后续清单前,使用以下命令等待 PV 的可用性:

    $ oc wait localvolume -n openshift-local-storage assisted-service --for condition=Available --timeout 10m
    注意
    The `devicePath` is an example and may vary depending on the actual hardware configuration used.
  9. 为多集群引擎实例创建清单。

    示例 MultiClusterEngine.yaml

      apiVersion: multicluster.openshift.io/v1
      kind: MultiClusterEngine
      metadata:
        name: multiclusterengine
      spec: {}

  10. 创建清单以启用 AI 服务。

    示例 agentserviceconfig.yaml

      apiVersion: agent-install.openshift.io/v1beta1
      kind: AgentServiceConfig
      metadata:
        name: agent
        namespace: assisted-installer
      spec:
       databaseStorage:
        storageClassName: assisted-service
        accessModes:
        - ReadWriteOnce
        resources:
         requests:
          storage: 10Gi
       filesystemStorage:
        storageClassName: assisted-service
        accessModes:
        - ReadWriteOnce
        resources:
         requests:
          storage: 10Gi

  11. 创建清单来部署后续 spoke 集群。

    示例 clusterimageset.yaml

      apiVersion: hive.openshift.io/v1
      kind: ClusterImageSet
      metadata:
        name: "4.13"
      spec:
        releaseImage: quay.io/openshift-release-dev/ocp-release:4.13.0-x86_64

  12. 创建一个清单来导入安装代理(托管多集群引擎和 Assisted Service)作为 hub 集群。

    示例 autoimport.yaml

      apiVersion: cluster.open-cluster-management.io/v1
      kind: ManagedCluster
      metadata:
       labels:
         local-cluster: "true"
         cloud: auto-detect
         vendor: auto-detect
       name: local-cluster
      spec:
       hubAcceptsClient: true

  13. 等待受管集群创建。

    $ oc wait -n multicluster-engine managedclusters local-cluster --for condition=ManagedClusterJoined=True --timeout 10m

验证

  • 要确认受管集群安装成功,请运行以下命令:

    $ oc get managedcluster
    NAME            HUB ACCEPTED   MANAGED CLUSTER URLS             JOINED   AVAILABLE  AGE
    local-cluster   true           https://<your cluster url>:6443   True     True       77m
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.