diff --git a/content/zh/docs/reference/command-line-tools-reference/feature-gates.md b/content/zh/docs/reference/command-line-tools-reference/feature-gates.md index 57e2a4d8e8..dd038fccaf 100644 --- a/content/zh/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/zh/docs/reference/command-line-tools-reference/feature-gates.md @@ -2,12 +2,18 @@ title: 特性门控 weight: 10 content_type: concept +card: + name: reference + weight: 60 --- @@ -47,7 +53,7 @@ To set feature gates for a component, such as kubelet, use the `--feature-gates` 传递一个特性设置键值对列表: ```shell ---feature-gates="...,DynamicKubeletConfig=true" +--feature-gates="...,GracefulNodeShutdown=true" ``` - `APIListChunking`:启用 API 客户端以块的形式从 API 服务器检索(“LIST” 或 “GET”)资源。 - `APIPriorityAndFairness`: 在每个服务器上启用优先级和公平性来管理请求并发。(由 `RequestManagement` 重命名而来) - `APIResponseCompression`:压缩 “LIST” 或 “GET” 请求的 API 响应。 - `APIServerIdentity`:为集群中的每个 API 服务器赋予一个 ID。 +- `APIServerTracing`: 为集群中的每个 API 服务器添加对分布式跟踪的支持。 - `AttachVolumeLimit`:启用卷插件用于报告可连接到节点的卷数限制。有关更多详细信息,请参阅 [动态卷限制](/zh/docs/concepts/storage/storage-limits/#dynamic-volume-limits)。 @@ -609,9 +701,15 @@ Each feature gate is designed for enabling/disabling a specific feature: `--service-account-extend-token-expiration=false` 参数关闭扩展令牌。查看 [绑定服务账号令牌](https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/1205-bound-service-account-tokens/README.md) 获取更多详细信息。 +- `ControllerManagerLeaderMigration`: 为 + [kube-controller-manager](/zh/docs/tasks/administer-cluster/controller-manager-leader-migration/#initial-leader-migration-configuration) 和 + [cloud-controller-manager](/zh/docs/tasks/administer-cluster/controller-manager-leader-migration/#deploy-cloud-controller-manager) + 启用 Leader 迁移,它允许集群管理者在没有停机的高可用集群环境下,实时 + 把 kube-controller-manager 迁移迁移到外部的 controller-manager (例如 cloud-controller-manager) 中。 - `CPUManager`:启用容器级别的 CPU 亲和性支持,有关更多详细信息,请参见 [CPU 管理策略](/zh/docs/tasks/administer-cluster/cpu-management-policies/)。 -- `CRIContainerLogRotation`:为 CRI 容器运行时启用容器日志轮换。日志文件的默认最大大小为10MB,缺省情况下,一个容器允许的最大日志文件数为5。这些值可以在kubelet配置中配置。 - 更多细节请参见[日志架构]( /zh/docs/concepts/cluster-administration/logging/#logging-at-the-node-level)。 +- `CRIContainerLogRotation`:为 CRI 容器运行时启用容器日志轮换。日志文件的默认最大大小为 + 10MB,缺省情况下,一个容器允许的最大日志文件数为5。这些值可以在kubelet配置中配置。 + 更多细节请参见 [日志架构](/zh/docs/concepts/cluster-administration/logging/#logging-at-the-node-level)。 +- `CPUManagerPolicyOptions`: 允许微调 CPU 管理策略。 - `CSIBlockVolume`:启用外部 CSI 卷驱动程序用于支持块存储。有关更多详细信息,请参见 [`csi` 原始块卷支持](/zh/docs/concepts/storage/volumes/#csi-raw-block-volume-support)。 - `CSIDriverRegistry`:在 csi.storage.k8s.io 中启用与 CSIDriver API 对象有关的所有逻辑。 @@ -642,7 +742,9 @@ Each feature gate is designed for enabling/disabling a specific feature: kubelet and volume controllers and enables shims and translation logic to route volume operations from the AWS-EBS in-tree plugin to EBS CSI plugin. Requires CSIMigration and CSIMigrationAWS feature flags enabled and EBS CSI - plugin installed and configured on all nodes in the cluster. + plugin installed and configured on all nodes in the cluster. This flag has + been deprecated in favor of the `InTreePluginAWSUnregister` feature flag + which prevents the registration of in-tree EBS plugin. - `CSIMigrationAzureDisk`: Enables shims and translation logic to route volume operations from the Azure-Disk in-tree plugin to AzureDisk CSI plugin. Supports falling back to in-tree AzureDisk plugin if a node does not have @@ -653,7 +755,9 @@ Each feature gate is designed for enabling/disabling a specific feature: logic to route volume operations from the Azure-Disk in-tree plugin to AzureDisk CSI plugin. Requires CSIMigration and CSIMigrationAzureDisk feature flags enabled and AzureDisk CSI plugin installed and configured on all nodes - in the cluster. + in the cluster. This flag has been deprecated in favor of the + `InTreePluginAzureFileUnregister` feature flag which prevents the registration + of in-tree AzureFile plugin. --> - `CSIMigrationAWS`:确保填充和转换逻辑能够将卷操作从 AWS-EBS 内嵌插件路由到 EBS CSI 插件。 如果节点未安装和配置 EBS CSI 插件,则支持回退到内嵌 EBS 插件。 @@ -661,14 +765,15 @@ Each feature gate is designed for enabling/disabling a specific feature: - `CSIMigrationAWSComplete`:停止在 kubelet 和卷控制器中注册 EBS 内嵌插件, 并启用 shims 和转换逻辑将卷操作从AWS-EBS 内嵌插件路由到 EBS CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationAWS 特性标志,并在集群中的所有节点上安装和配置 - EBS CSI 插件。 + EBS CSI 插件。该特性标志已被废弃,取而代之的是 `InTreePluginAWSUnregister` ,这会阻止注册 EBS 内嵌插件。 - `CSIMigrationAzureDisk`:确保填充和转换逻辑能够将卷操作从 Azure 磁盘内嵌插件路由到 Azure 磁盘 CSI 插件。如果节点未安装和配置 AzureDisk CSI 插件, 支持回退到内建 AzureDisk 插件。这需要启用 CSIMigration 特性标志。 - `CSIMigrationAzureDiskComplete`:停止在 kubelet 和卷控制器中注册 Azure 磁盘内嵌插件, 并启用 shims 和转换逻辑以将卷操作从 Azure 磁盘内嵌插件路由到 AzureDisk CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationAzureDisk 特性标志, - 并在集群中的所有节点上安装和配置 AzureDisk CSI 插件。 + 并在集群中的所有节点上安装和配置 AzureDisk CSI 插件。该特性标志已被废弃,取而代之的是 + 能防止注册内嵌 AzureDisk 插件的 `InTreePluginAzureDiskUnregister` 特性标志。 - `CSIMigrationAzureFile`:确保封装和转换逻辑能够将卷操作从 Azure 文件内嵌插件路由到 Azure 文件 CSI 插件。如果节点未安装和配置 AzureFile CSI 插件, @@ -688,7 +794,8 @@ Each feature gate is designed for enabling/disabling a specific feature: - `CSIMigrationAzureFileComplete`:停止在 kubelet 和卷控制器中注册 Azure-File 内嵌插件, 并启用 shims 和转换逻辑以将卷操作从 Azure-File 内嵌插件路由到 AzureFile CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationAzureFile 特性标志, - 并在集群中的所有节点上安装和配置 AzureFile CSI 插件。 + 并在集群中的所有节点上安装和配置 AzureFile CSI 插件。该特性标志已被废弃,取而代之的是 + 能防止注册内嵌 AzureDisk 插件的 `InTreePluginAzureFileUnregister` 特性标志。 - `CSIMigrationGCE`:启用 shims 和转换逻辑,将卷操作从 GCE-PD 内嵌插件路由到 PD CSI 插件。如果节点未安装和配置 PD CSI 插件,支持回退到内嵌 GCE 插件。 @@ -706,7 +814,8 @@ Each feature gate is designed for enabling/disabling a specific feature: - `CSIMigrationGCEComplete`:停止在 kubelet 和卷控制器中注册 GCE-PD 内嵌插件, 并启用 shims 和转换逻辑以将卷操作从 GCE-PD 内嵌插件路由到 PD CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationGCE 特性标志,并在集群中的所有节点上 - 安装和配置 PD CSI 插件。 + 安装和配置 PD CSI 插件。该特性标志已被废弃,取而代之的是 + 能防止注册内嵌 GCE PD 插件的 `InTreePluginGCEUnregister` 特性标志。 - `CSIMigrationOpenStack`:确保填充和转换逻辑能够将卷操作从 Cinder 内嵌插件路由到 Cinder CSI 插件。如果节点未安装和配置 Cinder CSI 插件,支持回退到内嵌 Cinder 插件。 @@ -724,7 +834,8 @@ Each feature gate is designed for enabling/disabling a specific feature: - `CSIMigrationOpenStackComplete`:停止在 kubelet 和卷控制器中注册 Cinder 内嵌插件, 并启用 shims 和转换逻辑将卷操作从 Cinder 内嵌插件路由到 Cinder CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationOpenStack 特性标志,并在集群中的所有节点上 - 安装和配置 Cinder CSI 插件。 + 安装和配置 Cinder CSI 插件。该特性标志已被废弃,取而代之的是 + 能防止注册内嵌 openstack cinder 插件的 `InTreePluginOpenStackUnregister` 特性标志。 - `CSIMigrationvSphere`: 允许封装和转换逻辑将卷操作从 vSphere 内嵌插件路由到 vSphere CSI 插件。如果节点未安装和配置 vSphere CSI 插件,则支持回退到 @@ -742,7 +854,8 @@ Each feature gate is designed for enabling/disabling a specific feature: - `CSIMigrationvSphereComplete`: 停止在 kubelet 和卷控制器中注册 vSphere 内嵌插件, 并启用 shims 和转换逻辑以将卷操作从 vSphere 内嵌插件路由到 vSphere CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationvSphere 特性标志,并在集群中的所有节点上 - 安装和配置 vSphere CSI 插件。 + 安装和配置 vSphere CSI 插件。该特性标志已被废弃,取而代之的是 + 能防止注册内嵌 vsphere 插件的 `InTreePluginvSphereUnregister` 特性标志。 - `CSIVolumeFSGroupPolicy`: 允许 CSIDrivers 使用 `fsGroupPolicy` 字段. 该字段能控制由 CSIDriver 创建的卷在挂载这些卷时是否支持卷所有权和权限修改。 - `CSIVolumeHealth`: 启用对节点上的 CSI volume 运行状况监控的支持 +- `CSRDuration`: 允许客户端来通过请求 Kubernetes CSR API 签署的证书的持续时间。 - `ConfigurableFSGroupPolicy`:在 Pod 中挂载卷时,允许用户为 fsGroup 配置卷访问权限和属主变更策略。请参见 [为 Pod 配置卷访问权限和属主变更策略](/zh/docs/tasks/configure-pod-container/security-context/#configure-volume-permission-and-ownership-change-policy-for-pods)。 +- `ControllerManagerLeaderMigration`: 为 `kube-controller-manager` 和 `cloud-controller-manager` + 开启 leader 迁移功能。 - `CronJobControllerV2`:使用 {{< glossary_tooltip text="CronJob" term_id="cronjob" >}} 控制器的一种替代实现。否则,系统会选择同一控制器的 v1 版本。 - 控制器的 v2 版本提供试验性的性能改进。 - `CustomCPUCFSQuotaPeriod`:使节点能够更改 [kubelet 配置](/zh/docs/tasks/administer-cluster/kubelet-config-file/). @@ -821,13 +941,20 @@ Each feature gate is designed for enabling/disabling a specific feature: - `CustomResourceWebhookConversion`:对于用 [CustomResourceDefinition](/zh/docs/concepts/extend-kubernetes/api-extension/custom-resources/) 创建的资源启用基于 Webhook 的转换。 +- `DaemonSetUpdateSurge`: 使 DaemonSet 工作负载在每个节点的更新期间保持可用性。 - `DefaultPodTopologySpread`: 启用 `PodTopologySpread` 调度插件来完成 [默认的调度传播](/zh/docs/concepts/workloads/pods/pod-topology-spread-constraints/#internal-default-constraints). +- `DelegateFSGroupToCSIDriver`: 如果 CSI 驱动程序支持,则通过 NodeStageVolume 和 + NodePublishVolume CSI 调用传递 `fsGroup` ,将应用 `fsGroup` 从 Pod 的 + `securityContext` 的角色委托给驱动。 - `DevicePlugins`:在节点上启用基于 [设备插件](/zh/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/)的 资源制备。 - `DisableAcceleratorUsageMetrics`: [禁用 kubelet 收集加速器指标](/zh/docs/concepts/cluster-administration/system-metrics/#disable-accelerator-metrics). +- `DisableCloudProviders`: 禁用 `kube-apiserver`, + `kube-controller-manager` 和 `kubelet` 组件的 `--cloud-provider` 标志相关 + 的所有功能。 - `DownwardAPIHugePages`:允许在 [下行(Downward)API](/zh/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information) 中使用巨页信息。 @@ -916,6 +1049,9 @@ Each feature gate is designed for enabling/disabling a specific feature: 参阅[就绪态探针](/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). - `ExpandCSIVolumes`: 启用扩展 CSI 卷。 +- `ExpandedDNSConfig`: 在 kubelet 和 kube-apiserver 上启用后, + 允许更多的 DNS 搜索域和搜索域列表。 参阅 + [扩展 DNS 配置](/zh/docs/concepts/services-networking/dns-pod-service/#expanded-dns-configuration). - `ExpandInUsePersistentVolumes`:启用扩充使用中的 PVC 的尺寸。请查阅 [调整使用中的 PersistentVolumeClaim 的大小](/zh/docs/concepts/storage/persistent-volumes/#resizing-an-in-use-persistentvolumeclaim)。 - `ExpandPersistentVolumes`:允许扩充持久卷。请查阅 @@ -988,8 +1127,18 @@ Each feature gate is designed for enabling/disabling a specific feature: for Windows containers. - `ImmutableEphemeralVolumes`: Allows for marking individual Secrets and ConfigMaps as immutable for better safety and performance. -- `IPv6DualStack`: Enable [dual stack](/docs/concepts/services-networking/dual-stack/) - support for IPv6. +- `InTreePluginAWSUnregister`: Stops registering the aws-ebs in-tree plugin in kubelet + and volume controllers. +- `InTreePluginAzureDiskUnregister`: Stops registering the azuredisk in-tree plugin in kubelet + and volume controllers. +- `InTreePluginAzureFileUnregister`: Stops registering the azurefile in-tree plugin in kubelet + and volume controllers. +- `InTreePluginGCEUnregister`: Stops registering the gce-pd in-tree plugin in kubelet + and volume controllers. +- `InTreePluginOpenStackUnregister`: Stops registering the OpenStack cinder in-tree plugin in kubelet + and volume controllers. +- `InTreePluginvSphereUnregister`: Stops registering the vSphere in-tree plugin in kubelet + and volume controllers. - `IndexedJob`: Allows the [Job](/docs/concepts/workloads/controllers/job/) controller to manage Pod completions per completion index. - `IngressClassNamespacedParams`: Allow namespace-scoped parameters reference in @@ -997,11 +1146,19 @@ Each feature gate is designed for enabling/disabling a specific feature: to `IngressClass.spec.parameters`. - `Initializers`: Allow asynchronous coordination of object creation using the Initializers admission plugin. +- `IPv6DualStack`: Enable [dual stack](/docs/concepts/services-networking/dual-stack/) + support for IPv6. +- `JobTrackingWithFinalizers`: Enables tracking [Job](/docs/concepts/workloads/controllers/job) + completions without relying on Pods remaining in the cluster indefinitely. + The Job controller uses Pod finalizers and a field in the Job status to keep + track of the finished Pods to count towards completion. - `KubeletConfigFile`: Enable loading kubelet configuration from a file specified using a config file. See [setting kubelet parameters via a config file](/docs/tasks/administer-cluster/kubelet-config-file/) for more details. - `KubeletCredentialProviders`: Enable kubelet exec credential providers for image pull credentials. +- `KubeletInUserNamespace`: Enables support for running kubelet in a {{}}. + See [Running Kubernetes Node Components as a Non-root User](/docs/tasks/administer-cluster/kubelet-in-userns/). - `KubeletPluginsWatcher`: Enable probe-based plugin watcher utility to enable kubelet to discover plugins such as [CSI volume drivers](/docs/concepts/storage/volumes/#csi). --> @@ -1009,16 +1166,27 @@ Each feature gate is designed for enabling/disabling a specific feature: [Hyper-V 隔离](https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container)。 - `ImmutableEphemeralVolumes`:允许将各个 Secret 和 ConfigMap 标记为不可变更的, 以提高安全性和性能。 -- `IPv6DualStack`:启用[双协议栈](/zh/docs/concepts/services-networking/dual-stack/) - 以支持 IPv6。 +- `InTreePluginAWSUnregister`: 在 kubelet 和 卷控制器上关闭注册 aws-ebs 内嵌插件。 +- `InTreePluginAzureDiskUnregister`: 在 kubelet 和 卷控制器上关闭注册 azuredisk 内嵌插件。 +- `InTreePluginAzureFileUnregister`: 在 kubelet 和 卷控制器上关闭注册 azurefile 内嵌插件。 +- `InTreePluginGCEUnregister`: 在 kubelet 和 卷控制器上关闭注册 gce-pd 内嵌插件。 +- `InTreePluginOpenStackUnregister`: 在 kubelet 和 卷控制器上关闭注册 OpenStack cinder 内嵌插件。 +- `InTreePluginvSphereUnregister`: 在 kubelet 和 卷控制器上关闭注册 vSphere 内嵌插件。 - `IndexedJob`:允许 [Job](/zh/docs/concepts/workloads/controllers/job/) 控制器按每个完成的索引去管理 Pod 完成。 - `IngressClassNamespacedParams`:允许引用命名空间范围的参数引用 `IngressClass`资源。该特性增加了两个字段 —— `Scope` 和 `Namespace` 到 `IngressClass.spec.parameters`。 - `Initializers`: 使用 Initializers 准入插件允许异步协调对象创建。 +- `IPv6DualStack`:启用 [双协议栈](/zh/docs/concepts/services-networking/dual-stack/) + 以支持 IPv6。 +- `JobTrackingWithFinalizers`: 启用跟踪 [Job](/zh/docs/concepts/workloads/controllers/job) + 完成情况,而不是永远从集群剩余 pod 来获取信息判断完成情况。Job 控制器使 + 用 Pod finalizers 和 Job 状态中的一个字段来跟踪已完成的 Pod 以计算完成。 - `KubeletConfigFile`:启用从使用配置文件指定的文件中加载 kubelet 配置。 有关更多详细信息,请参见 [通过配置文件设置 kubelet 参数](/zh/docs/tasks/administer-cluster/kubelet-config-file/)。 - `KubeletCredentialProviders`:允许使用 kubelet exec 凭据提供程序来设置 镜像拉取凭据。 +- `KubeletInUserNamespace`: 支持在 {{}} 里运行 kubelet 。 + 请参见 [使用非 Root 用户来运行 Kubernetes 节点组件](/zh/docs/tasks/administer-cluster/kubelet-in-userns/). - `KubeletPluginsWatcher`:启用基于探针的插件监视应用程序,使 kubelet 能够发现 类似 [CSI 卷驱动程序](/zh/docs/concepts/storage/volumes/#csi)这类插件。 -- `KubeletPodResources`:启用 kubelet 的 Pod 资源 GRPC 端点。更多详细信息,请参见 +- `KubeletPodResources`:启用 kubelet 上 Pod 资源 GRPC 端点。更多详细信息,请参见 [支持设备监控](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/compute-device-assignment.md)。 -- `KubeletPodResourcesGetAllocatable`:启用 kubelet 的 pod 资源 `GetAllocatableResources` 功能。 +- `KubeletPodResourcesGetAllocatable`:启用 kubelet 的 pod 资源 + 的 `GetAllocatableResources` 功能。 该 API 增强了[资源分配报告](/zh/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#monitoring-device-plugin-resources) 包含有关可分配资源的信息,使客户端能够正确跟踪节点上的可用计算资源。 - `LegacyNodeRoleBehavior`:禁用此门控时,服务负载均衡器中和节点干扰中的原先行为 @@ -1054,6 +1223,9 @@ Each feature gate is designed for enabling/disabling a specific feature: filesystem walk for better performance and accuracy. - `LogarithmicScaleDown`: Enable semi-random selection of pods to evict on controller scaledown based on logarithmic bucketing of pod timestamps. +- `MemoryManager`: Allows setting memory affinity for a container based on + NUMA topology. +- `MemoryQoS`: Enable memory protection and usage throttle on pod / container using cgroup v2 memory controller. - `MixedProtocolLBService`: Enable using different protocols in the same `LoadBalancer` type Service instance. - `MountContainers`: Enable using utility containers on host as @@ -1069,7 +1241,9 @@ Each feature gate is designed for enabling/disabling a specific feature: 的后备文件系统支持项目配额,并且启用了这些配额,将使用项目配额来监视 [emptyDir 卷](/zh/docs/concepts/storage/volumes/#emptydir)的存储消耗 而不是遍历文件系统,以此获得更好的性能和准确性。 -- `LogarithmicScaleDown`:启用Pod的半随机(semi-random)选择,控制器将根据 Pod 时间戳的对数桶按比例缩小去驱逐 Pod。 +- `LogarithmicScaleDown`:启用 Pod 的半随机(semi-random)选择,控制器将根据 Pod 时间戳的对数桶按比例缩小去驱逐 Pod。 +- `MemoryManager`: 允许基于 NUMA 拓扑为容器设置内存亲和性。 +- `MemoryQoS`: 使用 cgroup v2 内存控制器在 pod / 容器上启用内存保护和使用限制。 - `MixedProtocolLBService`:允许在同一 `LoadBalancer` 类型的 Service 实例中使用不同 的协议。 - `MountContainers`:允许使用主机上的工具容器作为卷挂载程序。 @@ -1082,6 +1256,9 @@ Each feature gate is designed for enabling/disabling a specific feature: - `NodeDisruptionExclusion`: Enable use of the node label `node.kubernetes.io/exclude-disruption` which prevents nodes from being evacuated during zone failures. - `NodeLease`: Enable the new Lease API to report node heartbeats, which could be used as a node health signal. +- `NodeSwap`: Enable the kubelet to allocate swap memory for Kubernetes workloads on a node. + Must be used with `KubeletConfiguration.failSwapOn` set to false. + For more details, please see [swap memory](/docs/concepts/architecture/nodes/#swap-memory) - `NonPreemptingPriority`: Enable `preemptionPolicy` field for PriorityClass and Pod. - `PVCProtection`: Enable the prevention of a PersistentVolumeClaim (PVC) from being deleted when it is still used by any Pod. @@ -1102,53 +1279,70 @@ Each feature gate is designed for enabling/disabling a specific feature: - `NodeDisruptionExclusion`:启用节点标签 `node.kubernetes.io/exclude-disruption`, 以防止在可用区发生故障期间驱逐节点。 - `NodeLease`:启用新的 Lease(租期)API 以报告节点心跳,可用作节点运行状况信号。 +- `NodeSwap`: 启用 kubelet 为节点上的 Kubernetes 工作负载分配交换内存的能力。 + 必须将 `KubeletConfiguration.failSwapOn` 设置为 false 的情况下才能使用。 + 更多详细信息,请参见 [交换内存](/zh/docs/concepts/architecture/nodes/#swap-memory)。 - `NonPreemptingPriority`:为 PriorityClass 和 Pod 启用 `preemptionPolicy` 选项。 - `PVCProtection`:启用防止仍被某 Pod 使用的 PVC 被删除的特性。 -- `PodDeletionCost`:启用[Pod 删除成本](/zh/docs/concepts/workloads/controllers/replicaset/#pod-deletion-cost)功能。 +- `PodDeletionCost`:启用 [Pod 删除成本](/zh/docs/concepts/workloads/controllers/replicaset/#pod-deletion-cost) 功能。 该功能使用户可以影响 ReplicaSet 的降序顺序。 -- `PersistentLocalVolumes`:允许在 Pod 中使用 `local(本地)`卷类型。 +- `PersistentLocalVolumes`:允许在 Pod 中使用 `local(本地)` 卷类型。 如果请求 `local` 卷,则必须指定 Pod 亲和性属性。 - `PodDisruptionBudget`:启用 [PodDisruptionBudget](/zh/docs/tasks/run-application/configure-pdb/) 特性。 -- `PodAffinityNamespaceSelector`:启用[Pod 亲和性名称空间选择器](/zh/docs/concepts/scheduling-eviction/assign-pod-node/#namespace-selector) - 和[CrossNamespacePodAffinity](/zh/docs/concepts/policy/resource-quotas/#cross-namespace-pod-affinity-quota)资源配额功能。 +- `PodAffinityNamespaceSelector`:启用 [Pod 亲和性名称空间选择器](/zh/docs/concepts/scheduling-eviction/assign-pod-node/#namespace-selector) + 和 [CrossNamespacePodAffinity](/zh/docs/concepts/policy/resource-quotas/#cross-namespace-pod-affinity-quota) 资源配额功能。 - `PodOverhead`:启用 [PodOverhead](/zh/docs/concepts/scheduling-eviction/pod-overhead/) 特性以考虑 Pod 开销。 -- `PodPriority`:根据[优先级](/zh/docs/concepts/configuration/pod-priority-preemption/) +- `PodPriority`:根据 [优先级](/zh/docs/concepts/scheduling-eviction/pod-priority-preemption/) 启用 Pod 的调度和抢占。 - `PodReadinessGates`:启用 `podReadinessGate` 字段的设置以扩展 Pod 准备状态评估。 有关更多详细信息,请参见 [Pod 就绪状态判别](/zh/docs/concepts/workloads/pods/pod-lifecycle/#pod-readiness-gate)。 +- `PodSecurity`: 开启 `PodSecurity` 准入控制插件。 - `PodShareProcessNamespace`:在 Pod 中启用 `shareProcessNamespace` 的设置, 以便在 Pod 中运行的容器之间共享同一进程名字空间。更多详细信息,请参见 [在 Pod 中的容器间共享同一进程名字空间](/zh/docs/tasks/configure-pod-container/share-process-namespace/)。 +- `PreferNominatedNode`: 这个标志告诉调度器在循环遍历集群中的所有其他节点 + 之前,是否首先检查指定的节点。 - `ProbeTerminationGracePeriod`:在 Pod 上 启用 [设置探测器级别 `terminationGracePeriodSeconds`](/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#probe-level-terminationgraceperiodseconds)。 有关更多信息,请参见 [enhancement proposal](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2238-liveness-probe-grace-period)。 - `ProcMountType`:允许容器通过设置 SecurityContext 的 `procMount` 字段来控制 对 proc 文件系统的挂载方式。 +- `ProxyTerminatingEndpoints`: 当 `ExternalTrafficPolicy=Local` 时, + 允许 kube-proxy 来处理终止过程中的端点。 - `QOSReserved`:允许在 QoS 级别进行资源预留,以防止处于较低 QoS 级别的 Pod 突发进入处于较高 QoS 级别的请求资源(目前仅适用于内存)。 +- `ReadWriteOncePod`: 允许使用 `ReadWriteOncePod` 访问模式的 PersistentVolume。 - `RemainingItemCount`:允许 API 服务器在 [分块列表请求](/zh/docs/reference/using-api/api-concepts/#retrieving-large-results-sets-in-chunks) 的响应中显示剩余条目的个数。 @@ -1209,6 +1403,10 @@ Each feature gate is designed for enabling/disabling a specific feature: - `SCTPSupport`:在 Pod、Service、Endpoints、NetworkPolicy 定义中 允许将 _SCTP_ 用作 `protocol` 值。 +- `SeccompDefault`: 允许将所有工作负载的默认 seccomp 配置文件为 `RuntimeDefault`。 + seccomp 配置在 Pod 或者容器的 `securityContext` 字段中指定。 +- `SelectorIndex`: 允许在 API 服务器 watch 的缓存中基于标签和字段的索引来加速 list 的操作。 - `ServerSideApply`:在 API 服务器上启用 [服务器端应用(SSA)](/zh/docs/reference/using-api/server-side-apply/) 。 - `ServiceAccountIssuerDiscovery`:在 API 服务器中为服务帐户颁发者启用 OIDC 发现端点 @@ -1263,6 +1464,8 @@ Each feature gate is designed for enabling/disabling a specific feature: - `StartupProbe`: Enable the [startup](/docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe) probe in the kubelet. +- `StatefulSetMinReadySeconds`: Allows `minReadySeconds` to be respected by + the StatefulSet controller. - `StorageObjectInUseProtection`: Postpone the deletion of PersistentVolume or PersistentVolumeClaim objects if they are still being used. - `StorageVersionAPI`: Enable the @@ -1275,6 +1478,7 @@ Each feature gate is designed for enabling/disabling a specific feature: --> - `StartupProbe`:在 kubelet 中启用 [启动探针](/zh/docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe)。 +- `StatefulSetMinReadySeconds`: 允许 StatefulSet 控制器采纳 `minReadySeconds` 设置。 - `StorageObjectInUseProtection`:如果仍在使用 PersistentVolume 或 PersistentVolumeClaim 对象,则将其删除操作推迟。 - `StorageVersionAPI`: 启用 @@ -1342,7 +1546,7 @@ Each feature gate is designed for enabling/disabling a specific feature: [`projected` 卷](/zh/docs/concepts/storage/volumes/#projected) 将服务帐户令牌注入到 Pod 中的特性。 - `TopologyAwareHints`: 在 EndpointSlices 中启用基于拓扑提示的拓扑感知路由。 - 更多详细信息可参见[Topology Aware Hints](/docs/concepts/services-networking/topology-aware-hints/) + 更多详细信息可参见[Topology Aware Hints](/zh/docs/concepts/services-networking/topology-aware-hints/) - `TopologyManager`:启用一种机制来协调 Kubernetes 不同组件的细粒度硬件资源分配。 详见[控制节点上的拓扑管理策略](/zh/docs/tasks/administer-cluster/topology-manager/)。 - `VolumeSubpathEnvExpansion`:启用 `subPathExpr` 字段用于将环境变量在 `subPath` 中展开。 @@ -1391,13 +1596,14 @@ Each feature gate is designed for enabling/disabling a specific feature: - `WatchBookmark`:启用对 watch 操作中 bookmark 事件的支持。 - `WinDSR`:允许 kube-proxy 为 Windows 创建 DSR 负载均衡。 - `WinOverlay`:允许 kube-proxy 在 Windows 的覆盖网络模式下运行。 +- `WindowsEndpointSliceProxying`: 当启用时,运行在 Windows 上的 kube-proxy + 将使用 EndpointSlices 而不是 Endpoints 作为主要数据源,从而实现可伸缩性和并改进性能。 + 详情请参见[启用端点切片](/zh/docs/tasks/administer-cluster/enabling-endpointslices/). - `WindowsGMSA`:允许将 GMSA 凭据规范从 Pod 传递到容器运行时。 +- `WindowsHostProcessContainers`: 启用对 Windows HostProcess 容器的支持。 - `WindowsRunAsUserName`:提供使用非默认用户在 Windows 容器中运行应用程序的支持。 详情请参见 [配置 RunAsUserName](/zh/docs/tasks/configure-pod-container/configure-runasusername)。 -- `WindowsEndpointSliceProxying`:启用此特性门控后,Windows 上运行的 kube-proxy - 将使用 EndpointSlices 取代 Endpoints 作为主要数据源,进而提高扩展性和性能。参见 - [启用 EndpointSlice](/zh/docs/tasks/administer-cluster/enabling-endpointslices/)。 ## {{% heading "whatsnext" %}}