特性门控

本页详述了管理员可以在不同的 Kubernetes 组件上指定的各种特性门控。

关于特性各个阶段的说明,请参见特性阶段

概述

特性门控是描述 Kubernetes 特性的一组键值对。您可以在 Kubernetes 的每一个组件中使用 --feature-gates flag 来启用或禁用这些特性。

每个 Kubernetes 组件都支持启用或禁用与该组件相关的一组特性门控。 使用 -h 参数来查看所有组件支持的完整特性门控。 要为诸如 kubelet 之类的组件设置特性门控,请使用 --feature-gates 参数,并向其传递一组特性:

  1. --feature-gates="...,DynamicKubeletConfig=true"

下表总结了在不同的 Kubernetes 组件上可以设置的特性门控。

  • 引入特性或更改其发布阶段后,”Since” 列将包含 Kubernetes 版本。
  • “Until” 列(如果不为空)包含最后一个 Kubernetes 版本,您仍可以在其中使用特性门控。
  • 如果某个特性处于 Alpha 或 Beta 状态,您可以在 Alpha 和 Beta 特性门控表中找到该特性。
  • 如果某个特性处于稳定状态,您可以在毕业和废弃特性门控表.中找到该特性的所有阶段。
  • 毕业和废弃特性门控表 还列出了废弃的和已被移除的特性。

Alpha 和 Beta 的特性门控

