6.11. 使用 FeatureGate 启用技术预览功能
您可以通过编辑 FeatureGate 自定义资源(CR)为集群中的所有节点开启当前技术预览功能的子集。
6.11.1. 了解功能门 复制链接链接已复制到粘贴板!
您可以使用 FeatureGate 自定义资源(CR)在集群中启用特定的功能集。功能集是 OpenShift Container Platform 功能的集合,默认情况下不启用。
您可以使用 FeatureGate CR 激活以下功能集:
TechPreviewNoUpgrade.这个功能集是当前技术预览功能的子集。此功能集允许您在测试集群中启用这些技术预览功能,您可以在测试集群中完全测试它们,同时保留生产集群中禁用的功能。警告在集群中启用
TechPreviewNoUpgrade功能集无法撤消,并会阻止次版本更新。您不应该在生产环境集群中启用此功能。此功能集启用了以下技术预览功能:
CSI 自动迁移。为支持的树内卷插件启用自动迁移,并将其对应的 Container Storage Interface(CSI)驱动程序。支持:
-
Azure 文件 (
CSIMigrationAzureFile) -
VMware vSphere (
CSIMigrationvSphere)
-
Azure 文件 (
-
共享资源 CSI 驱动程序并在 OpenShift 构建中构建 CSI 卷。启用 Container Storage Interface (CSI)。(
CSIDriverSharedResource) -
CSI 卷。为 OpenShift Container Platform 构建系统启用 CSI 卷支持。(
BuildCSIVolumes) -
节点上的交换内存。根据每个节点为 OpenShift Container Platform 工作负载启用交换内存使用。(
NodeSwap) -
cgroup v2。启用 cgroup v2,即 Linux cgroup API 的下一版本。(
CGroupsV2) -
crun。启用 crun 容器运行时。(
Crun) -
Insights Operator。启用 Insights Operator,它会收集 OpenShift Container Platform 配置数据并将其发送到红帽。(
InsightsConfigAPI) -
外部云供应商。为 vSphere、AWS、Azure 和 GCP 上的集群启用外部云供应商的支持。对 OpenStack 的支持是 GA。(
ExternalCloudProvider) -
Pod 拓扑分布限制。为 pod 拓扑约束启用
matchLabelKeys参数。参数是 pod 标签键列表,用于选择要在其中计算分布的 pod。(MatchLabelKeysInPodTopologySpread) Pod 安全准入强制。为 pod 安全准入启用受限强制。如果 pod 违反了 pod 安全标准,它们会被拒绝,而不是仅记录警告信息。(
OpenShiftPodSecurityAdmission)注意只有在安装 OpenShift Container Platform 集群后启用
TechPreviewNoUpgrade功能集时,Pod 安全准入限制强制才会被激活。如果您在集群安装过程中启用TechPreviewNoUpgrade功能集,则不会激活它。
6.11.2. 使用 Web 控制台启用功能集 复制链接链接已复制到粘贴板!
您可以通过编辑 FeatureGate 自定义资源(CR)来使用 OpenShift Container Platform Web 控制台为集群中的所有节点启用功能集。
流程
启用功能集:
-
在 OpenShift Container Platform web 控制台中,切换到 Administration
Custom Resource Definitions 页面。 - 在 Custom Resource Definitions 页面中,点击 FeatureGate。
- 在 Custom Resource Definition Details 页面中,点 Instances 选项卡。
- 点 集群 功能门,然后点 YAML 选项卡。
编辑集群实例以添加特定的功能集:
警告在集群中启用
TechPreviewNoUpgrade功能集无法撤消,并会阻止次版本更新。您不应该在生产环境集群中启用此功能。功能门自定义资源示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存更改后,会创建新的机器配置,然后更新机器配置池,并在应用更改时在每个节点上调度。
验证
您可以在节点返回就绪状态后查看节点上的 kubelet.conf 文件来验证是否启用了功能门。
-
从 Web 控制台中的 Administrator 视角,进入到 Compute
Nodes。 - 选择一个节点。
- 在 Node 详情页面中,点 Terminal。
在终端窗口中,将根目录改为
/host:chroot /host
sh-4.2# chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看
kubelet.conf文件:cat /etc/kubernetes/kubelet.conf
sh-4.2# cat /etc/kubernetes/kubelet.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
... ...
# ... featureGates: InsightsOperatorPullingSCA: true, LegacyNodeRoleBehavior: false # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在集群中启用列为
true的功能。注意列出的功能因 OpenShift Container Platform 版本的不同而有所不同。
6.11.3. 使用 CLI 启用功能集 复制链接链接已复制到粘贴板!
您可以通过编辑 FeatureGate 自定义资源(CR)来使用 OpenShift CLI(oc)为集群中的所有节点启用功能集。
先决条件
-
已安装 OpenShift CLI(
oc)。
流程
启用功能集:
编辑名为
cluster的FeatureGateCR:oc edit featuregate cluster
$ oc edit featuregate clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 警告在集群中启用
TechPreviewNoUpgrade功能集无法撤消,并会阻止次版本更新。您不应该在生产环境集群中启用此功能。FeatureGate 自定义资源示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存更改后,会创建新的机器配置,然后更新机器配置池,并在应用更改时在每个节点上调度。
验证
您可以在节点返回就绪状态后查看节点上的 kubelet.conf 文件来验证是否启用了功能门。
-
从 Web 控制台中的 Administrator 视角,进入到 Compute
Nodes。 - 选择一个节点。
- 在 Node 详情页面中,点 Terminal。
在终端窗口中,将根目录改为
/host:chroot /host
sh-4.2# chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看
kubelet.conf文件:cat /etc/kubernetes/kubelet.conf
sh-4.2# cat /etc/kubernetes/kubelet.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
... ...
# ... featureGates: InsightsOperatorPullingSCA: true, LegacyNodeRoleBehavior: false # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在集群中启用列为
true的功能。注意列出的功能因 OpenShift Container Platform 版本的不同而有所不同。