From b5b8b6a25eac7d6a0f5c0bd7978083912297c934 Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 25 Aug 2022 20:56:49 +0800 Subject: [PATCH] [zh-cn] Sync1.25 feature-gates.md --- .../feature-gates.md | 341 ++++++++++-------- 1 file changed, 193 insertions(+), 148 deletions(-) diff --git a/content/zh-cn/docs/reference/command-line-tools-reference/feature-gates.md b/content/zh-cn/docs/reference/command-line-tools-reference/feature-gates.md index 5957e2f7792..73ce8e3b481 100644 --- a/content/zh-cn/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/zh-cn/docs/reference/command-line-tools-reference/feature-gates.md @@ -50,8 +50,8 @@ flag assigned to a list of feature pairs: --> 每个 Kubernetes 组件都支持启用或禁用与该组件相关的一组特性门控。 使用 `-h` 参数来查看所有组件支持的完整特性门控。 -要为诸如 kubelet 之类的组件设置特性门控,请使用 `--feature-gates` 参数,并向其 -传递一个特性设置键值对列表: +要为诸如 kubelet 之类的组件设置特性门控,请使用 `--feature-gates` 参数, +并向其传递一个特性设置键值对列表: ```shell --feature-gates=...,GracefulNodeShutdown=true @@ -79,20 +79,14 @@ different Kubernetes components. - "结束(Until)" 列(如果不为空)包含最后一个 Kubernetes 版本,你仍可以在其中使用特性门控。 - 如果某个特性处于 Alpha 或 Beta 状态,你可以在 [Alpha 和 Beta 特性门控表](#feature-gates-for-alpha-or-beta-features)中找到该特性。 -- 如果某个特性处于稳定状态,你可以在 - [已毕业和废弃特性门控表](#feature-gates-for-graduated-or-deprecated-features) - 中找到该特性的所有阶段。 -- [已毕业和废弃特性门控表](#feature-gates-for-graduated-or-deprecated-features) - 还列出了废弃的和已被移除的特性。 +- 如果某个特性处于稳定状态, + 你可以在[已毕业和废弃特性门控表](#feature-gates-for-graduated-or-deprecated-features)中找到该特性的所有阶段。 +- [已毕业和废弃特性门控表](#feature-gates-for-graduated-or-deprecated-features)还列出了废弃的和已被移除的特性。 ### Alpha 和 Beta 状态的特性门控 {#feature-gates-for-alpha-or-beta-features} @@ -112,34 +106,28 @@ different Kubernetes components. | `AnyVolumeDataSource` | `false` | Alpha | 1.18 | 1.23 | | `AnyVolumeDataSource` | `true` | Beta | 1.24 | | | `AppArmor` | `true` | Beta | 1.4 | | +| `CheckpointContainer` | `false` | Alpha | 1.25 | | | `CPUManager` | `false` | Alpha | 1.8 | 1.9 | | `CPUManager` | `true` | Beta | 1.10 | | | `CPUManagerPolicyAlphaOptions` | `false` | Alpha | 1.23 | | | `CPUManagerPolicyBetaOptions` | `true` | Beta | 1.23 | | | `CPUManagerPolicyOptions` | `false` | Alpha | 1.22 | 1.22 | | `CPUManagerPolicyOptions` | `true` | Beta | 1.23 | | -| `CSIInlineVolume` | `false` | Alpha | 1.15 | 1.15 | -| `CSIInlineVolume` | `true` | Beta | 1.16 | - | -| `CSIMigration` | `false` | Alpha | 1.14 | 1.16 | -| `CSIMigration` | `true` | Beta | 1.17 | | -| `CSIMigrationAWS` | `false` | Alpha | 1.14 | 1.16 | -| `CSIMigrationAWS` | `false` | Beta | 1.17 | 1.22 | -| `CSIMigrationAWS` | `true` | Beta | 1.23 | | -| `CSIMigrationAzureFile` | `false` | Alpha | 1.15 | 1.19 | +| `CSIMigrationAzureFile` | `false` | Alpha | 1.15 | 1.20 | | `CSIMigrationAzureFile` | `false` | Beta | 1.21 | 1.23 | | `CSIMigrationAzureFile` | `true` | Beta | 1.24 | | -| `CSIMigrationGCE` | `false` | Alpha | 1.14 | 1.16 | -| `CSIMigrationGCE` | `false` | Beta | 1.17 | 1.22 | -| `CSIMigrationGCE` | `true` | Beta | 1.23 | | -| `CSIMigrationvSphere` | `false` | Beta | 1.19 | | -| `CSIMigrationPortworx` | `false` | Alpha | 1.23 | | -| `csiMigrationRBD` | `false` | Alpha | 1.23 | | +| `CSIMigrationPortworx` | `false` | Alpha | 1.23 | 1.24 | +| `CSIMigrationPortworx` | `false` | Beta | 1.25 | | +| `CSIMigrationRBD` | `false` | Alpha | 1.23 | | +| `CSIMigrationvSphere` | `false` | Alpha | 1.18 | 1.18 | +| `CSIMigrationvSphere` | `false` | Beta | 1.19 | 1.24 | +| `CSIMigrationvSphere` | `true` | Beta | 1.25 | | +| `CSINodeExpandSecret` | `false` | Alpha | 1.25 | | | `CSIVolumeHealth` | `false` | Alpha | 1.21 | | | `ContextualLogging` | `false` | Alpha | 1.24 | | | `CustomCPUCFSQuotaPeriod` | `false` | Alpha | 1.12 | | -| `CustomResourceValidationExpressions` | `false` | Alpha | 1.23 | | -| `DaemonSetUpdateSurge` | `false` | Alpha | 1.21 | 1.21 | -| `DaemonSetUpdateSurge` | `true` | Beta | 1.22 | | +| `CustomResourceValidationExpressions` | `false` | Alpha | 1.23 | 1.24 | +| `CustomResourceValidationExpressions` | `true` | Beta | 1.25 | | | `DelegateFSGroupToCSIDriver` | `false` | Alpha | 1.22 | 1.22 | | `DelegateFSGroupToCSIDriver` | `true` | Beta | 1.23 | | | `DevicePlugins` | `false` | Alpha | 1.8 | 1.9 | @@ -153,8 +141,6 @@ different Kubernetes components. | `DownwardAPIHugePages` | `true` | Beta | 1.22 | | | `EndpointSliceTerminatingCondition` | `false` | Alpha | 1.20 | 1.21 | | `EndpointSliceTerminatingCondition` | `true` | Beta | 1.22 | | -| `EphemeralContainers` | `false` | Alpha | 1.16 | 1.22 | -| `EphemeralContainers` | `true` | Beta | 1.23 | | | `ExpandedDNSConfig` | `false` | Alpha | 1.22 | | | `ExperimentalHostUserNamespaceDefaulting` | `false` | Beta | 1.5 | | | `GracefulNodeShutdown` | `false` | Alpha | 1.20 | 1.20 | @@ -166,8 +152,6 @@ different Kubernetes components. | `HonorPVReclaimPolicy` | `false` | Alpha | 1.23 | | | `HPAContainerMetrics` | `false` | Alpha | 1.20 | | | `HPAScaleToZero` | `false` | Alpha | 1.16 | | -| `IdentifyPodOS` | `false` | Alpha | 1.23 | 1.23 | -| `IdentifyPodOS` | `true` | Beta | 1.24 | | | `InTreePluginAWSUnregister` | `false` | Alpha | 1.21 | | | `InTreePluginAzureDiskUnregister` | `false` | Alpha | 1.21 | | | `InTreePluginAzureFileUnregister` | `false` | Alpha | 1.21 | | @@ -189,21 +173,22 @@ different Kubernetes components. | `KubeletPodResources` | `true` | Beta | 1.15 | | | `KubeletPodResourcesGetAllocatable` | `false` | Alpha | 1.21 | 1.22 | | `KubeletPodResourcesGetAllocatable` | `true` | Beta | 1.23 | | -| `LocalStorageCapacityIsolation` | `false` | Alpha | 1.7 | 1.9 | -| `LocalStorageCapacityIsolation` | `true` | Beta | 1.10 | | -| `LocalStorageCapacityIsolationFSQuotaMonitoring` | `false` | Alpha | 1.15 | | +| `KubeletTracing` | `false` | Alpha | 1.25 | | +| `LocalStorageCapacityIsolationFSQuotaMonitoring` | `false` | Alpha | 1.15 | 1.24 | +| `LocalStorageCapacityIsolationFSQuotaMonitoring` | `true` | Beta | 1.25 | | | `LogarithmicScaleDown` | `false` | Alpha | 1.21 | 1.21 | | `LogarithmicScaleDown` | `true` | Beta | 1.22 | | +| `MatchLabelKeysInPodTopologySpread` | `false` | Alpha | 1.25 | | | `MaxUnavailableStatefulSet` | `false` | Alpha | 1.24 | | | `MemoryManager` | `false` | Alpha | 1.21 | 1.21 | | `MemoryManager` | `true` | Beta | 1.22 | | | `MemoryQoS` | `false` | Alpha | 1.22 | | -| `MinDomainsInPodTopologySpread` | `false` | Alpha | 1.24 | | +| `MinDomainsInPodTopologySpread` | `false` | Alpha | 1.24 | 1.24 | +| `MinDomainsInPodTopologySpread` | `true` | Beta | 1.25 | | | `MixedProtocolLBService` | `false` | Alpha | 1.20 | 1.23 | | `MixedProtocolLBService` | `true` | Beta | 1.24 | | -| `NetworkPolicyEndPort` | `false` | Alpha | 1.21 | 1.21 | -| `NetworkPolicyEndPort` | `true` | Beta | 1.22 | | | `NetworkPolicyStatus` | `false` | Alpha | 1.24 | | +| `NodeInclusionPolicyInPodTopologySpread` | `false` | Alpha | 1.25 | | | `NodeSwap` | `false` | Alpha | 1.22 | | | `NodeOutOfServiceVolumeDetach` | `false` | Alpha | 1.24 | | | `OpenAPIEnums` | `false` | Alpha | 1.23 | 1.23 | @@ -213,10 +198,12 @@ different Kubernetes components. | `PodAndContainerStatsFromCRI` | `false` | Alpha | 1.23 | | | `PodDeletionCost` | `false` | Alpha | 1.21 | 1.21 | | `PodDeletionCost` | `true` | Beta | 1.22 | | +| `PodHasNetworkCondition` | `false` | Alpha | 1.25 | | | `PodSecurity` | `false` | Alpha | 1.22 | 1.22 | | `PodSecurity` | `true` | Beta | 1.23 | | | `ProbeTerminationGracePeriod` | `false` | Alpha | 1.21 | 1.21 | -| `ProbeTerminationGracePeriod` | `false` | Beta | 1.22 | | +| `ProbeTerminationGracePeriod` | `false` | Beta | 1.22 | 1.24 | +| `ProbeTerminationGracePeriod` | `true` | Beta | 1.25 | | | `ProcMountType` | `false` | Alpha | 1.12 | | | `ProxyTerminatingEndpoints` | `false` | Alpha | 1.22 | | | `QOSReserved` | `false` | Alpha | 1.11 | | @@ -226,16 +213,17 @@ different Kubernetes components. | `RemainingItemCount` | `true` | Beta | 1.16 | | | `RotateKubeletServerCertificate` | `false` | Alpha | 1.7 | 1.11 | | `RotateKubeletServerCertificate` | `true` | Beta | 1.12 | | -| `SeccompDefault` | `false` | Alpha | 1.22 | | -| `ServerSideFieldValidation` | `false` | Alpha | 1.23 | - | +| `SeccompDefault` | `false` | Alpha | 1.22 | 1.24 | +| `SeccompDefault` | `true` | Beta | 1.25 | | +| `ServerSideFieldValidation` | `false` | Alpha | 1.23 | 1.24 | +| `ServerSideFieldValidation` | `true` | Beta | 1.25 | | | `ServiceInternalTrafficPolicy` | `false` | Alpha | 1.21 | 1.21 | | `ServiceInternalTrafficPolicy` | `true` | Beta | 1.22 | | -| `ServiceIPStaticSubrange` | `false` | Alpha | 1.24 | | +| `ServiceIPStaticSubrange` | `false` | Alpha | 1.24 | 1.24 | +| `ServiceIPStaticSubrange` | `true` | Beta | 1.25 | | | `SizeMemoryBackedVolumes` | `false` | Alpha | 1.20 | 1.21 | | `SizeMemoryBackedVolumes` | `true` | Beta | 1.22 | | | `StatefulSetAutoDeletePVC` | `false` | Alpha | 1.22 | | -| `StatefulSetMinReadySeconds` | `false` | Alpha | 1.22 | 1.22 | -| `StatefulSetMinReadySeconds` | `true` | Beta | 1.23 | | | `StorageVersionAPI` | `false` | Alpha | 1.20 | | | `StorageVersionHash` | `false` | Alpha | 1.14 | 1.14 | | `StorageVersionHash` | `true` | Beta | 1.15 | | @@ -255,11 +243,7 @@ different Kubernetes components. ### 已毕业和已废弃的特性门控 {#feature-gates-for-graduated-or-deprecated-features} @@ -302,6 +286,16 @@ different Kubernetes components. | `CSIDriverRegistry` | `false` | Alpha | 1.12 | 1.13 | | `CSIDriverRegistry` | `true` | Beta | 1.14 | 1.17 | | `CSIDriverRegistry` | `true` | GA | 1.18 | - | +| `CSIInlineVolume` | `false` | Alpha | 1.15 | 1.15 | +| `CSIInlineVolume` | `true` | Beta | 1.16 | 1.24 | +| `CSIInlineVolume` | `true` | GA | 1.25 | - | +| `CSIMigration` | `false` | Alpha | 1.14 | 1.16 | +| `CSIMigration` | `true` | Beta | 1.17 | 1.24 | +| `CSIMigration` | `true` | GA | 1.25 | - | +| `CSIMigrationAWS` | `false` | Alpha | 1.14 | 1.16 | +| `CSIMigrationAWS` | `false` | Beta | 1.17 | 1.22 | +| `CSIMigrationAWS` | `true` | Beta | 1.23 | 1.24 | +| `CSIMigrationAWS` | `true` | GA | 1.25 | - | | `CSIMigrationAWSComplete` | `false` | Alpha | 1.17 | 1.20 | | `CSIMigrationAWSComplete` | - | Deprecated | 1.21 | - | | `CSIMigrationAzureDisk` | `false` | Alpha | 1.15 | 1.18 | @@ -312,6 +306,10 @@ different Kubernetes components. | `CSIMigrationAzureDiskComplete` | - | Deprecated | 1.21 | - | | `CSIMigrationAzureFileComplete` | `false` | Alpha | 1.17 | 1.20 | | `CSIMigrationAzureFileComplete` | - | Deprecated | 1.21 | - | +| `CSIMigrationGCE` | `false` | Alpha | 1.14 | 1.16 | +| `CSIMigrationGCE` | `false` | Beta | 1.17 | 1.22 | +| `CSIMigrationGCE` | `true` | Beta | 1.23 | 1.24 | +| `CSIMigrationGCE` | `true` | GA | 1.25 | - | | `CSIMigrationGCEComplete` | `false` | Alpha | 1.17 | 1.20 | | `CSIMigrationGCEComplete` | - | Deprecated | 1.21 | - | | `CSIMigrationOpenStack` | `false` | Alpha | 1.14 | 1.17 | @@ -341,7 +339,8 @@ different Kubernetes components. | `CronJobControllerV2` | `false` | Alpha | 1.20 | 1.20 | | `CronJobControllerV2` | `true` | Beta | 1.21 | 1.21 | | `CronJobControllerV2` | `true` | GA | 1.22 | - | -| `CronJobTimeZone` | `false` | Alpha | 1.24 | | +| `CronJobTimeZone` | `false` | Alpha | 1.24 | 1.24 | +| `CronJobTimeZone` | `true` | Beta | 1.25 | | | `CustomPodDNS` | `false` | Alpha | 1.9 | 1.9 | | `CustomPodDNS` | `true` | Beta| 1.10 | 1.13 | | `CustomPodDNS` | `true` | GA | 1.14 | - | @@ -360,6 +359,9 @@ different Kubernetes components. | `CustomResourceWebhookConversion` | `false` | Alpha | 1.13 | 1.14 | | `CustomResourceWebhookConversion` | `true` | Beta | 1.15 | 1.15 | | `CustomResourceWebhookConversion` | `true` | GA | 1.16 | - | +| `DaemonSetUpdateSurge` | `false` | Alpha | 1.21 | 1.21 | +| `DaemonSetUpdateSurge` | `true` | Beta | 1.22 | 1.24 | +| `DaemonSetUpdateSurge` | `true` | GA | 1.25 | - | | `DefaultPodTopologySpread` | `false` | Alpha | 1.19 | 1.19 | | `DefaultPodTopologySpread` | `true` | Beta | 1.20 | 1.23 | | `DefaultPodTopologySpread` | `true` | GA | 1.24 | - | @@ -390,6 +392,9 @@ different Kubernetes components. | `EndpointSliceProxying` | `false` | Alpha | 1.18 | 1.18 | | `EndpointSliceProxying` | `true` | Beta | 1.19 | 1.21 | | `EndpointSliceProxying` | `true` | GA | 1.22 | - | +| `EphemeralContainers` | `false` | Alpha | 1.16 | 1.22 | +| `EphemeralContainers` | `true` | Beta | 1.23 | 1.24 | +| `EphemeralContainers` | `true` | GA | 1.25 | - | | `EvenPodsSpread` | `false` | Alpha | 1.16 | 1.17 | | `EvenPodsSpread` | `true` | Beta | 1.18 | 1.18 | | `EvenPodsSpread` | `true` | GA | 1.19 | - | @@ -419,6 +424,9 @@ different Kubernetes components. | `HugePages` | `true` | GA | 1.14 | - | | `HyperVContainer` | `false` | Alpha | 1.10 | 1.19 | | `HyperVContainer` | `false` | Deprecated | 1.20 | - | +| `IdentifyPodOS` | `false` | Alpha | 1.23 | 1.23 | +| `IdentifyPodOS` | `true` | Beta | 1.24 | 1.24 | +| `IdentifyPodOS` | `true` | GA | 1.25 | - | | `IPv6DualStack` | `false` | Alpha | 1.15 | 1.20 | | `IPv6DualStack` | `true` | Beta | 1.21 | 1.22 | | `IPv6DualStack` | `true` | GA | 1.23 | - | @@ -433,6 +441,7 @@ different Kubernetes components. | `IngressClassNamespacedParams` | `true` | GA | 1.23 | - | | `Initializers` | `false` | Alpha | 1.7 | 1.13 | | `Initializers` | - | Deprecated | 1.14 | - | +| `JobPodFailurePolicy` | `false` | Alpha | 1.25 | - | | `KubeletConfigFile` | `false` | Alpha | 1.8 | 1.9 | | `KubeletConfigFile` | - | Deprecated | 1.10 | - | | `KubeletPluginsWatcher` | `false` | Alpha | 1.11 | 1.11 | @@ -442,6 +451,9 @@ different Kubernetes components. | `LegacyNodeRoleBehavior` | `true` | Beta | 1.19 | 1.20 | | `LegacyNodeRoleBehavior` | `false` | GA | 1.21 | - | | `LegacyServiceAccountTokenNoAutoGeneration` | `true` | Beta | 1.24 | | +| `LocalStorageCapacityIsolation` | `false` | Alpha | 1.7 | 1.9 | +| `LocalStorageCapacityIsolation` | `true` | Beta | 1.10 | 1.24 | +| `LocalStorageCapacityIsolation` | `true` | GA | 1.25 | - | | `MountContainers` | `false` | Alpha | 1.9 | 1.16 | | `MountContainers` | `false` | Deprecated | 1.17 | - | | `MountPropagation` | `false` | Alpha | 1.8 | 1.9 | @@ -449,6 +461,9 @@ different Kubernetes components. | `MountPropagation` | `true` | GA | 1.12 | - | | `NamespaceDefaultLabelName` | `true` | Beta | 1.21 | 1.21 | | `NamespaceDefaultLabelName` | `true` | GA | 1.22 | - | +| `NetworkPolicyEndPort` | `false` | Alpha | 1.21 | 1.21 | +| `NetworkPolicyEndPort` | `true` | Beta | 1.22 | 1.24 | +| `NetworkPolicyEndPort` | `true` | GA | 1.25 | - | | `NodeDisruptionExclusion` | `false` | Alpha | 1.16 | 1.18 | | `NodeDisruptionExclusion` | `true` | Beta | 1.19 | 1.20 | | `NodeDisruptionExclusion` | `true` | GA | 1.21 | - | @@ -469,6 +484,7 @@ different Kubernetes components. | `PodDisruptionBudget` | `false` | Alpha | 1.3 | 1.4 | | `PodDisruptionBudget` | `true` | Beta | 1.5 | 1.20 | | `PodDisruptionBudget` | `true` | GA | 1.21 | - | +| `PodDisruptionConditions` | `false` | Alpha | 1.25 | - | | `PodOverhead` | `false` | Alpha | 1.16 | 1.17 | | `PodOverhead` | `true` | Beta | 1.18 | 1.23 | | `PodOverhead` | `true` | GA | 1.24 | - | @@ -542,6 +558,9 @@ different Kubernetes components. | `StartupProbe` | `false` | Alpha | 1.16 | 1.17 | | `StartupProbe` | `true` | Beta | 1.18 | 1.19 | | `StartupProbe` | `true` | GA | 1.20 | - | +| `StatefulSetMinReadySeconds` | `false` | Alpha | 1.22 | 1.22 | +| `StatefulSetMinReadySeconds` | `true` | Beta | 1.23 | 1.24 | +| `StatefulSetMinReadySeconds` | `true` | GA | 1.25 | - | | `StorageObjectInUseProtection` | `true` | Beta | 1.10 | 1.10 | | `StorageObjectInUseProtection` | `true` | GA | 1.11 | - | | `StreamingProxyRedirects` | `false` | Beta | 1.5 | 1.5 | @@ -663,7 +682,9 @@ A *Beta* feature means: * 默认启用。 * 该特性已经经过良好测试。启用该特性是安全的。 * 尽管详细信息可能会更改,但不会放弃对整体特性的支持。 -* 对象的架构或语义可能会在随后的 Beta 或稳定版本中以不兼容的方式更改。当发生这种情况时,我们将提供迁移到下一版本的说明。此特性可能需要删除、编辑和重新创建 API 对象。编辑过程可能需要慎重操作,因为这可能会导致依赖该特性的应用程序停机。 +* 对象的架构或语义可能会在随后的 Beta 或稳定版本中以不兼容的方式更改。 + 当发生这种情况时,我们将提供迁移到下一版本的说明。此特性可能需要删除、编辑和重新创建 API 对象。 + 编辑过程可能需要慎重操作,因为这可能会导致依赖该特性的应用程序停机。 * 推荐仅用于非关键业务用途,因为在后续版本中可能会发生不兼容的更改。如果你具有多个可以独立升级的,则可以放宽此限制。 {{< note >}} @@ -707,12 +728,14 @@ Each feature gate is designed for enabling/disabling a specific feature: - `APIResponseCompression`: Compress the API responses for `LIST` or `GET` requests. - `APIServerIdentity`: Assign each API server an ID in a cluster. - `APIServerTracing`: Add support for distributed tracing in the API server. + See [Traces for Kubernetes System Components](/docs/concepts/cluster-administration/traces-for-kubernetes-system-components) for more details. --> - `APIListChunking`:启用 API 客户端以块的形式从 API 服务器检索(“LIST” 或 “GET”)资源。 -- `APIPriorityAndFairness`: 在每个服务器上启用优先级和公平性来管理请求并发。(由 `RequestManagement` 重命名而来) +- `APIPriorityAndFairness`: 在每个服务器上启用优先级和公平性来管理请求并发(由 `RequestManagement` 重命名而来)。 - `APIResponseCompression`:压缩 “LIST” 或 “GET” 请求的 API 响应。 - `APIServerIdentity`:为集群中的每个 API 服务器赋予一个 ID。 - `APIServerTracing`: 为集群中的每个 API 服务器添加对分布式跟踪的支持。 + 参阅[针对 Kubernetes 系统组件的追踪](/zh-cn/docs/concepts/cluster-administration/system-traces/)获取更多详细信息。 -- `AttachVolumeLimit`:启用卷插件用于报告可连接到节点的卷数限制。有关更多详细信息,请参阅 - [动态卷限制](/zh-cn/docs/concepts/storage/storage-limits/#dynamic-volume-limits)。 +- `AttachVolumeLimit`:启用卷插件用于报告可连接到节点的卷数限制。有关更多详细信息, + 请参阅[动态卷限制](/zh-cn/docs/concepts/storage/storage-limits/#dynamic-volume-limits)。 - `BalanceAttachedNodeVolumes`:在进行平衡资源分配的调度时,考虑节点上的卷数。 调度器在决策时会优先考虑 CPU、内存利用率和卷数更近的节点。 -- `BlockVolume`:在 Pod 中启用原始块设备的定义和使用。有关更多详细信息,请参见 - [原始块卷支持](/zh-cn/docs/concepts/storage/persistent-volumes/#raw-block-volume-support)。 +- `BlockVolume`:在 Pod 中启用原始块设备的定义和使用。有关更多详细信息, + 请参见[原始块卷支持](/zh-cn/docs/concepts/storage/persistent-volumes/#raw-block-volume-support)。 - `BoundServiceAccountTokenVolume`:迁移 ServiceAccount 卷以使用由 ServiceAccountTokenVolumeProjection 组成的投射卷。集群管理员可以使用 `serviceaccount_stale_tokens_total` 度量值来监控依赖于扩展令牌的负载。 如果没有这种类型的负载,你可以在启动 `kube-apiserver` 时添加 - `--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-cn/docs/tasks/administer-cluster/controller-manager-leader-migration/#initial-leader-migration-configuration) 和 - [cloud-controller-manager](/zh-cn/docs/tasks/administer-cluster/controller-manager-leader-migration/#deploy-cloud-controller-manager) - 启用 Leader 迁移,它允许集群管理者在没有停机的高可用集群环境下,实时 - 把 kube-controller-manager 迁移迁移到外部的 controller-manager (例如 cloud-controller-manager) 中。 + `--service-account-extend-token-expiration=false` 参数关闭扩展令牌。 + 查看[绑定服务账号令牌](https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/1205-bound-service-account-tokens/README.md)获取更多详细信息。 +- `CheckpointContainer`:启用 kubelet `checkpoint` API。 + 参阅 [Kubelet Checkpoint API](/zh-cn/docs/reference/node/kubelet-checkpoint-api/) 获取更多详细信息。 +- `ControllerManagerLeaderMigration`: 为 + [kube-controller-manager](/zh-cn/docs/tasks/administer-cluster/controller-manager-leader-migration/#initial-leader-migration-configuration) 和 + [cloud-controller-manager](/zh-cn/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-cn/docs/tasks/administer-cluster/cpu-management-policies/)。 -- `CPUManagerPolicyAlphaOptions`:允许对 CPUManager 策略进行微调,针对试验性的、 - alpha 质量级别的选项。 - 此特性门控用来保护一组质量级别为 alpha 的 CPUManager 选项。 - 此特性门控永远不会被升级为 beta 或者稳定版本。 -- `CPUManagerPolicyBetaOptions`:允许对 CPUManager 策略进行微调,针对试验性的、 - beta 质量级别的选项。 - 此特性门控用来保护一组质量级别为 beta 的 CPUManager 选项。 +- `CPUManagerPolicyAlphaOptions`:允许对 CPUManager 策略进行微调,针对试验性的、Alpha 质量级别的选项。 + 此特性门控用来保护一组质量级别为 Alpha 的 CPUManager 选项。 + 此特性门控永远不会被升级为 Beta 或者稳定版本。 +- `CPUManagerPolicyBetaOptions`:允许对 CPUManager 策略进行微调,针对试验性的、Beta 质量级别的选项。 + 此特性门控用来保护一组质量级别为 Beta 的 CPUManager 选项。 此特性门控永远不会被升级为稳定版本。 - `CPUManagerPolicyOptions`: 允许微调 CPU 管理策略。 - `CSIMigrationAWS`:确保填充和转换逻辑能够将卷操作从 AWS-EBS 内嵌插件路由到 EBS CSI 插件。 - 如果节点禁用了此特性门控或者未安装和配置 EBS CSI 插件,支持回退到内嵌 EBS 插件 - 来执行卷挂载操作。不支持回退到这些插件来执行卷制备操作,因为需要安装并配置 CSI 插件。 + 如果节点禁用了此特性门控或者未安装和配置 EBS CSI 插件,支持回退到内嵌 EBS 插件来执行卷挂载操作。 + 不支持回退到这些插件来执行卷制备操作,因为需要安装并配置 CSI 插件。 - `CSIMigrationAWSComplete`:停止在 kubelet 和卷控制器中注册 EBS 内嵌插件, 并启用填充和转换逻辑将卷操作从 AWS-EBS 内嵌插件路由到 EBS CSI 插件。 这需要启用 CSIMigration 和 CSIMigrationAWS 特性标志,并在集群中的所有节点上安装和配置 - EBS CSI 插件。该特性标志已被废弃,取而代之的是 `InTreePluginAWSUnregister` , + EBS CSI 插件。该特性标志已被废弃,取而代之的是 `InTreePluginAWSUnregister`, 后者会阻止注册 EBS 内嵌插件。 - `CSINodeInfo`:在 `csi.storage.k8s.io` 中启用与 CSINodeInfo API 对象有关的所有逻辑。 +- `CSINodeExpandSecret`:允许在 `NodeExpandVolume` CSI 操作期间将 Secret + 身份验证数据传递到 CSI 驱动以供后者使用。 - `CSIPersistentVolume`:启用发现和挂载通过 [CSI(容器存储接口)](https://git.k8s.io/design-proposals-archive/storage/container-storage-interface.md) 兼容卷插件配置的卷。 @@ -1047,7 +1075,7 @@ Each feature gate is designed for enabling/disabling a specific feature: version 1 of the same controller is selected. - `CronJobTimeZone`: Allow the use of the `timeZone` optional field in [CronJobs](/docs/concepts/workloads/controllers/cron-jobs/) --> -- `CSIVolumeFSGroupPolicy`:允许 CSIDrivers 使用 `fsGroupPolicy` 字段. +- `CSIVolumeFSGroupPolicy`:允许 CSIDrivers 使用 `fsGroupPolicy` 字段。 该字段能控制由 CSIDriver 创建的卷在挂载这些卷时是否支持卷所有权和权限修改。 - `CSIVolumeHealth`:启用对节点上的 CSI volume 运行状况监控的支持 - `CSRDuration`:允许客户端来通过请求 Kubernetes CSR API 签署的证书的持续时间。 @@ -1060,7 +1088,8 @@ Each feature gate is designed for enabling/disabling a specific feature: 开启领导者迁移功能。 - `CronJobControllerV2`:使用 {{< glossary_tooltip text="CronJob" term_id="cronjob" >}} 控制器的一种替代实现。否则,系统会选择同一控制器的 v1 版本。 -- `CronJobTimeZone`:允许在 [CronJobs](/zh-cn/docs/concepts/workloads/controllers/cron-jobs/) 中使用 `timeZone` 可选字段。 +- `CronJobTimeZone`:允许在 [CronJobs](/zh-cn/docs/concepts/workloads/controllers/cron-jobs/) + 中使用 `timeZone` 可选字段。 - `CustomCPUCFSQuotaPeriod`:使节点能够更改 - [kubelet 配置](/zh-cn/docs/tasks/administer-cluster/kubelet-config-file/) - 中的 `cpuCFSQuotaPeriod`。 + [kubelet 配置](/zh-cn/docs/tasks/administer-cluster/kubelet-config-file/)中的 `cpuCFSQuotaPeriod`。 - `CustomResourceValidationExpressions`:启用 CRD 中的表达式语言合法性检查, 基于 `x-kubernetes-validations` 扩展中所书写的合法性检查规则来验证定制资源。 - `CustomPodDNS`:允许使用 Pod 的 `dnsConfig` 属性自定义其 DNS 设置。 @@ -1272,9 +1300,8 @@ Each feature gate is designed for enabling/disabling a specific feature: (可以由第三方存储供应商提供、存储容量跟踪、从快照还原等等)的所有功能。 请参见[临时卷](/zh-cn/docs/concepts/storage/ephemeral-volumes/)。 - `GracefulNodeShutdown`:在 kubelet 中启用体面地关闭节点的支持。 - 在系统关闭时,kubelet 会尝试监测该事件并体面地终止节点上运行的 Pods。 - 参阅[体面地关闭节点](/zh-cn/docs/concepts/architecture/nodes/#graceful-node-shutdown) - 以了解更多细节。 + 在系统关闭时,kubelet 会尝试监测该事件并体面地终止节点上运行的 Pod。 + 参阅[体面地关闭节点](/zh-cn/docs/concepts/architecture/nodes/#graceful-node-shutdown)以了解更多细节。 - `IPv6DualStack`:启用[双协议栈](/zh-cn/docs/concepts/services-networking/dual-stack/) 以支持 IPv6。 -- `JobMutableNodeSchedulingDirectives`:允许在 [Job](/docs/concepts/workloads/controllers/job) - 的 Pod 模板中更新节点调度指令。 -- `JobReadyPods`:允许跟踪[状况](/zh-cn/docs/concepts/scheduling-eviction/lifecycle/#pod-conditions)为 +- `JobMutableNodeSchedulingDirectives`:允许在 [Job](/zh-cn/docs/concepts/workloads/controllers/job) + 的 Pod 模板中更新节点调度指令。 +- `JobPodFailurePolicy`:允许用户根据容器退出码和 Pod 状况来指定 Pod 失效的处理方法。 +- `JobReadyPods`:允许跟踪[状况](/zh-cn/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions)为 `Ready` 的 Pod 的个数。`Ready` 的 Pod 记录在 [Job](/zh-cn/docs/concepts/workloads/controllers/job) 对象的 - [status](/docs/reference/kubernetes-api/workload-resources/job-v1/#JobStatus) 字段中。 + [status](/zh-cn/docs/reference/kubernetes-api/workload-resources/job-v1/#JobStatus) 字段中。 - `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-cn/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#monitoring-device-plugin-resources) 包含有关可分配资源的信息,使客户端能够正确跟踪节点上的可用计算资源。 - `LegacyNodeRoleBehavior`:禁用此门控时,服务负载均衡器中和节点干扰中的原先行为会忽略 `node-role.kubernetes.io/master` 标签,使用 `NodeDisruptionExclusion` 和 `ServiceNodeExclusion` 对应特性所提供的标签。 -- `LegacyServiceAccountTokenNoAutoGeneration`:停止基于 Secret 的自动生成 - [服务账号令牌](/zh-cn/docs/reference/access-authn-authz/authentication/#service-account-tokens). +- `KubeletTracing`:新增在 Kubelet 中对分布式追踪的支持。 + 启用时,kubelet CRI 接口和经身份验证的 http 服务器被插桩以生成 OpenTelemetry 追踪 span。 + 参阅[针对 Kubernetes 系统组件的追踪](/zh-cn/docs/concepts/cluster-administration/system-traces/)获取更多详细信息。 +- `LegacyServiceAccountTokenNoAutoGeneration`:停止基于 Secret + 自动生成[服务账号令牌](/zh-cn/docs/reference/access-authn-authz/authentication/#service-account-tokens)。 - `LogarithmicScaleDown`:启用 Pod 的半随机(semi-random)选择,控制器将根据 Pod 时间戳的对数桶按比例缩小去驱逐 Pod。 +- `MatchLabelKeysInPodTopologySpread`:为 + [Pod 拓扑分布约束](/zh-cn/docs/concepts/scheduling-eviction/topology-spread-constraints/)启用 `matchLabelKeys` 字段。 - `MaxUnavailableStatefulSet`:启用为 StatefulSet 的[滚动更新策略](/zh-cn/docs/concepts/workloads/controllers/statefulset/#rolling-updates)设置 `maxUnavailable` 字段。该字段指定更新过程中不可用 Pod 个数的上限。 - `MemoryManager`:允许基于 NUMA 拓扑为容器设置内存亲和性。 -- `MemoryQoS`:使用 cgroup v2 内存控制器在 pod / 容器上启用内存保护和使用限制。 -- `MinDomainsInPodTopologySpread`:启用 Pod 的 `minDomains` - [拓扑分布约束](/zh-cn/docs/concepts/scheduling-eviction/topology-spread-constraints/). +- `MemoryQoS`:使用 cgroup v2 内存控制器在 Pod / 容器上启用内存保护和使用限制。 +- `MinDomainsInPodTopologySpread`:在 + [Pod 拓扑分布约束](/zh-cn/docs/concepts/scheduling-eviction/topology-spread-constraints/)中启用 `minDomains`。 - `MixedProtocolLBService`:允许在同一 `LoadBalancer` 类型的 Service 实例中使用不同的协议。 - `MountContainers`:允许使用主机上的工具容器作为卷挂载程序。 @@ -1571,12 +1618,14 @@ Each feature gate is designed for enabling/disabling a specific feature: 该功能使用户可以影响 ReplicaSet 的降序顺序。 - `PersistentLocalVolumes`:允许在 Pod 中使用 `local(本地)` 卷类型。 如果请求 `local` 卷,则必须指定 Pod 亲和性属性。 -- `PodAndContainerStatsFromCRI`:配置 kubelet 从容器和 CRI 容器运行时收集 Pod 统计信息, - 不建议从 cAdvisor 收集统计信息。 -- `PodDisruptionBudget`:启用 [PodDisruptionBudget](/zh-cn/docs/tasks/run-application/configure-pdb/) 特性。 -- `PodAffinityNamespaceSelector`:启用 [Pod 亲和性名称空间选择器](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#namespace-selector) - 和 [CrossNamespacePodAffinity](/zh-cn/docs/concepts/policy/resource-quotas/#cross-namespace-pod-affinity-quota) +- `PodAffinityNamespaceSelector`:启用 [Pod 亲和性名字空间选择算符](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#namespace-selector)和 + [CrossNamespacePodAffinity](/zh-cn/docs/concepts/policy/resource-quotas/#cross-namespace-pod-affinity-quota) 资源配额功能。 +- `PodAndContainerStatsFromCRI`:配置 kubelet 从 CRI 容器运行时中而不是从 cAdvisor 中采集容器和 Pod 统计信息。 +- `PodDisruptionBudget`:启用 [PodDisruptionBudget](/zh-cn/docs/tasks/run-application/configure-pdb/) 功能特性。 +- `PodDisruptionConditions`:启用支持追加一个专用的 Pod 状况,以表示 Pod 由于某个干扰正在被删除。 +- `PodHasNetworkCondition`:使得 kubelet 能够对 Pod 标记 + [PodHasNetwork](/zh-cn/docs/concepts/workloads/pods/pod-lifecycle/#pod-has-network) 状况。 - `PodOverhead`:启用 [PodOverhead](/zh-cn/docs/concepts/scheduling-eviction/pod-overhead/) 特性以考虑 Pod 开销。 - `RuntimeClass`:启用 [RuntimeClass](/zh-cn/docs/concepts/containers/runtime-class/) 特性用于选择容器运行时配置。 @@ -1719,6 +1770,8 @@ Each feature gate is designed for enabling/disabling a specific feature: - `SeccompDefault`: 允许将所有工作负载的默认 seccomp 配置文件为 `RuntimeDefault`。 seccomp 配置在 Pod 或者容器的 `securityContext` 字段中指定。 - `SelectorIndex`: 允许使用 API 服务器的 watch 缓存中基于标签和字段的索引来加速 list 操作。 +- `SELinuxMountReadWriteOncePod`:允许 kubelet 直接用合适的 SELinux 标签为 Pod 挂载卷, + 而不是将 SELinux 标签以递归方式应用到卷上的每个文件。 -- `ServerSideApply`:在 API 服务器上启用 - [服务器端应用(SSA)](/zh-cn/docs/reference/using-api/server-side-apply/) 。 +- `ServerSideApply`:在 API 服务器上启用[服务器端应用(SSA)](/zh-cn/docs/reference/using-api/server-side-apply/)。 - `ServerSideFieldValidation`:启用服务器端字段验证。 这意味着验证资源模式在 API 服务器端而不是客户端执行 (例如,`kubectl create` 或 `kubectl apply` 命令行)。 - `ServiceAccountIssuerDiscovery`:在 API 服务器中为服务帐户颁发者启用 OIDC 发现端点 (颁发者和 JWKS URL)。详情参见 - [为 Pod 配置服务账户](/zh-cn/docs/tasks/configure-pod-container/configure-service-account/#service-account-issuer-discovery) 。 + [为 Pod 配置服务账户](/zh-cn/docs/tasks/configure-pod-container/configure-service-account/#service-account-issuer-discovery)。 - `ServiceAppProtocol`:为 Service 和 Endpoints 启用 `appProtocol` 字段。 - `ServiceInternalTrafficPolicy`:为服务启用 `internalTrafficPolicy` 字段。 - `ServiceLBNodePortControl`:为服务启用 `allocateLoadBalancerNodePorts` 字段。 @@ -1763,12 +1815,11 @@ Each feature gate is designed for enabling/disabling a specific feature: [Avoiding collisions](/docs/concepts/services-networking/service/#avoiding-collisions) for more details. --> -- `ServiceLoadBalancerClass`: 为服务启用 `loadBalancerClass` 字段。 +- `ServiceLoadBalancerClass`: 为服务启用 `loadBalancerClass` 字段。 有关更多信息,请参见[指定负载均衡器实现类](/zh-cn/docs/concepts/services-networking/service/#load-balancer-class)。 - `ServiceLoadBalancerFinalizer`:为服务负载均衡启用终结器(finalizers)保护。 - `ServiceNodeExclusion`:启用从云提供商创建的负载均衡中排除节点。 - 如果节点标记有 `node.kubernetes.io/exclude-from-external-load-balancers`, - 标签,则可以排除该节点。 + 如果节点标记有 `node.kubernetes.io/exclude-from-external-load-balancers` 标签,则可以排除该节点。 - `ServiceTopology`:启用服务拓扑可以让一个服务基于集群的节点拓扑进行流量路由。 有关更多详细信息,请参见[服务拓扑](/zh-cn/docs/concepts/services-networking/service-topology/)。 - `ServiceIPStaticSubrange`:启用服务 ClusterIP 分配策略,从而细分 ClusterIP 范围。 @@ -1788,10 +1839,9 @@ Each feature gate is designed for enabling/disabling a specific feature: --> - `SetHostnameAsFQDN`:启用将全限定域名(FQDN)设置为 Pod 主机名的功能。 请参见[为 Pod 设置 `setHostnameAsFQDN` 字段](/zh-cn/docs/concepts/services-networking/dns-pod-service/#pod-sethostnameasfqdn-field)。 -- `SizeMemoryBackedVolumes`:允许 kubelet 检查基于内存制备的卷的尺寸约束 - (目前主要针对 `emptyDir` 卷)。 -- `StartupProbe`:在 kubelet 中启用 - [启动探针](/zh-cn/docs/concepts/scheduling-eviction/lifecycle/#when-should-you-use-a-startup-probe)。 +- `SizeMemoryBackedVolumes`:允许 kubelet 检查基于内存制备的卷的尺寸约束(目前主要针对 `emptyDir` 卷)。 +- `StartupProbe`:在 kubelet + 中启用[启动探针](/zh-cn/docs/concepts/scheduling-eviction/lifecycle/#when-should-you-use-a-startup-probe)。 - `StatefulSetMinReadySeconds`: 允许 StatefulSet 控制器采纳 `minReadySeconds` 设置。 -- `SupportIPVSProxyMode`:启用使用 IPVS 提供集群内服务负载平衡。更多详细信息,请参见 - [服务代理](/zh-cn/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies)。 +- `SupportIPVSProxyMode`:启用使用 IPVS 提供集群内服务负载平衡。更多详细信息, + 请参见[服务代理](/zh-cn/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies)。 - `SupportNodePidsLimit`:启用支持,限制节点上的 PID 用量。 - `--system-reserved` 和 `--kube-reserved` 中的参数 `pid=<数值>` 可以分别用来 - 设定为整个系统所预留的进程 ID 个数和为 Kubernetes 系统守护进程预留的进程 ID 个数。 + `--system-reserved` 和 `--kube-reserved` 中的参数 `pid=<数值>` + 可以分别用来设定为整个系统所预留的进程 ID 个数和为 Kubernetes 系统守护进程预留的进程 ID 个数。 - `SupportPodPidsLimit`:启用支持限制 Pod 中的进程 PID。 - `SuspendJob`: 启用支持以暂停和恢复作业。 更多详细信息,请参见 - [Jobs 文档](/zh-cn/docs/concepts/workloads/controllers/job/)。 + [Job 文档](/zh-cn/docs/concepts/workloads/controllers/job/)。 - `Sysctls`:允许为每个 Pod 设置的名字空间内核参数(sysctls)。 更多详细信息,请参见 [sysctls](/zh-cn/docs/tasks/administer-cluster/sysctl-cluster/)。 - `TTLAfterFinished`:资源完成执行后,允许 @@ -1858,12 +1907,11 @@ Each feature gate is designed for enabling/disabling a specific feature: --> - `TaintBasedEvictions`:根据节点上的污点和 Pod 上的容忍度启用从节点驱逐 Pod 的特性。 更多详细信息可参见[污点和容忍度](/zh-cn/docs/concepts/scheduling-eviction/taint-and-toleration/)。 -- `TaintNodesByCondition`:根据[节点状况](/zh-cn/docs/concepts/scheduling-eviction/taint-and-toleration/) - 启用自动为节点标记污点。 +- `TaintNodesByCondition`: + 根据[节点状况](/zh-cn/docs/concepts/scheduling-eviction/taint-and-toleration/)启用自动为节点标记污点。 - `TokenRequest`:在服务帐户资源上启用 `TokenRequest` 端点。 - `TokenRequestProjection`:启用通过 - [`projected` 卷](/zh-cn/docs/concepts/storage/volumes/#projected) - 将服务帐户令牌注入到 Pod 中的特性。 + [`projected` 卷](/zh-cn/docs/concepts/storage/volumes/#projected)将服务帐户令牌注入到 Pod 中的特性。 - `WindowsEndpointSliceProxying`: 当启用时,运行在 Windows 上的 kube-proxy - 将使用 EndpointSlices 而不是 Endpoints 作为主要数据源,从而实现可伸缩性和并改进性能。 - 详情请参见[启用端点切片](/zh-cn/docs/concepts/services-networking/endpoint-slices/). + 将使用 EndpointSlices 而不是 Endpoints 作为主要数据源,从而实现可伸缩性和并改进性能。 + 详情请参见[启用端点切片](/zh-cn/docs/concepts/services-networking/endpoint-slices/)。 - `WindowsGMSA`:允许将 GMSA 凭据规范从 Pod 传递到容器运行时。 - `WindowsHostProcessContainers`: 启用对 Windows HostProcess 容器的支持。 - `WindowsRunAsUserName`:提供使用非默认用户在 Windows 容器中运行应用程序的支持。 - 详情请参见 - [配置 RunAsUserName](/zh-cn/docs/tasks/configure-pod-container/configure-runasusername)。 + 详情请参见[配置 RunAsUserName](/zh-cn/docs/tasks/configure-pod-container/configure-runasusername)。 ## {{% heading "whatsnext" %}} @@ -1946,10 +1992,9 @@ Each feature gate is designed for enabling/disabling a specific feature: `storage.k8s.io/v1beta1/csistoragecapacities`, set `--runtime-config=storage.k8s.io/v1beta1/csistoragecapacities`. See [API Versioning](/docs/reference/using-api/#api-versioning) for more details on the command line flags. --> -* Kubernetes 的[弃用策略](/zh-cn/docs/reference/using-api/deprecation-policy/) - 介绍了项目针对已移除特性和组件的处理方法。 +* Kubernetes 的[弃用策略](/zh-cn/docs/reference/using-api/deprecation-policy/)介绍了项目针对已移除特性和组件的处理方法。 * 从 Kubernetes 1.24 开始,默认不启用新的 beta API。 - 启用 beta 功能时,还需要启用所有关联的 API 资源。 + 启用 Beta 功能时,还需要启用所有关联的 API 资源。 例如:要启用一个特定资源,如 `storage.k8s.io/v1beta1/csistoragecapacities`, 请设置 `--runtime-config=storage.k8s.io/v1beta1/csistoragecapacities`。 有关命令行标志的更多详细信息,请参阅 [API 版本控制](/zh-cn/docs/reference/using-api/#api-versioning)。