处于 Alpha 或 Beta 状态的特性门控
特性默认值状态开始(Since)结束(Until)
APIListChunkingfalseAlpha1.81.8
APIListChunkingtrueBeta1.9
APIPriorityAndFairnessfalseAlpha1.17
APIResponseCompressionfalseAlpha1.7
AppArmortrueBeta1.4
BalanceAttachedNodeVolumesfalseAlpha1.11
BlockVolumefalseAlpha1.91.12
BlockVolumetrueBeta1.13-
BoundServiceAccountTokenVolumefalseAlpha1.13
CPUManagerfalseAlpha1.81.9
CPUManagertrueBeta1.10
CRIContainerLogRotationfalseAlpha1.101.10
CRIContainerLogRotationtrueBeta1.11
CSIBlockVolumefalseAlpha1.111.13
CSIBlockVolumetrueBeta1.14
CSIDriverRegistryfalseAlpha1.121.13
CSIDriverRegistrytrueBeta1.14
CSIInlineVolumefalseAlpha1.151.15
CSIInlineVolumetrueBeta1.16-
CSIMigrationfalseAlpha1.141.16
CSIMigrationtrueBeta1.17
CSIMigrationAWSfalseAlpha1.14
CSIMigrationAWSfalseBeta1.17
CSIMigrationAWSCompletefalseAlpha1.17
CSIMigrationAzureDiskfalseAlpha1.15
CSIMigrationAzureDiskCompletefalseAlpha1.17
CSIMigrationAzureFilefalseAlpha1.15
CSIMigrationAzureFileCompletefalseAlpha1.17
CSIMigrationGCEfalseAlpha1.141.16
CSIMigrationGCEfalseBeta1.17
CSIMigrationGCECompletefalseAlpha1.17
CSIMigrationOpenStackfalseAlpha1.14
CSIMigrationOpenStackCompletefalseAlpha1.17
CustomCPUCFSQuotaPeriodfalseAlpha1.12
CustomResourceDefaultingfalseAlpha1.151.15
CustomResourceDefaultingtrueBeta1.16
DevicePluginsfalseAlpha1.81.9
DevicePluginstrueBeta1.10
DryRunfalseAlpha1.121.12
DryRuntrueBeta1.13
DynamicAuditingfalseAlpha1.13
DynamicKubeletConfigfalseAlpha1.41.10
DynamicKubeletConfigtrueBeta1.11
EndpointSlicefalseAlpha1.161.16
EndpointSlicefalseBeta1.17
EphemeralContainersfalseAlpha1.16
ExpandCSIVolumesfalseAlpha1.141.15
ExpandCSIVolumestrueBeta1.16
ExpandInUsePersistentVolumesfalseAlpha1.111.14
ExpandInUsePersistentVolumestrueBeta1.15
ExpandPersistentVolumesfalseAlpha1.81.10
ExpandPersistentVolumestrueBeta1.11
ExperimentalHostUserNamespaceDefaultingfalseBeta1.5
EvenPodsSpreadfalseAlpha1.16
HPAScaleToZerofalseAlpha1.16
HyperVContainerfalseAlpha1.10
KubeletPodResourcesfalseAlpha1.131.14
KubeletPodResourcestrueBeta1.15
LegacyNodeRoleBehaviortrueAlpha1.16
LocalStorageCapacityIsolationfalseAlpha1.71.9
LocalStorageCapacityIsolationtrueBeta1.10
LocalStorageCapacityIsolationFSQuotaMonitoringfalseAlpha1.15
MountContainersfalseAlpha1.9
NodeDisruptionExclusionfalseAlpha1.16
NonPreemptingPriorityfalseAlpha1.15
PodOverheadfalseAlpha1.16-
ProcMountTypefalseAlpha1.12
QOSReservedfalseAlpha1.11
RemainingItemCountfalseAlpha1.15
ResourceLimitsPriorityFunctionfalseAlpha1.9
RotateKubeletClientCertificatetrueBeta1.8
RotateKubeletServerCertificatefalseAlpha1.71.11
RotateKubeletServerCertificatetrueBeta1.12
RunAsGrouptrueBeta1.14
RuntimeClassfalseAlpha1.121.13
RuntimeClasstrueBeta1.14
SCTPSupportfalseAlpha1.12
ServerSideApplyfalseAlpha1.141.15
ServerSideApplytrueBeta1.16
ServiceNodeExclusionfalseAlpha1.8
ServiceTopologyfalseAlpha1.17
StartupProbefalseAlpha1.16
StorageVersionHashfalseAlpha1.141.14
StorageVersionHashtrueBeta1.15
StreamingProxyRedirectsfalseBeta1.51.5
StreamingProxyRedirectstrueBeta1.6
SupportNodePidsLimitfalseAlpha1.141.14
SupportNodePidsLimittrueBeta1.15
SupportPodPidsLimitfalseAlpha1.101.13
SupportPodPidsLimittrueBeta1.14
SysctlstrueBeta1.11
TaintBasedEvictionsfalseAlpha1.61.12
TaintBasedEvictionstrueBeta1.13
TokenRequestfalseAlpha1.101.11
TokenRequesttrueBeta1.12
TokenRequestProjectionfalseAlpha1.111.11
TokenRequestProjectiontrueBeta1.12
TTLAfterFinishedfalseAlpha1.12
TopologyManagerfalseAlpha1.16
ValidateProxyRedirectsfalseAlpha1.121.13
ValidateProxyRedirectstrueBeta1.14
VolumePVCDataSourcefalseAlpha1.151.15
VolumePVCDataSourcetrueBeta1.16
VolumeSnapshotDataSourcefalseAlpha1.121.16
VolumeSnapshotDataSourcetrueBeta1.17-
WindowsGMSAfalseAlpha1.14
WindowsGMSAtrueBeta1.16
WinDSRfalseAlpha1.14
WinOverlayfalseAlpha1.14

已毕业和不推荐使用的特性门控

