4.9. 使用 FeatureGate 启用技术预览功能

您可以通过编辑 FeatureGate 自定义资源(CR)为集群中的所有节点开启当前技术预览功能的子集。

4.9.1. 了解功能门

您可以使用 FeatureGate 自定义资源(CR)在集群中启用特定的功能集。功能集是 OpenShift Container Platform 功能的集合,默认情况下不启用。

您可以使用 FeatureGate CR 激活以下任何功能集:

  • TechPreviewNoUpgrade.这个功能集是当前技术预览功能的子集。此功能集允许您在测试集群中启用这些技术预览功能,您可以在测试集群中完全测试它们,同时保留生产集群中禁用的功能。启用此功能集无法撤消并阻止次版本更新。不建议在生产环境集群中使用此功能集。

    警告

    在集群中启用 TechPreviewNoUpgrade 功能集无法撤消,并会阻止次版本更新。您不应该在生产环境集群中启用此功能。

    此功能集启用了以下技术预览功能:

    • Azure Disk CSI Driver Operator。使用 Microsoft Azure Disk Storage 的 Container Storage Interface(CSI)驱动程序启用持久性卷(PV)置备。
    • VMware vSphere CSI Driver Operator。使用 Virtual Machine Disk(VMDK)卷的 Container Storage Interface(CSI)VMware vSphere 驱动程序启用持久性卷(PV)。
    • CSI 自动迁移。为支持的树内卷插件启用自动迁移,并将其对应的 Container Storage Interface(CSI)驱动程序。作为技术预览提供:

      • Amazon Web Services(AWS)Elastic Block Storage(EBS)
      • OpenStack Cinder
      • Azure Disk
      • Azure File
      • Google Cloud Platform Persistent Disk(CSI)
      • VMware vSphere
    • Cluster Cloud Controller Manager Operator。启用 Cluster Cloud Controller Manager Operator 而不是树内云控制器。作为技术预览提供:

      • Amazon Web Services (AWS)
      • Microsoft Azure
      • Red Hat OpenStack Platform(RHOSP)
    • Insights Operator。启用从 Red Hat OpenShift Cluster Manager 导入 RHEL Simple Content Access (SCA) 证书。

4.9.2. 使用 Web 控制台启用功能集

您可以通过编辑 FeatureGate 自定义资源(CR)来使用 OpenShift Container Platform Web 控制台为集群中的所有节点启用功能集。

流程

启用功能集:

  1. 在 OpenShift Container Platform web 控制台中,切换到 AdministrationCustom Resource Definitions 页面。
  2. Custom Resource Definitions 页面中,点击 FeatureGate
  3. Custom Resource Definition Details 页面中,点 Instances 选项卡。
  4. 集群 功能门,然后点 YAML 选项卡。
  5. 编辑集群实例以添加特定的功能集:

    警告

    在集群中启用 TechPreviewNoUpgrade 功能集无法撤消,并会阻止次版本更新。您不应该在生产环境集群中启用此功能。

    功能门自定义资源示例

    apiVersion: config.openshift.io/v1
    kind: FeatureGate
    metadata:
      name: cluster 1
    ....
    
    spec:
      featureSet: TechPreviewNoUpgrade 2

    1
    FeatureGate CR 的名称必须是 cluster
    2
    添加要启用的功能集:
    • TechPreviewNoUpgrade 启用了特定的技术预览功能。

    保存更改后,会创建新的机器配置,然后更新机器配置池,并在应用更改时在每个节点上调度。

验证

您可以在节点返回就绪状态后查看节点上的 kubelet.conf 文件来验证是否启用了功能门。

  1. 从 Web 控制台中的 Administrator 视角,进入到 ComputeNodes
  2. 选择一个节点。
  3. Node 详情页面中,点 Terminal
  4. 在终端窗口中,将根目录改为 /host

    sh-4.2# chroot /host
  5. 查看 kubelet.conf 文件:

    sh-4.2# cat /etc/kubernetes/kubelet.conf

    输出示例

     ...
    featureGates:
      InsightsOperatorPullingSCA: true,
      LegacyNodeRoleBehavior: false
     ...

    在集群中启用列为 true 的功能。

    注意

    列出的功能因 OpenShift Container Platform 版本的不同而有所不同。

4.9.3. 使用 CLI 启用功能集

您可以通过编辑 FeatureGate 自定义资源(CR)来使用 OpenShift CLI(oc)为集群中的所有节点启用功能集。

先决条件

  • 已安装 OpenShift CLI(oc)。

流程

启用功能集:

  1. 编辑名为 clusterFeatureGate CR:

    $ oc edit featuregate cluster
    警告

    在集群中启用 TechPreviewNoUpgrade 功能集无法撤消,并会阻止次版本更新。您不应该在生产环境集群中启用此功能。

    FeatureGate 自定义资源示例

    apiVersion: config.openshift.io/v1
    kind: FeatureGate
    metadata:
      name: cluster 1
    spec:
      featureSet: TechPreviewNoUpgrade 2

    1
    FeatureGate CR 的名称必须是 cluster
    2
    添加要启用的功能集:
    • TechPreviewNoUpgrade 启用了特定的技术预览功能。

    保存更改后,会创建新的机器配置,然后更新机器配置池,并在应用更改时在每个节点上调度。

验证

您可以在节点返回就绪状态后查看节点上的 kubelet.conf 文件来验证是否启用了功能门。

  1. 从 Web 控制台中的 Administrator 视角,进入到 ComputeNodes
  2. 选择一个节点。
  3. Node 详情页面中,点 Terminal
  4. 在终端窗口中,将根目录改为 /host

    sh-4.2# chroot /host
  5. 查看 kubelet.conf 文件:

    sh-4.2# cat /etc/kubernetes/kubelet.conf

    输出示例

     ...
    featureGates:
      InsightsOperatorPullingSCA: true,
      LegacyNodeRoleBehavior: false
     ...

    在集群中启用列为 true 的功能。

    注意

    列出的功能因 OpenShift Container Platform 版本的不同而有所不同。