特性门控(已移除)

    有关 Kubernetes 组件仍可识别的特性门控,请参阅 或 已毕业和已废弃的特性门控

    在下表中,

    • “开始(From)” 列包含了引入某个特性或其发布状态发生变更时的 Kubernetes 版本。
    • “结束(To)” 列(如果不为空)包含你仍然可以使用某个特性门控的最后一个 Kubernetes 版本。 如果对应特性处于 “废弃” 或 “GA” 状态,则 “结束(To)” 列是该特性被移除时的 Kubernetes 版本。
    • Accelerators:使用 Docker Engine 时启用 Nvidia GPU 支持。这一特性不再提供。 关于替代方案,请参阅。

    • AffinityInAnnotations:启用 Pod 亲和或反亲和

    • AllowExtTrafficLocalEndpoints:启用服务用于将外部请求路由到节点本地终端。

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

    • BalanceAttachedNodeVolumes:在进行平衡资源分配的调度时,考虑节点上的卷数。 调度器在决策时会优先考虑 CPU、内存利用率和卷数更近的节点。

    • BlockVolume:在 Pod 中启用原始块设备的定义和使用。有关更多详细信息, 请参见原始块卷支持

    • BoundServiceAccountTokenVolume:迁移 ServiceAccount 卷以使用由 ServiceAccountTokenVolumeProjection 组成的投射卷。集群管理员可以使用 serviceaccount_stale_tokens_total 度量值来监控依赖于扩展令牌的负载。 如果没有这种类型的负载,你可以在启动 kube-apiserver 时添加 --service-account-extend-token-expiration=false 参数关闭扩展令牌。 查看获取更多详细信息。

    • CRIContainerLogRotation:为 CRI 容器运行时启用容器日志轮换。日志文件的默认最大大小为 10MB,缺省情况下,一个容器允许的最大日志文件数为 5。这些值可以在 kubelet 配置中配置。 更多细节请参见日志架构

    • CSIBlockVolume:启用外部 CSI 卷驱动程序用于支持块存储。有关更多详细信息,请参见 。

    • CSIDriverRegistry:在 csi.storage.k8s.io 中启用与 CSIDriver API 对象有关的所有逻辑。

    • CSIMigrationAWSComplete:停止在 kubelet 和卷控制器中注册 EBS 内嵌插件, 并启用填充和转换逻辑将卷操作从 AWS-EBS 内嵌插件路由到 EBS CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationAWS 特性标志,并在集群中的所有节点上安装和配置 EBS CSI 插件。该特性标志已被废弃,取而代之的是 InTreePluginAWSUnregister, 后者会阻止注册 EBS 内嵌插件。

    • CSIMigrationAzureDiskComplete:停止在 kubelet 和卷控制器中注册 Azure 磁盘内嵌插件, 并启用 shims 和转换逻辑以将卷操作从 Azure 磁盘内嵌插件路由到 AzureDisk CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationAzureDisk 特性标志, 并在集群中的所有节点上安装和配置 AzureDisk CSI 插件。该特性标志已被废弃, 取而代之的是能防止注册内嵌 AzureDisk 插件的 InTreePluginAzureDiskUnregister 特性标志。

    • CSIMigrationAzureFileComplete:停止在 kubelet 和卷控制器中注册 Azure-File 内嵌插件, 并启用 shims 和转换逻辑以将卷操作从 Azure-File 内嵌插件路由到 AzureFile CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationAzureFile 特性标志, 并在集群中的所有节点上安装和配置 AzureFile CSI 插件。该特性标志已被废弃, 取而代之的是能防止注册内嵌 AzureDisk 插件的 InTreePluginAzureFileUnregister 特性标志。

    • CSIMigrationGCEComplete:停止在 kubelet 和卷控制器中注册 GCE-PD 内嵌插件, 并启用 shims 和转换逻辑以将卷操作从 GCE-PD 内嵌插件路由到 PD CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationGCE 特性标志,并在集群中的所有节点上安装和配置 PD CSI 插件。该特性标志已被废弃,取而代之的是能防止注册内嵌 GCE PD 插件的 InTreePluginGCEUnregister 特性标志。

    • CSIMigrationOpenStackComplete:停止在 kubelet 和卷控制器中注册 Cinder 内嵌插件, 并启用填充和转换逻辑将卷操作从 Cinder 内嵌插件路由到 Cinder CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationOpenStack 特性标志,并在集群中的所有节点上安装和配置 Cinder CSI 插件。该特性标志已被弃用,取而代之的是能防止注册内嵌 OpenStack Cinder 插件的 InTreePluginOpenStackUnregister 特性标志。

    • CSIMigrationvSphereComplete:停止在 kubelet 和卷控制器中注册 vSphere 内嵌插件, 并启用填充和转换逻辑以将卷操作从 vSphere 内嵌插件路由到 vSphere CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationvSphere 特性标志,并在集群中的所有节点上安装和配置 vSphere CSI 插件。该特性标志已被废弃,取而代之的是能防止注册内嵌 vSphere 插件的 InTreePluginvSphereUnregister 特性标志。

    • CSINodeInfo:在 csi.storage.k8s.io 中启用与 CSINodeInfo API 对象有关的所有逻辑。

    • CSIPersistentVolume:启用发现和挂载通过 CSI(容器存储接口) 兼容卷插件配置的卷。

    • CSIServiceAccountToken:允许 CSI 驱动接收挂载卷目标 Pods 的服务账户令牌。 参阅。

    • CSIVolumeFSGroupPolicy:允许 CSIDrivers 使用 fsGroupPolicy 字段。 该字段能控制由 CSIDriver 创建的卷在挂载这些卷时是否支持卷所有权和权限修改。

    • ConfigurableFSGroupPolicy:在 Pod 中挂载卷时,允许用户为 fsGroup 配置卷访问权限和属主变更策略。请参见 为 Pod 配置卷访问权限和属主变更策略

    • CronJobControllerV2:使用 控制器的一种替代实现。否则,系统会选择同一控制器的 v1 版本。

    • CustomPodDNS:允许使用 Pod 的 dnsConfig 属性自定义其 DNS 设置。 更多详细信息,请参见 Pod 的 DNS 配置

    • CustomResourceDefaulting:为 CRD 启用在其 OpenAPI v3 验证模式中提供默认值的支持。

    • CustomResourcePublishOpenAPI:启用 CRD OpenAPI 规范的发布。

    • CustomResourceSubresources:对于用 创建的资源启用其 /status/scale 子资源。

    • CustomResourceValidation:对于用 CustomResourceDefinition 创建的资源启用基于模式的验证。

    • CustomResourceWebhookConversion:对于用 创建的资源启用基于 Webhook 的转换。

    • DynamicAuditing:在 v1.19 版本前用于启用动态审计。

    • DynamicProvisioningScheduling:扩展默认调度器以了解卷拓扑并处理 PV 配置。 此特性已在 v1.12 中完全被 VolumeScheduling 特性取代。

    • EnableEquivalenceClassCache:调度 Pod 时,使 scheduler 缓存节点的等效项。

    • EndpointSlice:启用 EndpointSlice 以实现可扩缩性和可扩展性更好的网络端点。 参阅启用 EndpointSlice

    • EndpointSliceNodeName:允许使用 EndpointSlice 的 nodeName 字段。

    • EndpointSliceProxying:启用此特性门控时,Linux 上运行的 kube-proxy 会使用 EndpointSlices 而不是 Endpoints 作为其主要数据源,从而使得可扩缩性和性能提升成为可能。 参阅。

    • EvenPodsSpread:使 Pod 能够在拓扑域之间平衡调度。请参阅 Pod 拓扑扩展约束

    • ExperimentalCriticalPodAnnotation:启用将特定 Pod 注解为 critical 的方式, 用于。 从 v1.13 开始已弃用此特性,转而使用 Pod 优先级和抢占功能。

    • ExternalPolicyForExternalIP: 修复 ExternalPolicyForExternalIP 没有应用于 Service ExternalIPs 的缺陷。

    • GCERegionalPersistentDisk:在 GCE 上启用带地理区域信息的 PD 特性。

    • GenericEphemeralVolume:启用支持临时的内联卷,这些卷支持普通卷 (可以由第三方存储供应商提供、存储容量跟踪、从快照还原等等)的所有功能。 请参见临时卷

    • HugePageStorageMediumSize: 启用支持多种大小的预分配。

    • HugePages: 启用分配和使用预分配的巨页资源

    • HyperVContainer:为 Windows 容器启用 。

    • IPv6DualStack:启用双协议栈以支持 IPv6。

    • ImmutableEphemeralVolumes:允许将各个 Secret 和 ConfigMap 标记为不可变更的, 以提高安全性和性能。

    • IngressClassNamespacedParams:允许在 IngressClass 资源中使用命名空间范围的参数引用。 此功能为 IngressClass.spec.parameters 添加了两个字段 - scopenamespace

    • Initializers:允许使用 Intializers 准入插件来异步协调对象创建操作。

    • KubeletConfigFile:启用从使用配置文件指定的文件中加载 kubelet 配置。 有关更多详细信息, 请参见。

    • KubeletPluginsWatcher:启用基于探针的插件监视应用程序,使 kubelet 能够发现类似 CSI 卷驱动程序这类插件。

    • LegacyNodeRoleBehavior:禁用此门控时,服务负载均衡器中和节点干扰中的原先行为会忽略 node-role.kubernetes.io/master 标签,使用 NodeDisruptionExclusionServiceNodeExclusion 对应特性所提供的标签。

    • MountContainers:允许使用主机上的工具容器作为卷挂载程序。

    • MountPropagation:启用将一个容器安装的共享卷共享到其他容器或 Pod。 更多详细信息,请参见。

    • NamespaceDefaultLabelName:配置 API 服务器以在所有名字空间上设置一个不可变的 标签 kubernetes.io/metadata.name, 也包括名字空间。

    • NodeDisruptionExclusion:启用节点标签 node.kubernetes.io/exclude-disruption, 以防止在可用区发生故障期间驱逐节点。

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

    • PVCProtection:当 PersistentVolumeClaim (PVC) 仍然在 Pod 使用时被删除,启用保护。

    • PersistentLocalVolumes:允许在 Pod 中使用 local(本地) 卷类型。 如果请求 local 卷,则必须指定 Pod 亲和性属性。

    • PodDisruptionBudget:启用 功能特性。

    • PodPriority:启用根据优先级 的 Pod 调度和抢占。

    • PodReadinessGates:启用 podReadinessGate 字段的设置以扩展 Pod 准备状态评估。 有关更多详细信息,请参见 。

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

    • RequestManagement:允许在每个 API 服务器上通过优先级和公平性管理请求并发性。 自 1.17 以来已被 APIPriorityAndFairness 替代。

    • ResourceLimitsPriorityFunction:启用某调度器优先级函数, 该函数将最低得分 1 指派给至少满足输入 Pod 的 CPU 和内存限制之一的节点, 目的是打破得分相同的节点之间的关联。

    • ResourceQuotaScopeSelectors:启用资源配额范围选择算符。

    • RotateKubeletClientCertificate:在 kubelet 上启用客户端 TLS 证书的轮换。 更多详细信息,请参见 。

    • RunAsGroup:启用对容器初始化过程中设置的主要组 ID 的控制。

    • RuntimeClass:启用 RuntimeClass 特性用于选择容器运行时配置。

    • SCTPSupport:在 Pod、Service、Endpoints、NetworkPolicy 定义中允许将 ‘SCTP’ 用作 protocol 值。

    • ScheduleDaemonSetPods:启用 DaemonSet Pod 由默认调度程序而不是 DaemonSet 控制器进行调度。

    • SelectorIndex: 允许使用 API 服务器的 watch 缓存中基于标签和字段的索引来加速 list 操作。

    • ServiceAccountIssuerDiscovery:在 API 服务器中为服务帐户颁发者启用 OIDC 发现端点 (颁发者和 JWKS URL)。详情参见 。

    • ServiceAppProtocol:为 Service 和 Endpoints 启用 appProtocol 字段。

    • ServiceLoadBalancerFinalizer:为服务负载均衡启用终结器(finalizers)保护。

    • ServiceNodeExclusion:启用从云提供商创建的负载均衡中排除节点。 如果节点标记有 node.kubernetes.io/exclude-from-external-load-balancers 标签,则可以排除该节点。

    • ServiceTopology:启用服务拓扑可以让一个服务基于集群的节点拓扑进行流量路由。 有关更多详细信息,请参见服务拓扑

    • SetHostnameAsFQDN:启用将全限定域名(FQDN)设置为 Pod 主机名的功能。 请参见。

    • StartupProbe:在 kubelet 中启用启动探针

    • StorageObjectInUseProtection:如果仍在使用 PersistentVolume 或 PersistentVolumeClaim 对象,则将其删除操作推迟。

    • StreamingProxyRedirects:指示 API 服务器拦截(并跟踪)后端(kubelet)的重定向以处理流请求。 流请求的例子包括 execattachport-forward 请求。

    • SupportIPVSProxyMode:启用使用 IPVS 提供集群内服务负载平衡。更多详细信息, 请参见。

    • SupportNodePidsLimit:启用支持,限制节点上的 PID 用量。 --system-reserved--kube-reserved 中的参数 pid=<数值> 可以分别用来设定为整个系统所预留的进程 ID 个数和为 Kubernetes 系统守护进程预留的进程 ID 个数。

    • SupportPodPidsLimit:启用支持限制 Pod 中的进程 PID。

    • Sysctls:允许为每个 Pod 设置的名字空间内核参数(sysctls)。 更多详细信息,请参见 sysctls

    • TTLAfterFinished:资源完成执行后,允许 清理资源。

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

    • TaintNodesByCondition: 根据启用自动为节点标记污点。

    • TokenRequest:在服务帐户资源上启用 TokenRequest 端点。

    • TokenRequestProjection:启用通过 projected 卷将服务帐户令牌注入到 Pod 中的特性。

    • ValidateProxyRedirects: 这个标志控制 API 服务器是否应该验证只跟随到相同的主机的重定向。 仅在启用 StreamingProxyRedirects 标志时被使用。

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

    • VolumeScheduling:启用卷拓扑感知调度,并使 PersistentVolumeClaim(PVC) 绑定能够了解调度决策;当与 PersistentLocalVolumes 特性门控一起使用时, 还允许使用 卷类型。

    • VolumeSnapshotDataSource:启用卷快照数据源支持。

    • VolumeSubpath: 允许在容器中挂载卷的子路径。

    • VolumeSubpathEnvExpansion:启用 subPathExpr 字段用于在 subPath 中展开环境变量。

    • WarningHeaders:允许在 API 响应中发送警告头部。

    • WindowsEndpointSliceProxying:当启用时,运行在 Windows 上的 kube-proxy 将使用 EndpointSlices 而不是 Endpoints 作为主要数据源,从而实现可伸缩性和并改进性能。 详情请参见启用端点切片

    • WindowsGMSA:允许将 GMSA 凭据规范从 Pod 传递到容器运行时。