已毕业或不推荐使用的特性门控
特性默认值状态开始(Since)结束(Until)
AcceleratorsfalseAlpha1.61.10
Accelerators-Deprecated1.11-
AdvancedAuditingfalseAlpha1.71.7
AdvancedAuditingtrueBeta1.81.11
AdvancedAuditingtrueGA1.12-
AffinityInAnnotationsfalseAlpha1.61.7
AffinityInAnnotations-Deprecated1.8-
AllowExtTrafficLocalEndpointsfalseBeta1.41.6
AllowExtTrafficLocalEndpointstrueGA1.7-
CSINodeInfofalseAlpha1.121.13
CSINodeInfotrueBeta1.141.16
CSINodeInfotrueGA1.17
AttachVolumeLimitfalseAlpha1.111.11
AttachVolumeLimittrueBeta1.121.16
AttachVolumeLimittrueGA1.17-
CSIPersistentVolumefalseAlpha1.91.9
CSIPersistentVolumetrueBeta1.101.12
CSIPersistentVolumetrueGA1.13-
CustomPodDNSfalseAlpha1.91.9
CustomPodDNStrueBeta1.101.13
CustomPodDNStrueGA1.14-
CustomResourcePublishOpenAPIfalseAlpha1.141.14
CustomResourcePublishOpenAPItrueBeta1.151.15
CustomResourcePublishOpenAPItrueGA1.16-
CustomResourceSubresourcesfalseAlpha1.101.10
CustomResourceSubresourcestrueBeta1.111.15
CustomResourceSubresourcestrueGA1.16-
CustomResourceValidationfalseAlpha1.81.8
CustomResourceValidationtrueBeta1.91.15
CustomResourceValidationtrueGA1.16-
CustomResourceWebhookConversionfalseAlpha1.131.14
CustomResourceWebhookConversiontrueBeta1.151.15
CustomResourceWebhookConversiontrueGA1.16-
DynamicProvisioningSchedulingfalseAlpha1.111.11
DynamicProvisioningScheduling-Deprecated1.12-
DynamicVolumeProvisioningtrueAlpha1.31.7
DynamicVolumeProvisioningtrueGA1.8-
EnableEquivalenceClassCachefalseAlpha1.81.14
EnableEquivalenceClassCache-Deprecated1.15-
ExperimentalCriticalPodAnnotationfalseAlpha1.51.12
ExperimentalCriticalPodAnnotationfalseDeprecated1.13-
GCERegionalPersistentDisktrueBeta1.101.12
GCERegionalPersistentDisktrueGA1.13-
HugePagesfalseAlpha1.81.9
HugePagestrueBeta1.101.13
HugePagestrueGA1.14-
InitializersfalseAlpha1.71.13
Initializers-Deprecated1.14-
KubeletConfigFilefalseAlpha1.81.9
KubeletConfigFile-Deprecated1.10-
KubeletPluginsWatcherfalseAlpha1.111.11
KubeletPluginsWatchertrueBeta1.121.12
KubeletPluginsWatchertrueGA1.13-
MountPropagationfalseAlpha1.81.9
MountPropagationtrueBeta1.101.11
MountPropagationtrueGA1.12-
NodeLeasefalseAlpha1.121.13
NodeLeasetrueBeta1.141.16
NodeLeasetrueGA1.17-
PersistentLocalVolumesfalseAlpha1.71.9
PersistentLocalVolumestrueBeta1.101.13
PersistentLocalVolumestrueGA1.14-
PodPriorityfalseAlpha1.81.10
PodPrioritytrueBeta1.111.13
PodPrioritytrueGA1.14-
PodReadinessGatesfalseAlpha1.111.11
PodReadinessGatestrueBeta1.121.13
PodReadinessGatestrueGA1.14-
PodShareProcessNamespacefalseAlpha1.101.11
PodShareProcessNamespacetrueBeta1.121.16
PodShareProcessNamespacetrueGA1.17-
PVCProtectionfalseAlpha1.91.9
PVCProtection-Deprecated1.10-
RequestManagementfalseAlpha1.151.16
ResourceQuotaScopeSelectorsfalseAlpha1.111.11
ResourceQuotaScopeSelectorstrueBeta1.121.16
ResourceQuotaScopeSelectorstrueGA1.17-
ScheduleDaemonSetPodsfalseAlpha1.111.11
ScheduleDaemonSetPodstrueBeta1.121.16
ScheduleDaemonSetPodstrueGA1.17-
ServiceLoadBalancerFinalizerfalseAlpha1.151.15
ServiceLoadBalancerFinalizertrueBeta1.161.16
ServiceLoadBalancerFinalizertrueGA1.17-
StorageObjectInUseProtectiontrueBeta1.101.10
StorageObjectInUseProtectiontrueGA1.11-
SupportIPVSProxyModefalseAlpha1.81.8
SupportIPVSProxyModefalseBeta1.91.9
SupportIPVSProxyModetrueBeta1.101.10
SupportIPVSProxyModetrueGA1.11-
TaintNodesByConditionfalseAlpha1.81.11
TaintNodesByConditiontrueBeta1.121.16
TaintNodesByConditiontrueGA1.17-
VolumeSchedulingfalseAlpha1.91.9
VolumeSchedulingtrueBeta1.101.12
VolumeSchedulingtrueGA1.13-
VolumeSubpathtrueGA1.13-
VolumeSubpathEnvExpansionfalseAlpha1.141.14
VolumeSubpathEnvExpansiontrueBeta1.151.16
VolumeSubpathEnvExpansiontrueGA1.17-
WatchBookmarkfalseAlpha1.151.15
WatchBookmarktrueBeta1.161.16
WatchBookmarktrueGA1.17-

