8.7. 使用功能门启用功能
作为管理员,您可以使用功能门启用不是默认功能集合中的功能。
8.7.1. 了解功能门 复制链接链接已复制到粘贴板!
您可以使用 FeatureGate
自定义资源(CR)在集群中启用特定的功能集。功能集是 OpenShift Container Platform 功能的集合,默认情况下不启用。
您可以使用 FeatureGate
CR 激活以下功能集:
TechPreviewNoUpgrade
.这个功能集是当前技术预览功能的子集。此功能集允许您在测试集群中启用这些技术预览功能,您可以在测试集群中完全测试它们,同时保留生产集群中禁用的功能。警告在集群中启用
TechPreviewNoUpgrade
功能集无法撤消,并会阻止次版本更新。您不应该在生产环境集群中启用此功能。此功能集启用了以下技术预览功能:
-
外部云供应商。为 vSphere、AWS、Azure 和 GCP 上的集群启用外部云供应商的支持。对 OpenStack 的支持是 GA。这是一个内部功能,大多数用户不需要与之交互。(
ExternalCloudProvider
) -
节点上的交换内存。根据每个节点为 OpenShift Container Platform 工作负载启用交换内存使用。(
NodeSwap
) -
OpenStack Machine API 提供程序。此最低要求无效,计划在以后的发行版本中从此功能集中删除。(
MachineAPIProviderOpenStack
) -
Insights Operator。启用
InsightsDataGather
CRD,允许用户配置一些 Insights 数据收集选项。功能集还启用了DataGather
CRD,允许用户按需运行 Insights 数据收集。(InsightsConfigAPI
) -
动态资源分配 API。启用一个新的 API 在 pod 和容器间请求和共享资源。这是一个内部功能,大多数用户不需要与之交互。(
DynamicResourceAllocation
) -
Pod 安全准入强制。为 pod 安全准入启用受限强制模式。如果 pod 违反了 pod 安全标准,它们会被拒绝,而不是仅记录警告信息。(
OpenShiftPodSecurityAdmission
) -
StatefulSet pod 可用性升级限制。允许用户定义在更新过程中不可用的 statefulset pod 的最大数量,这可以减少应用程序停机时间。(
MaxUnavailableStatefulSet
) -
gcpLabelsTags
-
vSphereStaticIPs
-
routeExternalCertificate
-
automatedEtcdBackup
-
gcpClusterHostedDNS
-
vSphereControlPlaneMachineset
-
dnsNameResolver
-
machineConfigNodes
-
metricsServer
-
installAlternateInfrastructureAWS
-
mixedCPUsAllocation
-
managedBootImages
-
onClusterBuild
-
signatureStores
-
SigstoreImageVerification
-
DisableKubeletCloudCredentialProviders
-
BareMetalLoadBalancer
-
ClusterAPIInstallAWS
-
ClusterAPIInstallAzure
-
ClusterAPIInstallNutanix
-
ClusterAPIInstallOpenStack
-
ClusterAPIInstallVSphere
-
HardwareSpeed
-
KMSv1
-
NetworkDiagnosticsConfig
-
VSphereDriverConfiguration
-
ExternalOIDC
-
ChunkSizeMiB
-
ClusterAPIInstallGCP
-
ClusterAPIInstallPowerVS
-
EtcdBackendQuota
-
InsightsConfig
-
InsightsOnDemandDataGather
-
MetricsCollectionProfiles
-
NewOLM
-
NodeDisruptionPolicy
-
PinnedImages
-
PlatformOperators
-
ServiceAccountTokenNodeBinding
-
TranslateStreamCloseWebsocketRequests
-
UpgradeStatus
-
VSphereMultiVCenters
-
VolumeGroupSnapshot
-
AdditionalRoutingCapabilities
-
BootcNodeManagement
-
ClusterMonitoringConfig
-
DNSNameResolver
-
ManagedBootImagesAWS
-
NetworkSegmentation
-
OVNObservability
-
PersistentIPsForVirtualization
-
ProcMountType
-
RouteAdvertisements
-
UserNamespacesSupport
-
AWSEFSDriverVolumeMetrics
-
AlibabaPlatform
-
AzureWorkloadIdentity
-
BuildCSIVolumes
-
CloudDualStackNodeIPs
-
ExternalCloudProviderAzure
-
ExternalCloudProviderExternal
-
ExternalCloudProviderGCP
-
IngressControllerLBSubnetsAWS
-
MultiArchInstallAWS
-
MultiArchInstallGCP
-
NetworkLiveMigration
-
PrivateHostedZoneAWS
-
SetEIPForNLBIngressController
-
ValidatingAdmissionPolicy
-
外部云供应商。为 vSphere、AWS、Azure 和 GCP 上的集群启用外部云供应商的支持。对 OpenStack 的支持是 GA。这是一个内部功能,大多数用户不需要与之交互。(
有关 TechPreviewNoUpgrade
功能门激活的功能的更多信息,请参阅以下主题:
8.7.2. 在安装时启用功能集 复制链接链接已复制到粘贴板!
在部署集群前,您可以编辑 install-config.yaml
文件来为集群中的所有节点启用功能集。
先决条件
-
您有一个
install-config.yaml
文件。
流程
使用
featureSet
参数指定您要启用的功能集的名称,如TechPreviewNoUpgrade
:警告在集群中启用
TechPreviewNoUpgrade
功能集无法撤消,并会阻止次版本更新。您不应该在生产环境集群中启用此功能。带有启用功能集的
install-config.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存文件并在使用安装程序部署集群时引用。
验证
您可以在节点返回就绪状态后查看节点上的 kubelet.conf
文件来验证是否启用了功能门。
-
从 Web 控制台中的 Administrator 视角,进入到 Compute
Nodes。 - 选择一个节点。
- 在 Node 详情页面中,点 Terminal。
在终端窗口中,将根目录改为
/host
:chroot /host
sh-4.2# chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看
kubelet.conf
文件:cat /etc/kubernetes/kubelet.conf
sh-4.2# cat /etc/kubernetes/kubelet.conf
Copy 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 版本的不同而有所不同。
8.7.3. 使用 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 /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看
kubelet.conf
文件:cat /etc/kubernetes/kubelet.conf
sh-4.2# cat /etc/kubernetes/kubelet.conf
Copy 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 版本的不同而有所不同。
8.7.4. 使用 CLI 启用功能集 复制链接链接已复制到粘贴板!
您可以通过编辑 FeatureGate
自定义资源(CR)来使用 OpenShift CLI(oc
)为集群中的所有节点启用功能集。
先决条件
-
已安装 OpenShift CLI(
oc
)。
流程
启用功能集:
编辑名为
cluster
的FeatureGate
CR:oc edit featuregate cluster
$ oc edit featuregate cluster
Copy 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 /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看
kubelet.conf
文件:cat /etc/kubernetes/kubelet.conf
sh-4.2# cat /etc/kubernetes/kubelet.conf
Copy 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 版本的不同而有所不同。