特性门控
此页面包含管理员可以在不同 Kubernetes 组件上指定各种功能门控的概述。
请参阅功能阶段,了解功能的阶段说明。
概述
功能门控是一组键值对,用于描述 Kubernetes 功能。您可以使用每个 Kubernetes 组件上的 --feature-gates 命令行标志来启用或禁用这些功能。
如何启用功能门控
要为特定 Kubernetes 组件启用或禁用功能门控,请使用 --feature-gates 标志。
此标志接受逗号分隔的键值对列表,其中每个键是功能门控名称,每个值是 true(启用)或 false(禁用)。
用法示例
kube-apiserver --feature-gates=FeatureName1=true,FeatureName2=false
kubelet --feature-gates=GracefulNodeShutdown=true
每个 Kubernetes 组件仅支持与其功能相关的功能门控。使用 <component> -h 列出特定组件的可用功能门控。
有关在集群中配置功能门控的详细说明,请参阅 配置功能门控。
Kubernetes v1.35 中的功能门控
以下表格总结了可以在不同 Kubernetes 组件上设置的功能门控。
- “Since”列包含引入功能或更改其发布阶段的 Kubernetes 版本。
- “Until”列(如果非空)包含您仍然可以使用功能门控的最后一个 Kubernetes 版本。
- 如果功能处于 Alpha 或 Beta 状态,您可以在 Alpha/Beta 功能门控表 中找到该功能。
- 如果功能已稳定,您可以在 已毕业/已弃用功能门控表 中找到该功能的各个阶段。
- 已毕业/已弃用功能门控表 还列出了已弃用和删除的功能。
说明
有关已删除的旧功能门控的参考,请参阅 功能门控已删除。Alpha 或 Beta 功能的功能门控
| 功能 | 默认 | 阶段 | Since | Until |
|---|---|---|---|---|
AllowParsingUserUIDFromCertAuth | false | Alpha | 1.33 | 1.33 |
AllowParsingUserUIDFromCertAuth | true | Beta | 1.34 | – |
AllowUnsafeMalformedObjectDeletion | false | Alpha | 1.32 | – |
APIResponseCompression | false | Alpha | 1.7 | 1.15 |
APIResponseCompression | true | Beta | 1.16 | – |
APIServerIdentity | false | Alpha | 1.20 | 1.25 |
APIServerIdentity | true | Beta | 1.26 | – |
APIServingWithRoutine | false | Alpha | 1.30 | – |
AuthorizePodWebsocketUpgradeCreatePermission | true | Beta | 1.35 | – |
CBORServingAndStorage | false | Alpha | 1.32 | – |
ClearingNominatedNodeNameAfterBinding | false | Alpha | 1.34 | 1.34 |
ClearingNominatedNodeNameAfterBinding | true | Beta | 1.35 | – |
CloudControllerManagerWatchBasedRoutesReconciliation | false | Alpha | 1.35 | – |
CloudControllerManagerWebhook | false | Alpha | 1.27 | – |
ClusterTrustBundle | false | Alpha | 1.27 | 1.32 |
ClusterTrustBundle | false | Beta | 1.33 | – |
ClusterTrustBundleProjection | false | Alpha | 1.29 | 1.32 |
ClusterTrustBundleProjection | false | Beta | 1.33 | – |
ComponentFlagz | false | Alpha | 1.32 | – |
ComponentStatusz | false | Alpha | 1.32 | – |
ConcurrentWatchObjectDecode | false | Beta | 1.31 | – |
ConstrainedImpersonation | false | Alpha | 1.35 | – |
ContainerCheckpoint | false | Alpha | 1.25 | 1.29 |
ContainerCheckpoint | true | Beta | 1.30 | – |
ContainerRestartRules | false | Alpha | 1.34 | 1.34 |
ContainerRestartRules | true | Beta | 1.35 | – |
ContainerStopSignals | false | Alpha | 1.33 | – |
ContextualLogging | false | Alpha | 1.24 | – |
ContextualLogging | true | Beta | 1.30 | – |
CoordinatedLeaderElection | false | Alpha | 1.31 | 1.32 |
CoordinatedLeaderElection | false | Beta | 1.33 | – |
CPUManagerPolicyAlphaOptions | false | Alpha | 1.23 | – |
CPUManagerPolicyBetaOptions | true | Beta | 1.23 | – |
CRDObservedGenerationTracking | false | Beta | 1.35 | – |
CrossNamespaceVolumeDataSource | false | Alpha | 1.26 | – |
CSIServiceAccountTokenSecrets | true | Beta | 1.35 | – |
CSIVolumeHealth | false | Alpha | 1.21 | – |
CustomCPUCFSQuotaPeriod | false | Alpha | 1.12 | – |
DeclarativeValidation | true | Beta | 1.33 | – |
DeclarativeValidationTakeover | false | Beta | 1.33 | – |
DeploymentReplicaSetTerminatingReplicas | false | Alpha | 1.33 | 1.34 |
DeploymentReplicaSetTerminatingReplicas | true | Beta | 1.35 | – |
DetectCacheInconsistency | true | Beta | 1.34 | – |
DisableCPUQuotaWithExclusiveCPUs | true | Beta | 1.33 | – |
DRAAdminAccess | false | Alpha | 1.32 | 1.33 |
DRAAdminAccess | true | Beta | 1.34 | – |
DRAConsumableCapacity | false | Alpha | 1.34 | – |
DRADeviceBindingConditions | false | Alpha | 1.34 | – |
DRADeviceTaintRules | false | Alpha | 1.35 | – |
DRADeviceTaints | false | Alpha | 1.33 | – |
DRAExtendedResource | false | Alpha | 1.34 | – |
DRAPartitionableDevices | false | Alpha | 1.33 | – |
DRAPrioritizedList | false | Alpha | 1.33 | 1.33 |
DRAPrioritizedList | true | Beta | 1.34 | – |
DRAResourceClaimDeviceStatus | false | Alpha | 1.32 | 1.32 |
DRAResourceClaimDeviceStatus | true | Beta | 1.33 | – |
DRASchedulerFilterTimeout | false | Alpha | 1.34 | – |
EnvFiles | false | Alpha | 1.34 | 1.34 |
EnvFiles | true | Beta | 1.35 | – |
EventedPLEG | false | Alpha | 1.26 | – |
ExternalServiceAccountTokenSigner | false | Alpha | 1.32 | 1.33 |
ExternalServiceAccountTokenSigner | true | Beta | 1.34 | – |
GangScheduling | false | Alpha | 1.35 | – |
GenericWorkload | false | Alpha | 1.35 | – |
GracefulNodeShutdown | false | Alpha | 1.20 | 1.20 |
GracefulNodeShutdown | true | Beta | 1.21 | – |
GracefulNodeShutdownBasedOnPodPriority | false | Alpha | 1.23 | 1.23 |
GracefulNodeShutdownBasedOnPodPriority | true | Beta | 1.24 | – |
HostnameOverride | false | Alpha | 1.34 | 1.34 |
HostnameOverride | true | Beta | 1.35 | – |
HPAConfigurableTolerance | false | Alpha | 1.33 | 1.34 |
HPAConfigurableTolerance | true | Beta | 1.35 | – |
HPAScaleToZero | false | Alpha | 1.16 | – |
ImageVolume | false | Alpha | 1.31 | 1.32 |
ImageVolume | false | Beta | 1.33 | 1.34 |
ImageVolume | true | Beta | 1.35 | – |
InOrderInformers | true | Alpha | 1.33 | 1.33 |
InOrderInformers | true | Beta | 1.34 | – |
InPlacePodLevelResourcesVerticalScaling | false | Alpha | 1.35 | – |
InPlacePodVerticalScalingExclusiveCPUs | false | Alpha | 1.32 | – |
InPlacePodVerticalScalingExclusiveMemory | false | Alpha | 1.34 | – |
InTreePluginPortworxUnregister | false | Alpha | 1.23 | – |
KubeletCrashLoopBackOffMax | false | Alpha | 1.32 | 1.34 |
KubeletCrashLoopBackOffMax | true | Beta | 1.35 | – |
KubeletEnsureSecretPulledImages | false | Alpha | 1.33 | 1.34 |
KubeletEnsureSecretPulledImages | true | Beta | 1.35 | – |
KubeletFineGrainedAuthz | false | Alpha | 1.32 | 1.32 |
KubeletFineGrainedAuthz | true | Beta | 1.33 | – |
KubeletInUserNamespace | false | Alpha | 1.22 | – |
KubeletPodResourcesDynamicResources | false | Alpha | 1.27 | 1.33 |
KubeletPodResourcesDynamicResources | true | Beta | 1.34 | – |
KubeletPodResourcesGet | false | Alpha | 1.27 | 1.33 |
KubeletPodResourcesGet | true | Beta | 1.34 | – |
KubeletPSI | false | Alpha | 1.33 | 1.33 |
KubeletPSI | true | Beta | 1.34 | – |
KubeletSeparateDiskGC | false | Alpha | 1.29 | 1.30 |
KubeletSeparateDiskGC | true | Beta | 1.31 | – |
KubeletServiceAccountTokenForCredentialProviders | false | Alpha | 1.33 | 1.33 |
KubeletServiceAccountTokenForCredentialProviders | true | Beta | 1.34 | – |
ListFromCacheSnapshot | false | Alpha | 1.33 | 1.33 |
ListFromCacheSnapshot | true | Beta | 1.34 | – |
LocalStorageCapacityIsolationFSQuotaMonitoring | false | Alpha | 1.15 | 1.30 |
LocalStorageCapacityIsolationFSQuotaMonitoring | false | Beta | 1.31 | – |
LoggingAlphaOptions | false | Alpha | 1.24 | – |
LoggingBetaOptions | true | Beta | 1.24 | – |
MatchLabelKeysInPodTopologySpread | false | Alpha | 1.25 | 1.26 |
MatchLabelKeysInPodTopologySpread | true | Beta | 1.27 | – |
MatchLabelKeysInPodTopologySpreadSelectorMerge | true | Beta | 1.34 | – |
MaxUnavailableStatefulSet | false | Alpha | 1.24 | 1.34 |
MaxUnavailableStatefulSet | true | Beta | 1.35 | – |
MemoryQoS | false | Alpha | 1.22 | – |
MutableCSINodeAllocatableCount | false | Alpha | 1.33 | 1.33 |
MutableCSINodeAllocatableCount | false | Beta | 1.34 | 1.34 |
MutableCSINodeAllocatableCount | true | Beta | 1.35 | – |
MutablePodResourcesForSuspendedJobs | false | Alpha | 1.35 | – |
MutablePVNodeAffinity | false | Alpha | 1.35 | – |
MutableSchedulingDirectivesForSuspendedJobs | false | Alpha | 1.35 | – |
MutatingAdmissionPolicy | false | Alpha | 1.30 | 1.33 |
MutatingAdmissionPolicy | false | Beta | 1.34 | – |
NodeDeclaredFeatures | false | Alpha | 1.35 | – |
NodeLogQuery | false | Alpha | 1.27 | 1.29 |
NodeLogQuery | false | Beta | 1.30 | – |
NominatedNodeNameForExpectation | false | Alpha | 1.34 | 1.34 |
NominatedNodeNameForExpectation | true | Beta | 1.35 | – |
OpenAPIEnums | false | Alpha | 1.23 | 1.23 |
OpenAPIEnums | true | Beta | 1.24 | – |
OpportunisticBatching | true | Beta | 1.35 | – |
PodAndContainerStatsFromCRI | false | Alpha | 1.23 | – |
PodCertificateRequest | false | Alpha | 1.34 | 1.34 |
PodCertificateRequest | false | Beta | 1.35 | – |
PodDeletionCost | false | Alpha | 1.21 | 1.21 |
PodDeletionCost | true | Beta | 1.22 | – |
PodLevelResources | false | Alpha | 1.32 | 1.33 |
PodLevelResources | true | Beta | 1.34 | – |
PodLogsQuerySplitStreams | false | Alpha | 1.32 | – |
PodReadyToStartContainersCondition | false | Alpha | 1.28 | 1.28 |
PodReadyToStartContainersCondition | true | Beta | 1.29 | – |
PodTopologyLabelsAdmission | false | Alpha | 1.33 | 1.34 |
PodTopologyLabelsAdmission | true | Beta | 1.35 | – |
PortForwardWebsockets | false | Alpha | 1.30 | 1.30 |
PortForwardWebsockets | true | Beta | 1.31 | – |
PreventStaticPodAPIReferences | true | Beta | 1.34 | – |
ProcMountType | false | Alpha | 1.12 | 1.30 |
ProcMountType | false | Beta | 1.31 | 1.32 |
ProcMountType | true | Beta | 1.33 | – |
QOSReserved | false | Alpha | 1.11 | – |
ReduceDefaultCrashLoopBackOffDecay | false | Alpha | 1.33 | – |
RelaxedServiceNameValidation | false | Alpha | 1.34 | – |
ReloadKubeletServerCertificateFile | true | Beta | 1.31 | – |
RemoteRequestHeaderUID | false | Alpha | 1.32 | – |
ResourceHealthStatus | false | Alpha | 1.31 | – |
RestartAllContainersOnContainerExits | false | Alpha | 1.35 | – |
RotateKubeletServerCertificate | false | Alpha | 1.7 | 1.11 |
RotateKubeletServerCertificate | true | Beta | 1.12 | – |
RuntimeClassInImageCriApi | false | Alpha | 1.29 | – |
SchedulerAsyncAPICalls | true | Beta | 1.34 | – |
SchedulerAsyncPreemption | false | Alpha | 1.32 | 1.32 |
SchedulerAsyncPreemption | true | Beta | 1.33 | – |
SchedulerPopFromBackoffQ | true | Beta | 1.33 | – |
SELinuxChangePolicy | false | Alpha | 1.32 | 1.32 |
SELinuxChangePolicy | true | Beta | 1.33 | – |
SELinuxMount | false | Alpha | 1.30 | 1.32 |
SELinuxMount | false | Beta | 1.33 | – |
SELinuxMountReadWriteOncePod | false | Alpha | 1.25 | 1.26 |
SELinuxMountReadWriteOncePod | false | Beta | 1.27 | 1.27 |
SELinuxMountReadWriteOncePod | true | Beta | 1.28 | – |
ServiceAccountNodeAudienceRestriction | false | Beta | 1.32 | 1.32 |
ServiceAccountNodeAudienceRestriction | true | Beta | 1.33 | – |
SizeBasedListCostEstimate | true | Beta | 1.34 | – |
StorageCapacityScoring | false | Alpha | 1.33 | – |
StorageVersionAPI | false | Alpha | 1.20 | – |
StorageVersionHash | false | Alpha | 1.14 | 1.14 |
StorageVersionHash | true | Beta | 1.15 | – |
StorageVersionMigrator | false | Alpha | 1.30 | 1.34 |
StorageVersionMigrator | false | Beta | 1.35 | – |
StrictIPCIDRValidation | false | Alpha | 1.33 | – |
StructuredAuthenticationConfigurationEgressSelector | true | Beta | 1.34 | – |
StructuredAuthenticationConfigurationJWKSMetrics | true | Beta | 1.35 | – |
SupplementalGroupsPolicy | false | Alpha | 1.31 | 1.32 |
SupplementalGroupsPolicy | true | Beta | 1.33 | – |
SystemdWatchdog | true | Beta | 1.32 | – |
TaintTolerationComparisonOperators | false | Alpha | 1.35 | – |
TokenRequestServiceAccountUIDValidation | true | Beta | 1.34 | – |
TopologyManagerPolicyAlphaOptions | false | Alpha | 1.26 | – |
TopologyManagerPolicyBetaOptions | false | Beta | 1.26 | 1.27 |
TopologyManagerPolicyBetaOptions | true | Beta | 1.28 | – |
TranslateStreamCloseWebsocketRequests | false | Alpha | 1.29 | 1.29 |
TranslateStreamCloseWebsocketRequests | true | Beta | 1.30 | – |
UnauthenticatedHTTP2DOSMitigation | false | Beta | 1.28 | 1.28 |
UnauthenticatedHTTP2DOSMitigation | true | Beta | 1.29 | – |
UnknownVersionInteroperabilityProxy | false | Alpha | 1.28 | – |
UserNamespacesHostNetworkSupport | false | Alpha | 1.35 | – |
UserNamespacesSupport | false | Alpha | 1.28 | 1.29 |
UserNamespacesSupport | false | Beta | 1.30 | 1.32 |
UserNamespacesSupport | true | Beta | 1.33 | – |
VolumeLimitScaling | false | Alpha | 1.35 | – |
WatchCacheInitializationPostStartHook | false | Beta | 1.31 | – |
WatchList | false | Alpha | 1.27 | 1.31 |
WatchList | true | Beta | 1.32 | 1.32 |
WatchList | false | Beta | 1.33 | 1.33 |
WatchList | true | Beta | 1.34 | – |
WatchListClient | false | Beta | 1.30 | 1.34 |
WatchListClient | true | Beta | 1.35 | – |
WindowsCPUAndMemoryAffinity | false | Alpha | 1.32 | – |
WindowsGracefulNodeShutdown | false | Alpha | 1.32 | 1.33 |
WindowsGracefulNodeShutdown | true | Beta | 1.34 | – |
功能门控已毕业或已弃用
| 功能 | 默认 | 阶段 | Since | Until |
|---|---|---|---|---|
AllowDNSOnlyNodeCSR | false | 已弃用 | 1.31 | – |
AllowInsecureKubeletCertificateSigningRequests | false | 已弃用 | 1.31 | – |
AnonymousAuthConfigurableEndpoints | false | Alpha | 1.31 | 1.31 |
AnonymousAuthConfigurableEndpoints | true | Beta | 1.32 | 1.33 |
AnonymousAuthConfigurableEndpoints | true | GA | 1.34 | – |
AnyVolumeDataSource | false | Alpha | 1.18 | 1.23 |
AnyVolumeDataSource | true | Beta | 1.24 | 1.32 |
AnyVolumeDataSource | true | GA | 1.33 | – |
APIServerTracing | false | Alpha | 1.22 | 1.26 |
APIServerTracing | true | Beta | 1.27 | 1.33 |
APIServerTracing | true | GA | 1.34 | – |
AuthorizeNodeWithSelectors | false | Alpha | 1.31 | 1.31 |
AuthorizeNodeWithSelectors | true | Beta | 1.32 | 1.33 |
AuthorizeNodeWithSelectors | true | GA | 1.34 | – |
AuthorizeWithSelectors | false | Alpha | 1.31 | 1.31 |
AuthorizeWithSelectors | true | Beta | 1.32 | 1.33 |
AuthorizeWithSelectors | true | GA | 1.34 | – |
BtreeWatchCache | true | Beta | 1.32 | 1.32 |
BtreeWatchCache | true | GA | 1.33 | – |
ChangeContainerStatusOnKubeletRestart | false | 已弃用 | 1.35 | – |
ConsistentListFromCache | false | Alpha | 1.28 | 1.30 |
ConsistentListFromCache | true | Beta | 1.31 | 1.33 |
ConsistentListFromCache | true | GA | 1.34 | – |
CPUManagerPolicyOptions | false | Alpha | 1.22 | 1.22 |
CPUManagerPolicyOptions | true | Beta | 1.23 | 1.32 |
CPUManagerPolicyOptions | true | GA | 1.33 | – |
CRDValidationRatcheting | false | Alpha | 1.28 | 1.29 |
CRDValidationRatcheting | true | Beta | 1.30 | 1.32 |
CRDValidationRatcheting | true | GA | 1.33 | – |
CronJobsScheduledAnnotation | true | Beta | 1.28 | 1.31 |
CronJobsScheduledAnnotation | true | GA | 1.32 | – |
CSIMigrationPortworx | false | Alpha | 1.23 | 1.24 |
CSIMigrationPortworx | false | Beta | 1.25 | 1.30 |
CSIMigrationPortworx | true | Beta | 1.31 | 1.32 |
CSIMigrationPortworx | true | GA | 1.33 | – |
CustomResourceFieldSelectors | false | Alpha | 1.30 | 1.30 |
CustomResourceFieldSelectors | true | Beta | 1.31 | 1.31 |
CustomResourceFieldSelectors | true | GA | 1.32 | – |
DisableAllocatorDualWrite | false | Alpha | 1.31 | 1.32 |
DisableAllocatorDualWrite | false | Beta | 1.33 | 1.33 |
DisableAllocatorDualWrite | true | GA | 1.34 | – |
DisableNodeKubeProxyVersion | false | Alpha | 1.29 | 1.30 |
DisableNodeKubeProxyVersion | true | Beta | 1.31.0 | 1.31.0 |
DisableNodeKubeProxyVersion | false | 已弃用 | 1.31.1 | – |
DisableNodeKubeProxyVersion | false | 已弃用 | 1.32 | 1.32 |
DisableNodeKubeProxyVersion | true | 已弃用 | 1.33 | – |
DynamicResourceAllocation | false | Alpha | 1.30 | 1.31 |
DynamicResourceAllocation | false | Beta | 1.32 | 1.33 |
DynamicResourceAllocation | true | GA | 1.34 | 1.34 |
DynamicResourceAllocation | true | GA | 1.35 | – |
ElasticIndexedJob | true | Beta | 1.27 | 1.30 |
ElasticIndexedJob | true | GA | 1.31 | – |
ExecProbeTimeout | true | GA | 1.20 | – |
GitRepoVolumeDriver | false | 已弃用 | 1.33 | – |
HonorPVReclaimPolicy | false | Alpha | 1.23 | 1.30 |
HonorPVReclaimPolicy | true | Beta | 1.31 | 1.32 |
HonorPVReclaimPolicy | true | GA | 1.33 | – |
ImageMaximumGCAge | false | Alpha | 1.29 | 1.29 |
ImageMaximumGCAge | true | Beta | 1.30 | 1.34 |
ImageMaximumGCAge | true | GA | 1.35 | – |
InformerResourceVersion | false | Alpha | 1.30 | 1.34 |
InformerResourceVersion | true | GA | 1.35 | – |
InPlacePodVerticalScaling | false | Alpha | 1.27 | 1.32 |
InPlacePodVerticalScaling | true | Beta | 1.33 | 1.34 |
InPlacePodVerticalScaling | true | GA | 1.35 | – |
InPlacePodVerticalScalingAllocatedStatus | false | Alpha | 1.32 | 1.32 |
InPlacePodVerticalScalingAllocatedStatus | false | 已弃用 | 1.33 | – |
JobBackoffLimitPerIndex | false | Alpha | 1.28 | 1.28 |
JobBackoffLimitPerIndex | true | Beta | 1.29 | 1.32 |
JobBackoffLimitPerIndex | true | GA | 1.33 | – |
JobManagedBy | false | Alpha | 1.30 | 1.31 |
JobManagedBy | true | Beta | 1.32 | 1.34 |
JobManagedBy | true | GA | 1.35 | – |
JobPodReplacementPolicy | false | Alpha | 1.28 | 1.28 |
JobPodReplacementPolicy | true | Beta | 1.29 | 1.33 |
JobPodReplacementPolicy | true | GA | 1.34 | – |
JobSuccessPolicy | false | Alpha | 1.30 | 1.30 |
JobSuccessPolicy | true | Beta | 1.31 | 1.32 |
JobSuccessPolicy | true | GA | 1.33 | – |
KMSv1 | true | 已弃用 | 1.28 | 1.28 |
KMSv1 | false | 已弃用 | 1.29 | – |
KubeletCgroupDriverFromCRI | false | Alpha | 1.28 | 1.30 |
KubeletCgroupDriverFromCRI | true | Beta | 1.31 | – |
KubeletCgroupDriverFromCRI | true | GA | 1.34 | – |
KubeletTracing | false | Alpha | 1.25 | 1.26 |
KubeletTracing | true | Beta | 1.27 | 1.33 |
KubeletTracing | true | GA | 1.34 | – |
LogarithmicScaleDown | false | Alpha | 1.21 | 1.21 |
LogarithmicScaleDown | true | Beta | 1.22 | 1.30 |
LogarithmicScaleDown | true | GA | 1.31 | – |
MatchLabelKeysInPodAffinity | false | Alpha | 1.29 | 1.30 |
MatchLabelKeysInPodAffinity | true | Beta | 1.31 | 1.32 |
MatchLabelKeysInPodAffinity | true | GA | 1.33 | – |
MemoryManager | false | Alpha | 1.21 | 1.21 |
MemoryManager | true | Beta | 1.22 | 1.31 |
MemoryManager | true | GA | 1.32 | – |
MultiCIDRServiceAllocator | false | Alpha | 1.27 | 1.30 |
MultiCIDRServiceAllocator | false | Beta | 1.31 | 1.32 |
MultiCIDRServiceAllocator | true | GA | 1.33 | – |
NFTablesProxyMode | false | Alpha | 1.29 | 1.30 |
NFTablesProxyMode | true | Beta | 1.31 | 1.32 |
NFTablesProxyMode | true | GA | 1.33 | – |
NodeInclusionPolicyInPodTopologySpread | false | Alpha | 1.25 | 1.25 |
NodeInclusionPolicyInPodTopologySpread | true | Beta | 1.26 | 1.32 |
NodeInclusionPolicyInPodTopologySpread | true | GA | 1.33 | – |
NodeSwap | false | Alpha | 1.22 | 1.27 |
NodeSwap | false | Beta | 1.28 | 1.29 |
NodeSwap | true | Beta | 1.30 | 1.33 |
NodeSwap | true | GA | 1.34 | – |
OrderedNamespaceDeletion | false | Beta | 1.30 | 1.32 |
OrderedNamespaceDeletion | true | Beta | 1.33 | 1.33 |
OrderedNamespaceDeletion | true | GA | 1.34 | – |
PodIndexLabel | true | Beta | 1.28 | 1.31 |
PodIndexLabel | true | GA | 1.32 | – |
PodLifecycleSleepAction | false | Alpha | 1.29 | 1.29 |
PodLifecycleSleepAction | true | Beta | 1.30 | 1.33 |
PodLifecycleSleepAction | true | GA | 1.34 | – |
PodLifecycleSleepActionAllowZero | false | Alpha | 1.32 | 1.32 |
PodLifecycleSleepActionAllowZero | true | Beta | 1.33 | 1.33 |
PodLifecycleSleepActionAllowZero | true | GA | 1.34 | – |
PodObservedGenerationTracking | false | Alpha | 1.33 | 1.33 |
PodObservedGenerationTracking | true | Beta | 1.34 | 1.34 |
PodObservedGenerationTracking | true | GA | 1.35 | – |
PodSchedulingReadiness | false | Alpha | 1.26 | 1.26 |
PodSchedulingReadiness | true | Beta | 1.27 | 1.29 |
PodSchedulingReadiness | true | GA | 1.30 | – |
PreferSameTrafficDistribution | false | Alpha | 1.33 | 1.33 |
PreferSameTrafficDistribution | true | Beta | 1.34 | 1.34 |
PreferSameTrafficDistribution | true | GA | 1.35 | – |
RecoverVolumeExpansionFailure | false | Alpha | 1.23 | 1.31 |
RecoverVolumeExpansionFailure | true | Beta | 1.32 | 1.33 |
RecoverVolumeExpansionFailure | true | GA | 1.34 | – |
RecursiveReadOnlyMounts | false | Alpha | 1.30 | 1.30 |
RecursiveReadOnlyMounts | true | Beta | 1.31 | 1.32 |
RecursiveReadOnlyMounts | true | GA | 1.33 | – |
RelaxedDNSSearchValidation | false | Alpha | 1.32 | 1.32 |
RelaxedDNSSearchValidation | true | Beta | 1.33 | 1.33 |
RelaxedDNSSearchValidation | true | GA | 1.34 | – |
RelaxedEnvironmentVariableValidation | false | Alpha | 1.30 | 1.31 |
RelaxedEnvironmentVariableValidation | true | Beta | 1.32 | 1.33 |
RelaxedEnvironmentVariableValidation | true | GA | 1.34 | – |
ResilientWatchCacheInitialization | true | Beta | 1.31 | 1.33 |
ResilientWatchCacheInitialization | true | GA | 1.34 | – |
RetryGenerateName | false | Alpha | 1.30 | 1.30 |
RetryGenerateName | true | Beta | 1.31 | 1.31 |
RetryGenerateName | true | GA | 1.32 | – |
SchedulerQueueingHints | true | Beta | 1.28 | 1.28 |
SchedulerQueueingHints | false | Beta | 1.29 | 1.31 |
SchedulerQueueingHints | true | Beta | 1.32 | 1.33 |
SchedulerQueueingHints | true | GA | 1.34 | – |
SeparateCacheWatchRPC | true | Beta | 1.28 | 1.32 |
SeparateCacheWatchRPC | false | 已弃用 | 1.33 | – |
SeparateTaintEvictionController | true | Beta | 1.29 | 1.33 |
SeparateTaintEvictionController | true | GA | 1.34 | – |
ServiceAccountTokenJTI | false | Alpha | 1.29 | 1.29 |
ServiceAccountTokenJTI | true | Beta | 1.30 | 1.31 |
ServiceAccountTokenJTI | true | GA | 1.32 | – |
ServiceAccountTokenNodeBinding | false | Alpha | 1.29 | 1.30 |
ServiceAccountTokenNodeBinding | true | Beta | 1.31 | 1.32 |
ServiceAccountTokenNodeBinding | true | GA | 1.33 | – |
ServiceAccountTokenNodeBindingValidation | false | Alpha | 1.29 | 1.29 |
ServiceAccountTokenNodeBindingValidation | true | Beta | 1.30 | 1.31 |
ServiceAccountTokenNodeBindingValidation | true | GA | 1.32 | – |
ServiceAccountTokenPodNodeInfo | false | Alpha | 1.29 | 1.29 |
ServiceAccountTokenPodNodeInfo | true | Beta | 1.30 | 1.31 |
ServiceAccountTokenPodNodeInfo | true | GA | 1.32 | – |
ServiceTrafficDistribution | false | Alpha | 1.30 | 1.30 |
ServiceTrafficDistribution | true | Beta | 1.31 | 1.32 |
ServiceTrafficDistribution | true | GA | 1.33 | – |
SidecarContainers | false | Alpha | 1.28 | 1.28 |
SidecarContainers | true | Beta | 1.29 | 1.32 |
SidecarContainers | true | GA | 1.33 | – |
StatefulSetAutoDeletePVC | false | Alpha | 1.23 | 1.26 |
StatefulSetAutoDeletePVC | true | Beta | 1.27 | 1.31 |
StatefulSetAutoDeletePVC | true | GA | 1.32 | – |
StatefulSetStartOrdinal | false | Alpha | 1.26 | 1.26 |
StatefulSetStartOrdinal | true | Beta | 1.27 | 1.30 |
StatefulSetStartOrdinal | true | GA | 1.31 | – |
StorageNamespaceIndex | true | Beta | 1.30 | 1.32 |
StorageNamespaceIndex | true | 已弃用 | 1.33 | – |
StreamingCollectionEncodingToJSON | true | Beta | 1.33 | 1.33 |
StreamingCollectionEncodingToJSON | true | GA | 1.34 | – |
StreamingCollectionEncodingToProtobuf | true | Alpha | 1.33 | 1.33 |
StreamingCollectionEncodingToProtobuf | true | GA | 1.34 | – |
StrictCostEnforcementForVAP | false | Beta | 1.30 | 1.31 |
StrictCostEnforcementForVAP | true | GA | 1.32 | – |
StrictCostEnforcementForWebhooks | false | Beta | 1.31 | 1.31 |
StrictCostEnforcementForWebhooks | true | GA | 1.32 | – |
StructuredAuthenticationConfiguration | false | Alpha | 1.29 | 1.29 |
StructuredAuthenticationConfiguration | true | Beta | 1.30 | 1.33 |
StructuredAuthenticationConfiguration | true | GA | 1.34 | – |
StructuredAuthorizationConfiguration | false | Alpha | 1.29 | 1.29 |
StructuredAuthorizationConfiguration | true | Beta | 1.30 | 1.31 |
StructuredAuthorizationConfiguration | true | GA | 1.32 | – |
TopologyAwareHints | false | Alpha | 1.21 | 1.22 |
TopologyAwareHints | false | Beta | 1.23 | 1.23 |
TopologyAwareHints | true | Beta | 1.24 | 1.32 |
TopologyAwareHints | true | GA | 1.33 | – |
TopologyManagerPolicyOptions | false | Alpha | 1.26 | 1.27 |
TopologyManagerPolicyOptions | true | Beta | 1.28 | 1.31 |
TopologyManagerPolicyOptions | true | GA | 1.32 | – |
VolumeAttributesClass | false | Alpha | 1.29 | 1.30 |
VolumeAttributesClass | false | Beta | 1.31 | 1.33 |
VolumeAttributesClass | true | GA | 1.34 | – |
WatchFromStorageWithoutResourceVersion | false | Beta | 1.30 | 1.32 |
WatchFromStorageWithoutResourceVersion | false | 已弃用 | 1.33 | – |
WindowsHostNetwork | true | Alpha | 1.26 | 1.32 |
WindowsHostNetwork | false | 已弃用 | 1.33 | – |
WinDSR | false | Alpha | 1.14 | 1.32 |
WinDSR | true | Beta | 1.33 | 1.33 |
WinDSR | true | GA | 1.34 | – |
WinOverlay | false | Alpha | 1.14 | 1.19 |
WinOverlay | true | Beta | 1.20 | 1.33 |
WinOverlay | true | GA | 1.34 | – |
使用一项功能
功能阶段
一项功能可能处于Alpha、Beta 或 GA 阶段。Alpha 功能意味着
- 默认禁用。
- 可能存在错误。启用该功能可能会暴露错误。
- 支持该功能可能会随时在未事先通知的情况下停止。
- API 可能会在后续软件版本中以不兼容的方式更改,恕不另行通知。
- 由于错误风险增加且缺乏长期支持,建议仅在短期的测试集群中使用。
Beta 功能意味着
- 通常默认启用。Beta API 组默认禁用。
- 该功能经过了充分测试。启用该功能被认为是安全的。
- 将不会停止对该功能的整体支持,但细节可能会发生变化。
- 对象模式和/或语义可能会在后续的 Beta 或稳定版本中以不兼容的方式更改。当发生这种情况时,我们将提供迁移到下一个版本的说明。这可能需要删除、编辑和重新创建 API 对象。编辑过程可能需要一些思考。这可能会导致依赖该功能的应用程序停机。
- 建议仅用于非关键业务用途,因为后续版本中可能存在不兼容的更改。如果您有可以独立升级的多个集群,则可以放宽此限制。
说明
请尝试Beta 功能并提供反馈!在它们退出 Beta 之后,我们可能无法再进行更多更改。通用可用性 (GA) 功能也称为稳定功能。这意味着
- 该功能始终启用;您无法禁用它。
- 相应的功能门不再需要。
- 功能的稳定版本将出现在许多后续版本的已发布软件中。
功能门列表
每个功能门都设计用于启用/禁用特定功能。
AllowDNSOnlyNodeCSR允许 kubelet 仅使用 DNS 名称请求证书,而无需任何节点 IP 可用。
AllowInsecureKubeletCertificateSigningRequests禁用 kubelet 签名程序的 CertificateSigningRequests 节点准入验证。除非您禁用此功能门,否则 Kubernetes 会强制执行新的 kubelet 证书具有与
system:node:$nodeName匹配的commonName。AllowParsingUserUIDFromCertAuth当此功能启用时,X.509 证书中的主题名称属性
1.3.6.1.4.1.57683.2将在证书身份验证期间解析为用户 UID。AllowUnsafeMalformedObjectDeletion使集群操作员能够使用 list 操作识别损坏的资源,并引入一个选项
ignoreStoreReadErrorWithClusterBreakingPotential,操作员可以设置为使用 Kubernetes API 执行不安全且强制 delete 操作以删除此类损坏的资源。AnonymousAuthConfigurableEndpointsAnyVolumeDataSource启用将任何自定义资源用作 PVC 的
DataSource。APIResponseCompression压缩
LIST或GET请求的 API 响应。APIServerIdentity使用 Lease 为集群中的每个 API 服务器分配一个 ID。
APIServerTracing为 API 服务器添加分布式跟踪的支持。有关更多详细信息,请参阅 Kubernetes 系统组件的跟踪。
APIServingWithRoutine此功能门启用 API 服务器性能改进:API 服务器可以使用单独的 goroutine(Go 运行时管理的轻量级线程)来服务 watch 请求。
AuthorizeNodeWithSelectors使 Node authorizer 使用细粒度的选择器授权。
AuthorizePodWebsocketUpgradeCreatePermission当
AuthorizePodWebsocketUpgradeCreatePermission功能门为true时,客户端即使在使用 WebSocket 触发其创建时也必须被授权创建 Pod 子资源。连接升级请求发生在以下每个子资源:
pods/exec、pods/attach和pods/portforward。此功能门修复了一个安全漏洞,该漏洞是由协议转换引起的:虽然 SPDY 请求使用 HTTPPOST(自然符合 create RBAC 权限),但 WebSocket 协议需要 HTTPGET请求来进行握手。为了纠正此缺陷,现在应用了合成 RBAC 检查,以确保 WebSocket 升级严格执行 create 权限,与现有的 SPDY 安全模型相匹配。如果您有依赖于先前行为的现有客户端或自定义工具,则可能需要禁用此功能门——特别是,如果它们通过 WebSocket 连接但当前不拥有 create RBAC 权限。
AuthorizeWithSelectors允许授权使用字段和标签选择器。启用 SubjectAccessReview API 中的
fieldSelector和labelSelector字段,将字段和标签选择器信息传递给 授权 webhook,启用 authorizer CEL library 中的fieldSelector和labelSelector函数,并启用在 授权 webhookmatchConditions中检查fieldSelector和labelSelector字段。BtreeWatchCache启用后,API 服务器将用基于 BTree 的实现替换遗留的 HashMap-based watch cache。此替换可能会带来性能改进。
CBORServingAndStorage启用 CBOR 作为 支持的请求和响应编码,以及作为自定义资源的 preferred 存储编码。
ChangeContainerStatusOnKubeletRestart启用在 kubelet 检测到 重启 后更新容器
ready状态的遗留写入。引入此功能门是为了允许您恢复到先前使用的默认行为。如果您对默认行为感到满意,则无需启用此功能门。
ClearingNominatedNodeNameAfterBinding启用在 Pod 绑定到节点时清除
.status.nominatedNodeName。CloudControllerManagerWatchBasedRoutesReconciliation在 cloud-controller-manager 库中启用基于 watch 的路由协调机制(而不是以固定间隔进行协调)。
CloudControllerManagerWebhook启用云控制器管理器中的 webhook。
ClusterTrustBundle启用 ClusterTrustBundle 对象和 kubelet 集成。
ClusterTrustBundleProjectionComponentFlagz启用组件的 flagz 端点。有关更多信息,请参阅 zpages。
ComponentStatusz启用组件的 statusz 端点。有关更多信息,请参阅 zpages。
ConcurrentWatchObjectDecode启用并发 watch 对象解码。这是为了避免安装转换 webhook 时使 API 服务器的 watch cache 饥饿。
ConsistentListFromCache通过直接从其 watch cache 提供一致的 list 请求来增强 Kubernetes API 服务器性能,从而提高可伸缩性和响应时间。为了从缓存提供一致的列表,Kubernetes 需要较新的 etcd 版本 (v3.4.31+ 或 v3.5.13+),其中包含对 watch 进度请求功能的修复。如果提供了较旧的 etcd 版本,Kubernetes 将自动检测它并回退到从 etcd 提供一致的读取。进度通知可确保 watch cache 与 etcd 一致,同时减少对 etcd 的资源密集型仲裁读取的需求。
有关更多详细信息,请参阅 Kubernetes 文档中的 get 和 list 的语义。
ConstrainedImpersonation启用仅限于特定请求的 impersonation,而不是全部或无。
ContainerCheckpoint启用 kubelet
checkpointAPI。有关更多详细信息,请参阅 Kubelet Checkpoint API。ContainerRestartRules启用配置容器级别的重启策略和重启规则。有关更多详细信息,请参阅 容器重启策略和规则。
ContainerStopSignals启用使用 StopSignal 生命周期来配置自定义停止信号,容器将使用这些信号停止。
ContextualLogging启用支持上下文日志记录的 Kubernetes 组件的日志输出中的额外详细信息。
CoordinatedLeaderElection启用支持 LeaseCandidate API 的行为,并为 Kubernetes 控制平面启用确定性的协调领导者选举。
CPUManagerPolicyAlphaOptions这允许对 CPUManager 策略进行微调,实验性、Alpha 质量选项。此功能门永远不会升级到 Beta 或稳定版。
CPUManagerPolicyBetaOptions这允许对 CPUManager 策略进行微调,实验性、Beta 质量选项。此功能门永远不会升级到稳定版。
CPUManagerPolicyOptions允许对 CPUManager 策略进行微调。
CRDObservedGenerationTracking允许跟踪 CRD 条件中的 observed generation。设置为 false 将导致 CRD 条件中的 observed generation 被清除。
CRDValidationRatcheting启用对自定义资源的更新,即使它们违反了其 OpenAPI 模式,如果资源更新的违规部分未更改。有关更多详细信息,请参阅 验证 Ratcheting。
CronJobsScheduledAnnotation将计划作业时间设置为 CronJob 代表创建的 Job 上的 annotation。
CrossNamespaceVolumeDataSource启用使用跨命名空间卷数据源,允许您在 PersistentVolumeClaim 的
dataSourceRef字段中指定源命名空间。CSIMigrationPortworx启用 shim 和转换逻辑,将来自 Portworx in-tree 插件的卷操作路由到 Portworx CSI 插件。要求 Portworx CSI 驱动程序已安装并配置在集群中。
CSIServiceAccountTokenSecrets启用 CSI 驱动程序选择加入通过专用的 secrets 字段从 kubelet 接收服务帐户令牌,而不是 volume_context 字段。
CSIVolumeHealth启用节点上的 CSI 卷健康状况监控。
CustomCPUCFSQuotaPeriod启用节点更改
cpuCFSQuotaPeriod在 kubelet 配置 中的功能。CustomResourceFieldSelectors启用 CustomResourceDefinition API 中的
selectableFields,以允许过滤自定义资源 列表、监控 和 批量删除 请求。DeclarativeValidation启用对树内 Kubernetes API 的声明式验证。启用后,具有声明式验证规则(使用 Go 代码中的 IDL 标签定义)的 API 将执行生成的声明式验证代码和原始手工编写的验证代码。比较结果,并通过
declarative_validation_mismatch_total指标报告任何差异。仅将手工编写的验证结果返回给用户(例如,实际在请求路径中进行验证)。即使启用此功能,原始手工编写的验证仍然是权威验证,但如果同时启用 DeclarativeValidationTakeover 功能门,则可以更改此行为。此功能门仅在 kube-apiserver 上运行。DeclarativeValidationTakeover当启用
DeclarativeValidation功能门时,声明式验证错误将直接返回给调用者,替换掉具有声明式实现的规则的手工编写的验证错误。当禁用(且DeclarativeValidation启用)时,始终返回手工编写的验证错误,有效地将声明式验证置于 不匹配验证模式,该模式会监控但不影响 API 响应。此 不匹配验证模式 允许监控declarative_validation_mismatch_total和declarative_validation_panic_total指标,这些是更安全推出的实现细节,普通用户无需直接与其交互。此功能门仅在 kube-apiserver 上运行。注意:虽然声明式验证旨在与手工编写的验证在功能上等效,但两种方法之间的错误消息描述可能不同。DeploymentReplicaSetTerminatingReplicas在 Deployment 和 ReplicaSet 中启用一个新的状态字段
.status.terminatingReplicas,以允许跟踪正在终止的 Pod。DetectCacheInconsistency启用 API 服务器中的缓存不一致性检测。
DisableAllocatorDualWrite您可以启用
MultiCIDRServiceAllocator功能门。API 服务器支持从旧的位图 ClusterIP 分配器迁移到新的 IPAddress 分配器。API 服务器在两个分配器上执行双写操作。此功能门禁用对新的 Cluster IP 分配器的双写操作;如果您已完成迁移的相应阶段,则可以启用此功能门。
DisableCPUQuotaWithExclusiveCPUs当启用
DisableCPUQuotaWithExclusiveCPUs功能门(默认情况下启用)时,Kubernetes 不会为使用 Guaranteed QoS 类 的 Pod 强制执行 CPU 配额。您可以禁用
DisableCPUQuotaWithExclusiveCPUs功能门以恢复旧行为。DisableNodeKubeProxyVersion禁用设置 Node 的
kubeProxyVersion字段。DRAAdminAccess启用在 ResourceClaim 或 ResourceClaimTemplate 中请求 admin 访问权限 的支持。Admin 访问权限授予对正在使用的设备的访问权限,并且可能在将设备提供给容器时启用额外的权限。从 Kubernetes v1.33 开始,只有被授权在标记为
resource.kubernetes.io/admin-access: "true"(区分大小写)的命名空间中创建 ResourceClaim 或 ResourceClaimTemplate 对象的用户才能使用adminAccess字段。这确保了非管理员用户无法滥用此功能。从 Kubernetes v1.34 开始,此标签已更新为resource.kubernetes.io/admin-access: "true"。DRAConsumableCapacity启用跨多个 ResourceClaim 或请求共享设备的支持。
此外,如果设备支持共享,则可以通过定义的共享策略来管理其资源(容量)。
DRADeviceBindingConditions启用在 DRA 相关字段中对 DeviceBindingConditions 的支持。这允许在 Bind 阶段之前进行彻底的设备就绪检查和附加过程。
DRADeviceTaintRules启用使用动态资源分配来管理设备时,通过 DeviceTaintRule 对象对设备进行标记 的支持。
除非您还启用
DRADeviceTaint功能门,否则此功能门无效。DRADeviceTaints启用使用动态资源分配来管理设备时,对设备进行标记并选择性地容忍这些标记的支持。
DRAExtendedResource启用通过 DRA 进行 扩展资源分配 功能的支持。它使得能够在 DeviceClass 中指定扩展资源名称。
DRAPartitionableDevices启用请求 DRA 的 可分区设备 的支持。这让驱动程序可以通告映射到物理设备相同资源的多个设备。
DRAPrioritizedList启用 优先列表 功能。它使得能够在 ResourceClaim 中的请求中指定子请求的优先列表。
DRAResourceClaimDeviceStatus启用 ResourceClaim.status.devices 字段的支持,并允许 DRA 驱动程序设置此状态。这需要启用
DynamicResourceAllocation功能门。DRASchedulerFilterTimeout启用在调度器中,在达到一定时间(默认情况下为 10 秒,可以在 DynamicResources 调度器插件配置中配置)后中止每个节点的过滤操作。
DynamicResourceAllocation启用对具有自定义参数且生命周期独立于 Pod 的资源的的支持。资源的分配由 Kubernetes 调度器基于“结构化参数”处理。
ElasticIndexedJob启用索引 Jobs 的扩展或缩减,方法是同时更改
spec.completions和spec.parallelism,使得spec.completions == spec.parallelism。有关更多详细信息,请参阅有关 弹性索引 Jobs 的文档。EnvFiles支持通过文件定义容器的环境变量值。有关更多详细信息,请参阅 使用 Init 容器定义环境变量值。
EventedPLEG启用 kubelet 接收来自 容器运行时 通过对 CRI 的扩展的容器生命周期事件的支持。(PLEG 是“Pod 生命周期事件生成器”的缩写)。要使此功能有用,您还需要在集群中运行的每个容器运行时中启用对容器生命周期事件的支持。如果容器运行时未通告对容器生命周期事件的支持,则 kubelet 即使启用了此功能门,也会自动切换到旧的通用 PLEG 机制。
ExecProbeTimeout确保 kubelet 尊重 exec probe 超时时间。此功能门存在于您现有的工作负载依赖于现在已更正的 Kubernetes 忽略 exec probe 超时时间的错误的情况下。请参阅 就绪探测。
ExternalServiceAccountTokenSigner启用设置
--service-account-signing-endpoint,以使 kube-apiserver 使用 外部签名者 进行令牌签名和令牌验证密钥管理。GangScheduling启用 kube-scheduler 中的 GangScheduling 插件,该插件实现了“全有或全无”调度算法。 Workload API 用于表达需求。
GenericWorkload启用对 Workload API 的支持,以便在工作负载级别表达调度需求。
启用后,Pod 可以引用特定的 Pod 组并使用它来影响其调度方式。
GitRepoVolumeDriver这控制是否支持
gitRepo卷插件。从 v1.33 版本开始,gitRepo卷插件默认禁用。这为用户提供了一种启用它的方法。GracefulNodeShutdown启用 kubelet 中的平滑关机支持。在系统关机期间,kubelet 将尝试检测关机事件并平滑地终止节点上运行的 Pod。有关更多详细信息,请参阅 平滑节点关机。
GracefulNodeShutdownBasedOnPodPriority启用 kubelet 在平滑关机节点时检查 Pod 优先级。
HonorPVReclaimPolicy无论 PV-PVC 删除顺序如何,都允许设置持久卷回收策略为
Delete。有关更多详细信息,请查看 持久卷删除保护 finalizer 文档。HostnameOverride允许将任何 FQDN 设置为 Pod 的主机名。
HPAConfigurableTolerance启用为 HorizontalPodAutoscaler 指标设置 容忍度阈值。
HPAScaleToZero启用在自定义或外部指标使用时,将
minReplicas设置为 0 以供HorizontalPodAutoscaler资源使用。ImageMaximumGCAge启用 kubelet 配置字段
imageMaximumGCAge,允许管理员指定图像将被垃圾回收的年龄。ImageVolume允许在 Pod 中使用
image卷源。此卷源允许您将容器镜像作为只读卷挂载。InformerResourceVersion允许客户端使用 informer 的
LastSyncResourceVersion()调用,使它们能够根据当前资源版本执行操作。禁用时,LastSyncResourceVersion()成功但返回一个空字符串。用于 kube-controller-manager 的 StorageVersionMigration。InOrderInformers强制 informer 以顺序方式传递 watch stream 事件,而不是乱序传递。
InPlacePodLevelResourcesVerticalScaling启用 Pod 的就地垂直缩放资源(例如,更改正在运行的 Pod 的 Pod 级别 CPU 或内存请求/限制,而无需重新启动它)。有关详细信息,请参阅有关 就地 Pod 级别资源垂直缩放 的文档。
InPlacePodVerticalScaling启用就地 Pod 垂直缩放。
InPlacePodVerticalScalingAllocatedStatus启用容器状态中的
allocatedResources字段。此功能需要同时启用InPlacePodVerticalScaling门控。InPlacePodVerticalScalingExclusiveCPUs启用具有整数 CPU 请求的 Guaranteed Pod 的资源调整大小。它仅适用于启用
InPlacePodVerticalScaling和CPUManager功能且 CPUManager 策略设置为static的节点。InPlacePodVerticalScalingExclusiveMemory允许在内存管理器策略设置为
"Static"时,为 Guaranteed Pods 中的容器调整资源大小。仅适用于启用 InPlacePodVerticalScaling 和内存管理器功能的节点。InTreePluginPortworxUnregister停止在 kubelet 和卷控制器中注册 Portworx 内置插件。
JobBackoffLimitPerIndex允许为 Indexed jobs 中的每个索引指定最大 Pod 重试次数。
JobManagedBy允许将 Job 对象的协调工作委托给外部控制器。
JobPodReplacementPolicy允许为即将终止的 Pod 指定 Pod 替换,在 Job 中。
JobSuccessPolicy允许用户根据已成功 Pod 的集合指定 Job 何时可以声明为已成功。
KMSv1启用静态加密的 KMS v1 API。有关更多详细信息,请参阅 使用 KMS 提供程序进行数据加密。
KubeletCgroupDriverFromCRI启用 kubelet 从 CRI 中检测 cgroup 驱动程序配置选项。此特性门限现在对所有集群都已启用。但是,它仅适用于具有支持
RuntimeConfigCRI 调用的 CRI 容器运行时的节点。如果 CRI 支持此功能,kubelet 将忽略cgroupDriver配置设置(或已弃用的--cgroup-driver命令行参数)。如果容器运行时不支持此功能,kubelet 将回退到使用cgroupDriver配置设置配置的驱动程序。在 Kubernetes 1.36 中,kubelet 将停止回退到此配置。因此,用户必须将其 CRI 容器运行时升级到支持RuntimeConfigCRI 调用的版本。管理员可以使用指标kubelet_cri_losing_support来查看集群中是否有任何节点将在 1.36 中失去支持。以下 CRI 版本支持此 CRI 调用- containerd:支持已添加到 v2.0.0
- CRI-O:支持已添加到 v1.28.0
有关更多详细信息,请参阅 配置 cgroup 驱动程序。
KubeletCrashLoopBackOffMax启用对
CrashLoopBackOff状态下重启容器的每节点回退最大值的可配置支持。有关更多详细信息,请查看 kubelet 配置文件 中的crashLoopBackOff.maxContainerRestartPeriod字段。KubeletEnsureSecretPulledImages确保请求镜像的 Pod 有权使用提供的凭据访问镜像,即使镜像已存在于节点上。请参阅 确保镜像拉取凭据验证。
KubeletFineGrainedAuthz启用 kubelet HTTP(s) API 的 细粒度授权。
KubeletInUserNamespace启用支持在 用户命名空间 中运行 kubelet。请参阅 以非 root 用户身份运行 Kubernetes 节点组件。
KubeletPodResourcesDynamicResources扩展 kubelet 的 Pod 资源监控 gRPC API 端点 List 和 Get,以包含通过 动态资源分配 在 ResourceClaims 中分配的资源。
以下是 GPU 指标的示例,用于展示此 API 如何被 NVIDIA dcgm-exporter 消耗以收集由 NVIDIA DRA 驱动程序 分配的每个 Pod GPU 指标
DCGM_FI_PROF_PCIE_RX_BYTES{gpu="0",UUID="GPU-a4f34abc-7715-3560-dcea-7238b9611a45",pci_bus_id="00000009:01:00.0",device="nvidia0",modelName="NVIDIA GH200 96GB HBM3",Hostname="sc-starwars-xxxx",container="ctr",dra_claim_name="single-gpu",dra_claim_namespace="gpu-test3",dra_device_name="gpu-0",dra_driver_name="gpu.nvidia.com",dra_pool_name="sc-starwars-xxxx",namespace="gpu-test3",pod="pod1"} 23792DCGM_FI_PROF_PCIE_RX_BYTES{gpu="0",UUID="GPU-a4f34abc-7715-3560-dcea-7238b9611a45",pci_bus_id="00000009:01:00.0",device="nvidia0",modelName="NVIDIA GH200 96GB HBM3",Hostname="sc-starwars-xxxx",container="ctr",dra_claim_name="single-gpu",dra_claim_namespace="gpu-test3",dra_device_name="gpu-0",dra_driver_name="gpu.nvidia.com",dra_pool_name="sc-starwars-xxxx",namespace="gpu-test3",pod="pod2"} 23792
with Pod DRA info:
container="ctr", dra_claim_name="single-gpu", dra_claim_namespace="gpu-test3", dra_device_name="gpu-0",dra_driver_name="gpu.nvidia.com", dra_pool_name="sc-starwars-xxxx", namespace="gpu-test3", pod="pod1"KubeletPodResourcesGet启用 kubelet 的 Pod 资源的
GetgRPC 端点。此 API 增强了 资源分配报告。KubeletPSI启用 kubelet 在 Summary API 和 Prometheus 指标中公开压力失速信息 (PSI) 指标。
KubeletSeparateDiskGC拆分镜像文件系统功能使 kubelet 能够对部署在单独文件系统上的镜像(只读层)和/或容器(可写层)执行垃圾回收。
KubeletServiceAccountTokenForCredentialProviders启用 kubelet 将绑定到正在拉取镜像的 Pod 的服务帐户令牌发送到凭据提供程序插件。
KubeletTracing为 kubelet 添加分布式跟踪支持。启用后,kubelet CRI 接口和经过身份验证的 http 服务器将被检测以生成 OpenTelemetry 跟踪跨度。有关更多详细信息,请参阅 Kubernetes 系统组件的跟踪。
ListFromCacheSnapshot启用 API 服务器为 watch cache 存储生成快照,并使用它们来服务 LIST 请求。
LocalStorageCapacityIsolationFSQuotaMonitoring当为 本地临时存储 启用
LocalStorageCapacityIsolation时,emptyDir卷的底层文件系统支持项目配额,并且启用了UserNamespacesSupport,则使用项目配额来监控emptyDir卷的存储消耗,而不是使用文件系统遍历,从而确保更好的性能和准确性。LogarithmicScaleDown启用基于 Pod 时间戳对数分桶的控制器缩减期间的 Pod 的半随机选择以进行驱逐。
LoggingAlphaOptions允许微调实验性、alpha 质量的日志记录选项。
LoggingBetaOptions允许微调实验性、beta 质量的日志记录选项。
MatchLabelKeysInPodAffinity启用 Pod (anti)affinity 的
matchLabelKeys和mismatchLabelKeys字段。MatchLabelKeysInPodTopologySpread启用 Pod 拓扑传播约束 的
matchLabelKeys字段。MatchLabelKeysInPodTopologySpreadSelectorMerge启用将从
matchLabelKeys构建的选择器合并到 Pod 拓扑传播约束 的labelSelector中。当启用matchLabelKeys功能时,可以使用MatchLabelKeysInPodTopologySpread功能标志启用此特性门限。启用为 StatefulSet 的 滚动更新策略 设置
maxUnavailable字段。该字段指定在更新期间可以不可用的最大 Pod 数量。MemoryManager允许基于 NUMA 拓扑为容器设置内存亲和性。
MemoryQoS启用使用 cgroup v2 内存控制器对 Pod / 容器进行内存保护和使用限制。
MultiCIDRServiceAllocator使用 IPAddress 对象跟踪 Service 集群 IP 的 IP 地址分配。
MutableCSINodeAllocatableCount当此特性门限启用时,CSINode 的
.spec.drivers[*].allocatable.count字段变为可变的,并且 CSIDriver 对象中提供了一个新的字段nodeAllocatableUpdatePeriodSeconds。这允许定期更新节点报告的可用卷容量,防止由于 kube-scheduler 依赖的过时信息而导致有状态 Pod 卡住。MutablePodResourcesForSuspendedJobs启用修补已暂停 Job 的 Pod 模板,以便更改基础设施资源的请求或限制。
MutablePVNodeAffinity允许更新 PersistentVolume 的
.spec.nodeAffinity字段。有关更多详细信息,请参阅 更新节点亲和性。MutableSchedulingDirectivesForSuspendedJobs启用修补已暂停 Job 的 Pod 模板,以便更改 Pod 调度指令。
MutatingAdmissionPolicy启用 MutatingAdmissionPolicy 支持,该支持允许在准入控制期间应用 CEL 突变。
对于 Kubernetes v1.30 和 v1.31,此特性门限存在但不起作用。
NFTablesProxyMode允许 kube-proxy 在 nftables 模式 中运行。
NodeDeclaredFeatures启用节点通过其
.status报告支持的功能。这使得调度器和准入控制器能够防止对缺少 Pod 所需功能的节点执行操作。请参阅 节点声明的功能。NodeInclusionPolicyInPodTopologySpread启用在计算 Pod 拓扑传播偏差时,在 Pod 拓扑传播约束 中使用
nodeAffinityPolicy和nodeTaintsPolicy。NodeLogQuery启用使用
/logs端点查询节点服务的日志。NodeSwap启用 kubelet 在节点上为 Kubernetes 工作负载分配交换内存。必须与将
KubeletConfiguration.failSwapOn设置为 false 一起使用。有关更多详细信息,请参阅 交换内存NominatedNodeNameForExpectation启用后,kube-scheduler 使用
.status.nominatedNodeName来表示 Pod 将被绑定到哪里。当 kube-scheduler 触发 Pod 的抢占或预计 WaitOnPermit 或 PreBinding 阶段将需要相对较长时间时,将设置.status.nominatedNodeName字段。其他组件可以读取和使用.status.nominatedNodeName,但不应设置它。禁用后,kube-scheduler 仅在触发抢占之前设置
.status.nominatedNodeName。OpenAPIEnums启用填充 API 服务器返回的 spec 中 OpenAPI 模式的“enum”字段。
OpportunisticBatching启用重用来自前一个调度周期等效 Pod 的调度结果。
OrderedNamespaceDeletion在删除命名空间时,Pod 资源将在其余资源之前被删除。
PodAndContainerStatsFromCRI配置 kubelet 从 CRI 容器运行时而不是从 cAdvisor 收集容器和 Pod 统计信息。从 1.26 开始,这还包括从 CRI 收集指标并通过
/metrics/cadvisor(而不是由 cAdvisor 直接发出)发出它们。PodCertificateRequest启用 PodCertificateRequest 对象和 Pod 证书投影卷源。
PodDeletionCost启用 Pod 删除成本 功能,该功能允许用户影响 ReplicaSet 缩减顺序。
PodIndexLabel启用 Job 控制器和 StatefulSet 控制器在创建新 Pod 时将 Pod 索引作为标签添加。有关更多详细信息,请参阅 Job 完成模式文档 和 StatefulSet Pod 索引标签文档。
PodLevelResources启用 Pod 级别资源:能够在 Pod 级别指定资源请求和限制,而不仅仅是针对特定容器。
PodLifecycleSleepAction启用容器生命周期钩子(
preStop和postStart)中的sleep操作。PodLifecycleSleepActionAllowZero启用在 容器生命周期钩子 中将零值设置为
sleep操作。PodLogsQuerySplitStreams启用使用 Pod API 从容器的日志流中获取特定的日志流(stdout 或 stderr)。
PodObservedGenerationTracking启用 kubelet 在 Pod
.status中设置observedGeneration,并启用其他组件在 Pod 条件中设置observedGeneration。此功能允许反映 Pod 在记录整体状态或特定条件时的.metadata.generation。存储它有助于避免与 丢失更新 相关的风险。PodReadyToStartContainersCondition启用 kubelet 标记 PodReadyToStartContainers 条件的 Pod。
此特性门限以前被称为
PodHasNetworkCondition,并且相关的条件被称为PodHasNetwork。PodSchedulingReadiness启用设置
schedulingGates字段以控制 Pod 的 调度就绪。PodTopologyLabelsAdmission启用 Pod 拓扑标签 准入插件。有关详细信息,请参阅。
PortForwardWebsockets允许 WebSocket 流式传输 portforward 子协议(
port-forward)来自请求版本 v2(v2.portforward.k8s.io)的子协议的客户端。PreferSameTrafficDistribution允许在 Service 的
trafficDistribution字段中使用值PreferSameZone和PreferSameNode。PreventStaticPodAPIReferences如果静态 Pod 引用其他 API 对象,则拒绝 Pod 准入。
ProcMountType启用对 Pod 的
securityContext的procMount字段设置,以控制容器的 proc 挂载类型。QOSReserved允许在 QoS 级别进行资源预留,防止较低 QoS 级别的 Pod 爆发到较高 QoS 级别请求的资源中(目前仅限内存)。
RecoverVolumeExpansionFailure启用用户编辑其 PVC 以减小大小,以便他们可以从先前发出的卷扩展失败中恢复。有关更多详细信息,请参阅 从卷扩展失败中恢复。
RecursiveReadOnlyMounts启用递归只读挂载。有关更多详细信息,请参阅 只读挂载。
ReduceDefaultCrashLoopBackOffDecay启用减少节点上容器在重启之间的初始延迟和最大延迟,适用于集群中处于
CrashLoopBackOff状态的容器,初始延迟为1s,最大延迟为60s。RelaxedDNSSearchValidation放宽容器 DNS 搜索字符串(
.spec.dnsConfig.searches)的服务器端验证。例如,启用此门控后,可以在 DNS 名称搜索字符串中包含_字符。RelaxedEnvironmentVariableValidation允许在环境变量中使用几乎所有可打印的 ASCII 字符。
RelaxedServiceNameValidation启用对 Service 对象名称的宽松验证,允许使用 RFC 1123 标签名称,而不是 RFC 1035 标签名称。
此功能允许 Service 对象名称以数字开头。
ReloadKubeletServerCertificateFile启用 kubelet TLS 服务器在指定的证书文件发生更改时更新其证书。
当在 kubelet 配置中指定
tlsCertFile和tlsPrivateKeyFile时,此功能很有用。对于其他情况(例如使用 TLS bootstrap),此功能门控无效。RemoteRequestHeaderUID启用 API 服务器通过请求头身份验证接受 UIDs(用户 ID)。这将使
kube-apiserver的 API 聚合器在将请求转发到提供聚合 API 的服务器时添加 UIDs。ResilientWatchCacheInitialization启用弹性 watchcache 初始化,以避免控制平面过载。
ResourceHealthStatus为 Pod 的
.status中启用allocatedResourcesStatus字段。该字段报告 Pod 中每个容器的附加详细信息,以及分配给 Pod 的每个设备的健康信息。此功能适用于由 Device Plugins 和 Dynamic Resource Allocation 管理的设备。有关更多详细信息,请参阅 Device plugin 和不健康的设备。
RestartAllContainersOnContainerExits启用在容器
restartPolicyRules中将RestartAllContainers指定为操作。当容器的退出状态与具有此操作的规则匹配时,整个 Pod 将被终止并在原地重启。有关更多详细信息,请参阅 Restart All Containers。RetryGenerateName启用在预期 API 服务器生成 名称 时重试对象创建。
当此功能启用时,如果控制平面检测到与现有对象名称冲突,则使用
generateName的请求将自动重试,最多尝试 8 次。RotateKubeletServerCertificate启用 kubelet 上服务器 TLS 证书的轮换。有关更多详细信息,请参阅 kubelet 配置。
RuntimeClassInImageCriApi启用基于引用它们的 Pod 的 runtime class 拉取镜像。
SchedulerAsyncAPICalls更改 kube-scheduler,使整个调度周期不再阻塞对 Kubernetes API 服务器的请求。而是使用异步代码与 Kubernetes API 交互。
SchedulerAsyncPreemption启用在调度器中异步运行一些代价高昂的操作,这些操作与 preemption 相关。异步处理抢占可以提高整体 Pod 调度延迟。
SchedulerPopFromBackoffQ通过在 activeQ 为空时从 backoffQ 中弹出 Pod,改进调度队列行为。这允许尽快处理潜在的可调度 Pod,消除了 backoff 队列的惩罚效应。
SchedulerQueueingHints启用调度器 queueing hints,这有助于减少不必要的重新排队。如果集群中发生某些更改可能导致 Pod 被调度,则调度器会重试调度 Pod。排队提示是内部信号,允许调度器根据先前的调度尝试过滤集群中与未调度 Pod 相关的更改。
SELinuxChangePolicy启用
spec.securityContext.seLinuxChangePolicy字段。可以使用此字段选择退出使用挂载选项将 SELinux 标签应用于 Pod 卷。当单个支持使用 SELinux 挂载选项的卷在具有不同 SELinux 标签的 Pod 之间共享时,这是必需的,例如特权 Pod 和非特权 Pod。启用
SELinuxChangePolicy功能门控需要启用SELinuxMountReadWriteOncePod功能门控。SELinuxMount通过允许 kubelet 直接使用正确的 SELinux 标签挂载 Pod 的卷,而不是递归地更改卷上的每个文件,来加速容器启动。它通过将实现扩展到所有卷,扩大了
SELinuxMountReadWriteOncePod功能门控背后的性能改进。启用
SELinuxMount功能门控需要启用SELinuxMountReadWriteOncePod和SELinuxChangePolicy功能门控。SELinuxMountReadWriteOncePod通过允许 kubelet 直接使用正确的 SELinux 标签挂载 Pod 的卷,而不是递归地更改卷上的每个文件,来加速容器启动。最初的实现专注于 ReadWriteOncePod 卷。
SeparateCacheWatchRPC允许 API 服务器 watch cache 在专用的 RPC 上创建 watch。这可以防止 watch cache 被其他 watch 饿死。
SeparateTaintEvictionController启用运行 基于 taint 的驱逐 控制器,该控制器执行 基于 Taint 的驱逐,作为独立控制器(与 节点生命周期 控制器分离)。
ServiceAccountNodeAudienceRestriction此门控用于限制 kubelet 可以请求服务帐户令牌的受众。
ServiceAccountTokenJTI控制是否将 JTIs(UUID)嵌入到生成的服务帐户令牌中,以及是否将这些 JTI 记录到 Kubernetes 审计日志中,以供这些令牌进行的后续请求使用。
ServiceAccountTokenNodeBinding控制 API 服务器是否允许将服务帐户令牌绑定到 Node 对象。
ServiceAccountTokenNodeBindingValidation控制 API 服务器是否会验证服务帐户令牌中的 Node 引用。
ServiceAccountTokenPodNodeInfo控制 API 服务器是否在向 Pod 对象绑定的服务帐户令牌中嵌入关联节点的节点名称和 UID。
ServiceTrafficDistribution允许使用 Services 中的可选
spec.trafficDistribution字段。该字段提供了一种表达如何将流量分发到 Service 端点的偏好方式。SidecarContainers允许将 init 容器的
restartPolicy设置为Always,使其成为 sidecar 容器(可重启的 init 容器)。有关更多详细信息,请参阅 Sidecar containers and restartPolicy。SizeBasedListCostEstimate启用 APF 使用对象大小来估算请求成本。
StatefulSetAutoDeletePVC允许使用可选的
.spec.persistentVolumeClaimRetentionPolicy字段,从而控制 StatefulSet 生命周期中 PVC 的删除。有关更多详细信息,请参阅 PersistentVolumeClaim retention。StatefulSetStartOrdinal允许配置 StatefulSet 中的 start ordinal。有关更多详细信息,请参阅 Start ordinal。
StorageCapacityScoringVolumeCapacityPriority功能门控在 v1.32 中用于支持静态配置的存储。从 v1.33 开始,新的功能门控StorageCapacityScoring用添加的支持动态配置的存储取代了旧的VolumeCapacityPriority门控。启用StorageCapacityScoring后,kube-scheduler 中的 VolumeBinding 插件将扩展为根据每个存储上的存储容量对节点进行评分。此功能适用于支持 Storage Capacity 的 CSI 卷,包括由 CSI 驱动程序支持的本地存储。StorageNamespaceIndex启用 API 服务器缓存中命名空间作用域资源的命名空间索引器,以加速列表操作。
StorageVersionAPIStorageVersionHash允许 API 服务器在 discovery 中公开 storage version hash。
StorageVersionMigrator启用资源的 storage version 迁移。
StreamingCollectionEncodingToJSON允许 API 服务器 JSON 编码器逐个编码集合项,而不是一次性全部编码。
StreamingCollectionEncodingToProtobuf允许 API 服务器 Protobuf 编码器逐个编码集合项,而不是一次性全部编码。
StrictCostEnforcementForVAP对 ValidatingAdmissionPolicies 应用严格的 CEL 成本验证。
StrictCostEnforcementForWebhooks对 admission webhooks 中的
matchConditions应用严格的 CEL 成本验证。StrictIPCIDRValidation对包含 IP 地址和 CIDR 值的字段应用更严格的验证。
特别是,启用此功能门控后,IPv4 地址中的八位字节不允许有任何前导
0,并且禁止 IPv4 映射的 IPv6 值(例如::ffff:192.168.0.1)。这些值可能会导致安全问题,因为不同的组件可能会将相同的字符串解释为引用不同的 IP 地址(如 CVE-2021-29923 中所述)。此收紧仅适用于内置 API 类型的字段,不适用于自定义资源类型、Kubernetes 配置文件中的值或命令行参数。
StructuredAuthenticationConfiguration启用 API 服务器的 结构化身份验证配置。
StructuredAuthenticationConfigurationEgressSelector启用结构化身份验证配置中的 Egress Selector。
StructuredAuthenticationConfigurationJWKSMetrics启用 JWT 身份验证器中 JSON Web Key Set (JWKS) 操作的附加指标,这些身份验证器通过
--authentication-config配置。启用后,API 服务器会记录有关上次获取 JWKS 的时间以及 JWKS 响应的哈希值的指标。有关详细信息,请参阅 metrics reference。StructuredAuthorizationConfiguration启用结构化授权配置,以便集群管理员可以在 API 服务器处理程序链中指定多个 授权 webhook。
SupplementalGroupsPolicy启用细粒度的 SupplementalGroups 控制。有关更多详细信息,请参阅 Configure fine-grained SupplementalGroups control for a Pod。
SystemdWatchdog允许使用 systemd watchdog 监控 kubelet 的运行状况。有关更多详细信息,请参阅 Kubelet Systemd Watchdog。
TaintTolerationComparisonOperators启用 tolerations 中数值比较运算符(
Lt和Gt)。TokenRequestServiceAccountUIDValidation这用于确保 TokenRequest 中提供的 UID 与请求令牌的服务帐户的 UID 匹配。这有助于防止滥用 TokenRequest API,确保仅为正确的服务帐户颁发令牌。
TopologyAwareHints启用基于 EndpointSlice 中拓扑提示的拓扑感知路由。有关详细信息,请参阅 拓扑感知提示。
TopologyManagerPolicyAlphaOptions允许对拓扑管理器策略进行微调,实验性、Alpha 质量选项。此功能门控控制一组质量级别为 alpha 的拓扑管理器选项。此功能门控将永远不会升级到 beta 或稳定版本。
TopologyManagerPolicyBetaOptions允许对拓扑管理器策略进行微调,实验性、Beta 质量选项。此功能门控控制一组质量级别为 beta 的拓扑管理器选项。此功能门控将永远不会升级到稳定版本。
TopologyManagerPolicyOptions启用 微调拓扑管理器策略。
TranslateStreamCloseWebsocketRequests允许 WebSocket 流式传输来自请求版本 5 (v5) 子协议的远程命令子协议 (
exec、cp、attach)。UnauthenticatedHTTP2DOSMitigation启用针对未经验证客户端的 HTTP/2 拒绝服务 (DoS) 缓解措施。Kubernetes v1.28.0 到 v1.28.2 不包含此功能门控。
UnknownVersionInteroperabilityProxy将资源请求代理到正确的对等 kube-apiserver,当存在多个版本不同的 kube-apiserver 时。有关更多信息,请参阅 混合版本代理。
UserNamespacesHostNetworkSupport启用后,Pod 可以同时使用
hostNetwork和 用户命名空间。UserNamespacesSupport为 Pod 启用用户命名空间支持。
VolumeAttributesClass启用 VolumeAttributesClasses 的支持。有关更多信息,请参阅 卷属性类。
VolumeLimitScaling启用 CSI 驱动程序的卷限制缩放。这允许调度器更好地与集群自动缩放器协调存储限制。有关更多信息,请参阅 存储限制。
WatchCacheInitializationPostStartHook启用 post-start-hook 用于 watchcache 初始化,使其成为 readyz 的一部分(带有超时)。
WatchFromStorageWithoutResourceVersion启用不带
resourceVersion的 watch 请求从存储中提供服务。WatchList启用对 watch 请求中对象初始状态的流式传输的支持。
WatchListClient允许 API 客户端请求数据流而不是获取完整的列表。此功能在
client-go中可用,并且需要服务器上启用 WatchList 功能。如果服务器不支持WatchList,则客户端将无缝回退到标准的列表请求。WindowsCPUAndMemoryAffinity为具有 CPUManager、MemoryManager 和拓扑管理器的 Windows 节点添加 CPU 和内存亲和性支持。
WindowsGracefulNodeShutdown启用 kubelet 中 Windows 节点优雅关机支持。在系统关机期间,kubelet 将尝试检测关机事件并优雅地终止节点上运行的 Pod。有关详细信息,请参阅 优雅节点关机。
WindowsHostNetwork启用对 Windows 容器加入主机网络命名空间的支持。
WinDSR允许 kube-proxy 为 Windows 创建 DSR 负载均衡器。
WinOverlay允许 kube-proxy 在 Windows 上以 overlay 模式运行。