使用特性

特性阶段

处于 AlphaBetaGA 阶段的特性。

Alpha 特性代表:

  • 默认禁用。
  • 可能有错误,启用此特性可能会导致错误。
  • 随时可能删除对此特性的支持,恕不另行通知。
  • 在以后的软件版本中,API 可能会以不兼容的方式更改,恕不另行通知。
  • 建议将其仅用于短期测试中,因为开启特性会增加错误的风险,并且缺乏长期支持。

Beta 特性代表:

  • 默认禁用。
  • 该特性已经经过良好测试。启用该特性是安全的。
  • 尽管详细信息可能会更改,但不会放弃对整体特性的支持。
  • 对象的架构或语义可能会在随后的 Beta 或稳定版本中以不兼容的方式更改。当发生这种情况时,我们将提供迁移到下一版本的说明。此特性可能需要删除、编辑和重新创建 API 对象。编辑过程可能需要慎重操作,因为这可能会导致依赖该特性的应用程序停机。
  • 推荐仅用于非关键业务用途,因为在后续版本中可能会发生不兼容的更改。如果您具有多个可以独立升级的,则可以放宽此限制。

注意:

请试用 Beta 特性并提供相关反馈! 一旦特性结束 Beta 状态,我们就不太可能再对特性进行大幅修改。

General Availability (GA) 特性也称为 稳定 特性,GA 特性代表着:

  • 此特性会一直启用;你不能禁用它。
  • 不再需要相应的特性门控。
  • 对于许多后续版本,特性的稳定版本将出现在发行的软件中。

特性门控列表

每个特性门控均用于启用或禁用某个特定的特性:

  • Accelerators:使用 Docker 时启用 Nvidia GPU 支持。
  • AdvancedAuditing:启用高级审查功能
  • AffinityInAnnotations已弃用 ):启用 Pod 亲和力或反亲和力
  • AllowExtTrafficLocalEndpoints:启用服务用于将外部请求路由到节点本地终端。
  • APIListChunking:启用 API 客户端以块的形式从 API 服务器检索(“LIST” 或 “GET”)资源。
  • APIPriorityAndFairness: Enable managing request concurrency with prioritization and fairness at each server. (Renamed from RequestManagement)
  • APIPriorityAndFairness: 在每个服务器上启用优先级和公平性来管理请求并发。(由 RequestManagement 重命名而来)
  • APIResponseCompression:压缩 “LIST” 或 “GET” 请求的 API 响应。
  • AppArmor:使用 Docker 时,在 Linux 节点上启用基于 AppArmor 机制的强制访问控制。请参见 AppArmor 教程 获取详细信息。

  • AttachVolumeLimit:启用卷插件用于报告可连接到节点的卷数限制。有关更多详细信息,请参见动态卷限制

  • BalanceAttachedNodeVolumes:包括要在调度时进行平衡资源分配的节点上的卷数。scheduler 在决策时会优先考虑 CPU、内存利用率和卷数更近的节点。
  • BlockVolume:在 Pod 中启用原始块设备的定义和使用。有关更多详细信息,请参见原始块卷支持
  • BoundServiceAccountTokenVolume:迁移 ServiceAccount 卷以使用由 ServiceAccountTokenVolumeProjection 组成的预计卷。有关更多详细信息,请参见 Service Account Token 卷
  • CPUManager:启用容器级别的 CPU 亲和力支持,有关更多详细信息,请参见 CPU 管理策略

  • CRIContainerLogRotation:为 cri 容器运行时启用容器日志轮换。

  • CSIBlockVolume:启用外部 CSI 卷驱动程序用于支持块存储。有关更多详细信息,请参见 csi 原始块卷支持
  • CSIDriverRegistry:在 csi.storage.k8s.io 中启用与 CSIDriver API 对象有关的所有逻辑。
  • CSIInlineVolume:为 Pod 启用 CSI 内联卷支持。
  • CSIMigration:确保填充和转换逻辑能够将卷操作从内嵌插件路由到相应的预安装 CSI 插件。
  • CSIMigrationAWS:确保填充和转换逻辑能够将卷操作从 AWS-EBS 内嵌插件路由到 EBS CSI 插件。如果节点未安装和配置 EBS CSI 插件,则支持回退到内嵌 EBS 插件。这需要启用 CSIMigration 特性标志。
  • CSIMigrationAWSComplete:停止在 kubelet 和卷控制器中注册 EBS 内嵌插件,并启用 shims 和转换逻辑将卷操作从AWS-EBS 内嵌插件路由到 EBS CSI 插件。这需要启用 CSIMigration 和 CSIMigrationAWS 特性标志,并在群集中的所有节点上安装和配置 EBS CSI 插件。
  • CSIMigrationAzureDisk:确保填充和转换逻辑能够将卷操作从 Azure 磁盘内嵌插件路由到 Azure 磁盘 CSI 插件。如果节点未安装和配置 AzureDisk CSI 插件,支持回退到内建 AzureDisk 插件。这需要启用 CSIMigration 特性标志。
  • CSIMigrationAzureDiskComplete:停止在 kubelet 和卷控制器中注册 Azure 磁盘内嵌插件,并启用 shims 和转换逻辑以将卷操作从 Azure 磁盘内嵌插件路由到 AzureDisk CSI 插件。这需要启用 CSIMigration 和 CSIMigrationAzureDisk 特性标志,并在群集中的所有节点上安装和配置 AzureDisk CSI 插件。
  • CSIMigrationAzureFile:确保填充和转换逻辑能够将卷操作从 Azure 文件内嵌插件路由到 Azure 文件 CSI 插件。如果节点未安装和配置 AzureFile CSI 插件,支持回退到内嵌 AzureFile 插件。这需要启用 CSIMigration 特性标志。
  • CSIMigrationAzureFileComplete:停止在 kubelet 和卷控制器中注册 Azure-File 内嵌插件,并启用 shims 和转换逻辑以将卷操作从 Azure-File 内嵌插件路由到 AzureFile CSI 插件。这需要启用 CSIMigration 和 CSIMigrationAzureFile 特性标志,并在群集中的所有节点上安装和配置 AzureFile CSI 插件。

  • CSIMigrationGCE:使 shims 和转换逻辑能够将卷操作从 GCE-PD 内嵌插件路由到 PD CSI 插件。如果节点未安装和配置 PD CSI 插件,支持回退到内嵌 GCE 插件。这需要启用 CSIMigration 特性标志。

  • CSIMigrationGCEComplete:停止在 kubelet 和卷控制器中注册 GCE-PD 内嵌插件,并启用 shims 和转换逻辑以将卷操作从 GCE-PD 内嵌插件路由到 PD CSI 插件。这需要启用 CSIMigration 和 CSIMigrationGCE 特性标志,并在群集中的所有节点上安装和配置 PD CSI 插件。
  • CSIMigrationOpenStack:确保填充和转换逻辑能够将卷操作从 Cinder 内嵌插件路由到 Cinder CSI 插件。如果节点未安装和配置 Cinder CSI 插件,支持回退到内嵌 Cinder 插件。这需要启用 CSIMigration 特性标志。
  • CSIMigrationOpenStackComplete:停止在 kubelet 和卷控制器中注册 Cinder 内嵌插件,并启用 shims 和转换逻辑将卷操作从 Cinder 内嵌插件路由到 Cinder CSI 插件。这需要启用 CSIMigration 和 CSIMigrationOpenStack 特性标志,并在群集中的所有节点上安装和配置 Cinder CSI 插件。
  • CSINodeInfo:在 csi.storage.k8s.io 中启用与 CSINodeInfo API 对象有关的所有逻辑。
  • CSIPersistentVolume:启用发现并挂载通过 CSI(容器存储接口)兼容卷插件配置的卷。有关更多详细信息,请参见 csi 卷类型

  • CustomCPUCFSQuotaPeriod:使节点能够更改 CPUCFSQuotaPeriod。

  • CustomPodDNS:使用其 dnsConfig 属性启用 Pod 的自定义 DNS 设置。有关更多详细信息,请参见 Pod 的 DNS 配置
  • CustomResourceDefaulting:为 OpenAPI v3 验证架构中的默认值启用 CRD 支持。
  • CustomResourcePublishOpenAPI:启用 CRD OpenAPI 规范的发布。
  • CustomResourceSubresources:对于从 CustomResourceDefinition 中创建的资源启用 /status/scale 子资源。
  • CustomResourceValidation:对于从 CustomResourceDefinition 中创建的资源启用基于架构的验证。
  • CustomResourceWebhookConversion:对于从 CustomResourceDefinition 中创建的资源启用基于 Webhook 的转换。 对正在运行的 Pod 进行故障排除。

  • DevicePlugins:在节点上启用基于 device-plugins 的资源供应。

  • DryRun:启用服务器端 dry run 请求,以便无需提交即可测试验证、合并和差异化。
  • DynamicAuditing:确保动态审查
  • DynamicKubeletConfig:启用 kubelet 的动态配置。请参阅重新配置 kubelet
  • DynamicProvisioningScheduling:扩展默认 scheduler 以了解卷拓扑并处理 PV 配置。此特性已在 v1.12 中完全被 VolumeScheduling 特性取代。
  • DynamicVolumeProvisioning已弃用 ):启用持久化卷到 Pod 的动态预配置

  • EnableAggregatedDiscoveryTimeout已弃用 ):对聚集的发现调用启用五秒钟超时设置。

  • EnableEquivalenceClassCache:调度 Pod 时,使 scheduler 缓存节点的等效项。
  • EphemeralContainers:启用添加 临时容器您可以在 Pod 中临时运行的一种容器类型 到正在运行的 Pod 的特性。
  • EvenPodsSpread:使 Pod 能够在拓扑域之间平衡调度。请参阅 Pod 拓扑扩展约束
  • ExpandInUsePersistentVolumes:启用扩展使用中的 PVC。请查阅 调整使用中的 PersistentVolumeClaim 的大小
  • ExpandPersistentVolumes:启用持久卷的扩展。请查阅扩展永久卷声明
  • ExperimentalCriticalPodAnnotation:启用将特定 Pod 注解为 critical 的方式,用于确保其调度。从 v1.13 开始,Pod 优先级和抢占功能已弃用此特性。

  • ExperimentalHostUserNamespaceDefaultingGate:启用主机默认的用户命名空间。这适用于使用其他主机命名空间、主机安装的容器,或具有特权或使用特定的非命名空间功能(例如MKNODE、SYS_MODULE等)的容器。如果在 Docker 守护程序中启用了用户命名空间重新映射,则启用此选项。

  • EndpointSlice:启用端点切片以实现更多可扩展的网络端点。需要启用相应的 API 和控制器,请参阅启用端点切片
  • GCERegionalPersistentDisk:在 GCE 上启用区域 PD 特性。
  • HugePages: 启用分配和使用预分配的 huge pages

  • HyperVContainer:为 Windows 容器启用Hyper-V 隔离

  • HPAScaleToZero:使用自定义指标或外部指标时,可将 HorizontalPodAutoscaler 资源的 minReplicas 设置为 0。
  • KubeletConfigFile:启用从使用配置文件指定的文件中加载 kubelet 配置。有关更多详细信息,请参见通过配置文件设置 kubelet 参数
  • KubeletPluginsWatcher:启用基于探针的插件监视应用程序,使 kubelet 能够发现插件,例如 CSI 卷驱动程序
  • KubeletPodResources:启用 kubelet 的 pod 资源 grpc 端点。有关更多详细信息,请参见支持设备监控
  • LegacyNodeRoleBehavior:禁用此选项后,服务负载均衡中的旧版操作和节点中断将忽略 node-role.kubernetes.io/master 标签,而使用特性指定的标签。

  • LocalStorageCapacityIsolation:启用本地临时存储的消耗,以及 emptyDir 卷sizeLimit 属性。

  • LocalStorageCapacityIsolationFSQuotaMonitoring:如果为本地临时存储启用了 LocalStorageCapacityIsolation,并且 emptyDir 卷 的后备文件系统支持项目配额,并且启用了这些配额,请使用项目配额来监视 emptyDir 卷的存储消耗而不是遍历文件系统,以此获得更好的性能和准确性。
  • MountContainers:在主机上启用将应用程序容器用作卷安装程序。
  • MountPropagation:启用将一个容器安装的共享卷共享到其他容器或 Pod。有关更多详细信息,请参见 mount propagation
  • NodeDisruptionExclusion:启用节点标签 node.kubernetes.io/exclude-disruption,以防止在区域故障期间驱逐节点。

  • NodeLease:启用新的租赁 API 以报告节点心跳,可用作节点运行状况信号。

  • NonPreemptingPriority:为 PriorityClass 和 Pod 启用 NonPreempting 选项。
  • PersistentLocalVolumes:在 Pod 中启用 “本地” 卷类型的使用。如果请求 “本地” 卷,则必须指定 Pod 亲和力。
  • PodOverhead:启用 PodOverhead 特性以解决 Pod 开销。
  • PodPriority:根据优先级启用 Pod 的调度和抢占。
  • PodReadinessGates:启用 PodReadinessGate 字段的设置以扩展 Pod 准备状态评估。有关更多详细信息,请参见 Pod readiness 特性门控

  • PodShareProcessNamespace:在 Pod 中启用 shareProcessNamespace 的设置,以便在 Pod 中运行的容器之间共享单个进程命名空间。更多详细信息,请参见在 Pod 中的容器之间共享进程命名空间

  • ProcMountType:启用对容器的 ProcMountType 的控制。
  • PVCProtection:启用防止任何 Pod 仍使用 PersistentVolumeClaim(PVC) 删除的特性。可以在此处中找到更多详细信息。
  • QOSReserved:允许在 QoS 级别进行资源预留,以防止处于较低 QoS 级别的 Pod 突发进入处于较高 QoS 级别的请求资源(仅适用于内存)。
  • ResourceLimitsPriorityFunction:启用 scheduler 优先级特性,该特性将最低可能得 1 分配给至少满足输入 Pod 的 cpu 和内存限制之一的节点,目的是打破得分相同的节点之间的联系。

  • RequestManagement:在每个服务器上启用具有优先级和公平性的管理请求并发性。

  • ResourceQuotaScopeSelectors:启用资源配额范围选择器。
  • RotateKubeletClientCertificate:在 kubelet 上启用客户端 TLS 证书的轮换。有关更多详细信息,请参见 kubelet 配置
  • RotateKubeletServerCertificate:在 kubelet 上启用服务器 TLS 证书的轮换。有关更多详细信息,请参见 kubelet 配置
  • RunAsGroup:启用对容器初始化过程中设置的主要组 ID 的控制。
  • RuntimeClass:启用 RuntimeClass 特性用于选择容器运行时配置。
  • ScheduleDaemonSetPods:启用 DaemonSet Pods 由默认调度程序而不是 DaemonSet 控制器进行调度。

  • SCTPSupport:在 “服务”、“端点”、“NetworkPolicy” 和 “Pod” 定义中,将 SCTP 用作 “协议” 值。

  • ServerSideApply:在 API 服务器上启用服务器端应用(SSA) 路径。
  • ServiceLoadBalancerFinalizer:为服务负载均衡启用终结器保护。
  • ServiceNodeExclusion:启用从云提供商创建的负载均衡中排除节点。如果节点标记有 alpha.service-controller.kubernetes.io/exclude-balancer 键或 node.kubernetes.io/exclude-from-external-load-balancers,则可以排除节点。
  • ServiceTopology: 启用服务拓扑可以让一个服务基于集群的节点拓扑进行流量路由。有关更多详细信息,请参见Service 拓扑
  • StartupProbe:在 kubelet 中启用 startup 探针。
  • StorageObjectInUseProtection:如果仍在使用 PersistentVolume 或 PersistentVolumeClaim 对象,则将其推迟。

  • StorageVersionHash:允许 apiserver 在发现中公开存储版本的哈希值。

  • StreamingProxyRedirects:指示 API 服务器拦截(并遵循)从后端(kubelet)进行重定向以处理流请求。流请求的例子包括 execattachport-forward 请求。
  • SupportIPVSProxyMode:启用使用 IPVS 提供内服务负载平衡。有关更多详细信息,请参见服务代理
  • SupportPodPidsLimit:启用支持限制 Pod 中的进程 PID。
  • Sysctls:启用对可以为每个 Pod 设置的命名空间内核参数(sysctls)的支持。有关更多详细信息,请参见 sysctls

  • TaintBasedEvictions:根据节点上的污点和 Pod 上的容忍度启用从节点驱逐 Pod 的特性。有关更多详细信息,请参见污点和容忍度

  • TaintNodesByCondition:根据节点条件启用自动在节点标记污点。
  • TokenRequest:在服务帐户资源上启用 TokenRequest 端点。
  • TokenRequestProjection:启用通过 projected 将服务帐户令牌注入到 Pod 中的特性。
  • TopologyManager:启用一种机制来协调 Kubernetes 不同组件的细粒度硬件资源分配。详见 控制节点上的拓扑管理策略
  • TTLAfterFinished:完成执行后,允许 TTL 控制器清理资源。

  • VolumePVCDataSource:启用对将现有 PVC 指定数据源的支持。

  • VolumeScheduling:启用卷拓扑感知调度,并使 PersistentVolumeClaim(PVC)绑定调度决策;当与 PersistentLocalVolumes 特性门控一起使用时,还可以使用 PersistentLocalVolumes 卷类型。
  • VolumeSnapshotDataSource:启用卷快照数据源支持。

  • VolumeSubpathEnvExpansion:启用 subPathExpr 字段用于将环境变量扩展为 subPath

  • WatchBookmark:启用对监测 bookmark 事件的支持。
  • WindowsGMSA:允许将 GMSA 凭据规范从 Pod 传递到容器运行时。
  • WinDSR:允许 kube-proxy 为 Windows 创建 DSR 负载均衡。
  • WinOverlay:允许 kube-proxy 在 Windows 的 overlay 模式下运行。

接下来

  • Kubernetes 的 弃用策略 介绍了项目已移除的特性部件和组件的方法。