Функціональні можливості
Ця сторінка містить огляд різних функціональних можливостей, які адміністратор може вказати для різних компонентів Kubernetes.
Дивіться функціональні стадії для пояснення стадій функції.
Огляд
Функціональні можливості — це набір пар ключ=значення, які описують функції Kubernetes. Ви можете увімкнути або вимкнути ці функції, використовуючи прапорець командного рядка --feature-gates
на кожному компоненті Kubernetes.
Кожен компонент Kubernetes дозволяє вам увімкнути або вимкнути набір функціональних можливостей, які стосуються цього компонента. Використовуйте прапорець -h
, щоб побачити повний набір функціональних можливостей для всіх компонентів. Щоб встановити функціональні можливості для компонента, такого як kubelet, використовуйте прапорець --feature-gates
, призначений для списку пар функцій:
--feature-gates=...,GracefulNodeShutdown=true
Наступні таблиці є підсумком функціональних можливостей, які ви можете встановити на різних компонентах Kubernetes.
- Стовпець "З версії" містить випуск Kubernetes, коли функція вперше введена або змінено її стадію випуску.
- Стовпець "До" містить останній випуск Kubernetes, в якому ви все ще можете використовувати функціональну можливість.
- Якщо функція знаходиться в стані Alpha або Beta, ви можете знайти функцію в переліку Таблиці функціональних можливостей для Alpha або Beta функцій.
- Якщо функція стабільна, ви можете знайти всі стадії для цієї функції в переліку Таблиці функціональних можливостей для стабільних або застарілих функцій.
- Таблиця функціональних можливостей для стабільних або застарілих функцій також містить застарілі та вилучені функції.
Примітка:
Для посилання на старі функціональні можливості, які вилучені, дивіться вилучені функціональні можливості.Функціональні можливості для функцій Alpha або Beta
Властивість | Стандартно | Стадія | Починаючи з | До |
---|---|---|---|---|
AllowParsingUserUIDFromCertAuth | false | Alpha | 1.33 | – |
AllowUnsafeMalformedObjectDeletion | false | Alpha | 1.32 | – |
AnonymousAuthConfigurableEndpoints | false | Alpha | 1.31 | 1.31 |
AnonymousAuthConfigurableEndpoints | true | Beta | 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 | – |
APIServerTracing | false | Alpha | 1.22 | 1.26 |
APIServerTracing | true | Beta | 1.27 | – |
APIServingWithRoute | false | Alpha | 1.30 | – |
AuthorizeNodeWithSelectors | false | Alpha | 1.31 | 1.31 |
AuthorizeNodeWithSelectors | true | Beta | 1.32 | – |
AuthorizeWithSelectors | false | Alpha | 1.31 | 1.31 |
AuthorizeWithSelectors | true | Beta | 1.32 | – |
CBORServingAndStorage | false | Alpha | 1.32 | – |
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 | – |
ComponentSLIs | false | Alpha | 1.26 | 1.26 |
ComponentSLIs | true | Beta | 1.27 | – |
ComponentStatusz | false | Alpha | 1.32 | – |
ConcurrentWatchObjectDecode | false | Beta | 1.31 | – |
ConsistentListFromCache | false | Alpha | 1.28 | 1.30 |
ConsistentListFromCache | true | Beta | 1.31 | – |
ContainerCheckpoint | false | Alpha | 1.25 | 1.29 |
ContainerCheckpoint | true | Beta | 1.30 | – |
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 | – |
CrossNamespaceVolumeDataSource | false | Alpha | 1.26 | – |
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 | – |
DisableAllocatorDualWrite | false | Alpha | 1.31 | 1.32 |
DisableAllocatorDualWrite | false | Beta | 1.33 | – |
DRAAdminAccess | false | Alpha | 1.32 | – |
DRADeviceTaints | false | Alpha | 1.33 | – |
DRAPartitionableDevices | false | Alpha | 1.33 | – |
DRAPrioritizedList | false | Alpha | 1.33 | – |
DRAResourceClaimDeviceStatus | false | Alpha | 1.32 | 1.32 |
DRAResourceClaimDeviceStatus | true | Beta | 1.33 | – |
DynamicResourceAllocation | false | Alpha | 1.30 | 1.31 |
DynamicResourceAllocation | false | Beta | 1.32 | – |
EventedPLEG | false | Alpha | 1.26 | – |
ExternalServiceAccountTokenSigner | false | Alpha | 1.32 | – |
GracefulNodeShutdown | false | Alpha | 1.20 | 1.20 |
GracefulNodeShutdown | true | Beta | 1.21 | – |
GracefulNodeShutdownBasedOnPodPriority | false | Alpha | 1.23 | 1.23 |
GracefulNodeShutdownBasedOnPodPriority | true | Beta | 1.24 | – |
HPAConfigurableTolerance | false | Alpha | 1.33 | – |
HPAScaleToZero | false | Alpha | 1.16 | – |
ImageMaximumGCAge | false | Alpha | 1.29 | 1.29 |
ImageMaximumGCAge | true | Beta | 1.30 | – |
ImageVolume | false | Alpha | 1.31 | 1.32 |
ImageVolume | false | Beta | 1.33 | – |
InformerResourceVersion | false | Alpha | 1.30 | – |
InPlacePodVerticalScaling | false | Alpha | 1.27 | 1.32 |
InPlacePodVerticalScaling | true | Beta | 1.33 | – |
InPlacePodVerticalScalingExclusiveCPUs | false | Alpha | 1.32 | – |
InTreePluginPortworxUnregister | false | Alpha | 1.23 | – |
JobManagedBy | false | Alpha | 1.30 | 1.31 |
JobManagedBy | true | Beta | 1.32 | – |
JobPodReplacementPolicy | false | Alpha | 1.28 | 1.28 |
JobPodReplacementPolicy | true | Beta | 1.29 | – |
KubeletCgroupDriverFromCRI | false | Alpha | 1.28 | 1.30 |
KubeletCgroupDriverFromCRI | true | Beta | 1.31 | – |
KubeletCrashLoopBackOffMax | false | Alpha | 1.32 | – |
KubeletEnsureSecretPulledImages | false | Alpha | 1.33 | – |
KubeletFineGrainedAuthz | false | Alpha | 1.32 | 1.32 |
KubeletFineGrainedAuthz | true | Beta | 1.33 | – |
KubeletInUserNamespace | false | Alpha | 1.22 | – |
KubeletPodResourcesDynamicResources | false | Alpha | 1.27 | – |
KubeletPodResourcesDynamicResources | false | Alpha | 1.27 | – |
KubeletPodResourcesGet | false | Alpha | 1.27 | – |
KubeletPSI | false | Alpha | 1.33 | – |
KubeletSeparateDiskGC | false | Alpha | 1.29 | 1.30 |
KubeletSeparateDiskGC | true | Beta | 1.31 | – |
KubeletServiceAccountTokenForCredentialProviders | false | Alpha | 1.33 | – |
KubeletTracing | false | Alpha | 1.25 | 1.26 |
KubeletTracing | true | Beta | 1.27 | – |
ListFromCacheSnapshot | false | Alpha | 1.33 | – |
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 | – |
MaxUnavailableStatefulSet | false | Alpha | 1.24 | – |
MemoryQoS | false | Alpha | 1.22 | – |
MutableCSINodeAllocatableCount | false | Alpha | 1.33 | – |
MutatingAdmissionPolicy | false | Alpha | 1.30 | – |
NodeLogQuery | false | Alpha | 1.27 | 1.29 |
NodeLogQuery | false | Beta | 1.30 | – |
NodeSwap | false | Alpha | 1.22 | 1.27 |
NodeSwap | false | Beta | 1.28 | 1.29 |
NodeSwap | true | Beta | 1.30 | – |
OpenAPIEnums | false | Alpha | 1.23 | 1.23 |
OpenAPIEnums | true | Beta | 1.24 | – |
OrderedNamespaceDeletion | false | Beta | 1.30 | 1.32 |
OrderedNamespaceDeletion | true | Beta | 1.33 | – |
PodAndContainerStatsFromCRI | false | Alpha | 1.23 | – |
PodDeletionCost | false | Alpha | 1.21 | 1.21 |
PodDeletionCost | true | Beta | 1.22 | – |
PodLevelResources | false | Alpha | 1.32 | – |
PodLifecycleSleepAction | false | Alpha | 1.29 | 1.29 |
PodLifecycleSleepAction | true | Beta | 1.30 | – |
PodLifecycleSleepActionAllowZero | false | Alpha | 1.32 | 1.32 |
PodLifecycleSleepActionAllowZero | true | Beta | 1.33 | – |
PodLogsQuerySplitStreams | false | Alpha | 1.32 | – |
PodObservedGenerationTracking | false | Alpha | 1.33 | – |
PodReadyToStartContainersCondition | false | Alpha | 1.28 | 1.28 |
PodReadyToStartContainersCondition | true | Beta | 1.29 | – |
PodTopologyLabelsAdmission | false | Alpha | 1.33 | – |
PortForwardWebsockets | false | Alpha | 1.30 | 1.30 |
PortForwardWebsockets | true | Beta | 1.31 | – |
PreferSameTrafficDistribution | false | Alpha | 1.33 | – |
ProcMountType | false | Alpha | 1.12 | 1.30 |
ProcMountType | false | Beta | 1.31 | – |
QOSReserved | false | Alpha | 1.11 | – |
RecoverVolumeExpansionFailure | false | Alpha | 1.23 | 1.31 |
RecoverVolumeExpansionFailure | true | Beta | 1.32 | – |
ReduceDefaultCrashLoopBackOffDecay | false | Alpha | 1.33 | – |
RelaxedDNSSearchValidation | false | Alpha | 1.32 | – |
RelaxedEnvironmentVariableValidation | false | Alpha | 1.30 | 1.31 |
RelaxedEnvironmentVariableValidation | true | Beta | 1.32 | – |
ReloadKubeletServerCertificateFile | true | Beta | 1.31 | – |
RemoteRequestHeaderUID | false | Alpha | 1.32 | – |
ResilientWatchCacheInitialization | true | Beta | 1.31 | – |
ResourceHealthStatus | false | Alpha | 1.31 | – |
RetryGenerateName | false | Alpha | 1.30 | – |
RotateKubeletServerCertificate | false | Alpha | 1.7 | 1.11 |
RotateKubeletServerCertificate | true | Beta | 1.12 | – |
RuntimeClassInImageCriApi | false | Alpha | 1.29 | – |
SchedulerAsyncPreemption | false | Alpha | 1.32 | 1.32 |
SchedulerAsyncPreemption | true | Beta | 1.33 | – |
SchedulerPopFromBackoffQ | true | Beta | 1.33 | – |
SchedulerQueueingHints | true | Beta | 1.28 | 1.28 |
SchedulerQueueingHints | false | Beta | 1.29 | 1.31 |
SchedulerQueueingHints | true | Beta | 1.32 | – |
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 | – |
SeparateTaintEvictionController | true | Beta | 1.29 | – |
ServiceAcccountNodeAudienceRestriction | false | Beta | 1.32 | 1.32 |
ServiceAcccountNodeAudienceRestriction | true | Beta | 1.33 | – |
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 | – |
StrictIPCIDRValidation | false | Alpha | 1.33 | – |
StructuredAuthenticationConfiguration | false | Alpha | 1.29 | 1.29 |
StructuredAuthenticationConfiguration | true | Beta | 1.30 | – |
SupplementalGroupsPolicy | false | Alpha | 1.31 | 1.32 |
SupplementalGroupsPolicy | true | Beta | 1.33 | – |
SystemdWatchdog | true | Beta | 1.32 | – |
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 | – |
UserNamespacesPodSecurityStandards | false | Alpha | 1.29 | – |
UserNamespacesSupport | false | Alpha | 1.28 | 1.29 |
UserNamespacesSupport | false | Beta | 1.30 | 1.32 |
UserNamespacesSupport | true | Beta | 1.33 | – |
VolumeAttributesClass | false | Alpha | 1.29 | 1.30 |
VolumeAttributesClass | false | Beta | 1.31 | – |
WatchCacheInitializationPostStartHook | false | Beta | 1.31 | – |
WatchList | false | Alpha | 1.27 | 1.31 |
WatchList | true | Beta | 1.32 | 1.32 |
WatchList | false | Beta | 1.33 | – |
WatchListClient | false | Beta | 1.30 | – |
WindowsCPUAndMemoryAffinity | false | Alpha | 1.32 | – |
WindowsGracefulNodeShutdown | false | Alpha | 1.32 | – |
WinDSR | false | Alpha | 1.14 | 1.32 |
WinDSR | true | Beta | 1.33 | – |
WinOverlay | false | Alpha | 1.14 | 1.19 |
WinOverlay | true | Beta | 1.20 | – |
Функціональні можливості для стабільних або застарілих функцій
Властивість | Стандартно | Стадія | Починаючи з | До |
---|---|---|---|---|
AllowDNSOnlyNodeCSR | false | Deprecated | 1.31 | – |
AllowInsecureKubeletCertificateSigningRequests | false | Deprecated | 1.31 | – |
AllowServiceLBStatusOnNonLB | false | Deprecated | 1.29 | – |
AnyVolumeDataSource | false | Alpha | 1.18 | 1.23 |
AnyVolumeDataSource | true | Beta | 1.24 | 1.32 |
AnyVolumeDataSource | true | GA | 1.33 | – |
BtreeWatchCache | true | Beta | 1.32 | 1.32 |
BtreeWatchCache | true | GA | 1.33 | – |
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 | – |
DevicePluginCDIDevices | false | Alpha | 1.28 | 1.28 |
DevicePluginCDIDevices | true | Beta | 1.29 | 1.30 |
DevicePluginCDIDevices | true | GA | 1.31 | – |
DisableNodeKubeProxyVersion | false | Alpha | 1.29 | 1.30 |
DisableNodeKubeProxyVersion | true | Beta | 1.31.0 | 1.31.0 |
DisableNodeKubeProxyVersion | false | Deprecated | 1.31.1 | – |
DisableNodeKubeProxyVersion | false | Deprecated | 1.32 | 1.32 |
DisableNodeKubeProxyVersion | true | Deprecated | 1.33 | – |
ElasticIndexedJob | true | Beta | 1.27 | 1.30 |
ElasticIndexedJob | true | GA | 1.31 | – |
ExecProbeTimeout | true | GA | 1.20 | – |
HonorPVReclaimPolicy | false | Alpha | 1.23 | 1.30 |
HonorPVReclaimPolicy | true | Beta | 1.31 | 1.32 |
HonorPVReclaimPolicy | true | GA | 1.33 | – |
InPlacePodVerticalScalingAllocatedStatus | false | Alpha | 1.32 | 1.32 |
InPlacePodVerticalScalingAllocatedStatus | false | Deprecated | 1.33 | – |
JobBackoffLimitPerIndex | false | Alpha | 1.28 | 1.28 |
JobBackoffLimitPerIndex | true | Beta | 1.29 | 1.32 |
JobBackoffLimitPerIndex | true | GA | 1.33 | – |
JobSuccessPolicy | false | Alpha | 1.30 | 1.30 |
JobSuccessPolicy | true | Beta | 1.31 | 1.32 |
JobSuccessPolicy | true | GA | 1.33 | – |
KMSv1 | true | Deprecated | 1.28 | 1.28 |
KMSv1 | false | Deprecated | 1.29 | – |
LoadBalancerIPMode | false | Alpha | 1.29 | 1.30 |
LoadBalancerIPMode | true | Beta | 1.30 | 1.31 |
LoadBalancerIPMode | true | GA | 1.32 | – |
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 | – |
PodDisruptionConditions | false | Alpha | 1.25 | 1.25 |
PodDisruptionConditions | true | Beta | 1.26 | 1.30 |
PodDisruptionConditions | true | GA | 1.31 | – |
PodIndexLabel | true | Beta | 1.28 | 1.31 |
PodIndexLabel | true | GA | 1.32 | – |
PodSchedulingReadiness | false | Alpha | 1.26 | 1.26 |
PodSchedulingReadiness | true | Beta | 1.27 | 1.29 |
PodSchedulingReadiness | true | GA | 1.30 | – |
RecursiveReadOnlyMounts | false | Alpha | 1.30 | 1.30 |
RecursiveReadOnlyMounts | true | Beta | 1.31 | 1.32 |
RecursiveReadOnlyMounts | true | GA | 1.33 | – |
RetryGenerateName | false | Alpha | 1.30 | 1.30 |
RetryGenerateName | true | Beta | 1.31 | 1.31 |
RetryGenerateName | true | GA | 1.32 | – |
SeparateCacheWatchRPC | true | Beta | 1.28 | 1.32 |
SeparateCacheWatchRPC | false | Deprecated | 1.33 | – |
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 | – |
SizeMemoryBackedVolumes | false | Alpha | 1.20 | 1.21 |
SizeMemoryBackedVolumes | true | Beta | 1.22 | 1.31 |
SizeMemoryBackedVolumes | true | GA | 1.32 | – |
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 | Deprecated | 1.33 | – |
StrictCostEnforcementForVAP | false | Beta | 1.30 | 1.31 |
StrictCostEnforcementForVAP | true | GA | 1.32 | – |
StrictCostEnforcementForWebhooks | false | Beta | 1.31 | 1.31 |
StrictCostEnforcementForWebhooks | true | GA | 1.32 | – |
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 | – |
WatchFromStorageWithoutResourceVersion | false | Beta | 1.30 | 1.32 |
WatchFromStorageWithoutResourceVersion | false | Deprecated | 1.33 | – |
WindowsHostNetwork | true | Alpha | 1.26 | 1.32 |
WindowsHostNetwork | false | Deprecated | 1.33 | – |
Використання функцій
Стадії функцій
Кожна функція може бути в стані Alpha, Beta або GA (загальнодоступна).
Alpha означає:
- Функція є типово вимкненою.
- Функція може містити помилки. Увімкнення функції може призвести до непередбачуваної поведінки.
- Підтримка функції може бути припинена в будь-який момент без попередження.
- API може змінюватися в несумісний спосіб в майбутніх випусках без попередження.
- Рекомендується використовувати функцію в кластерах з коротким терміном життя через значний ризик помилок та відсутність довгострокової підтримки.
Beta означає:
- Зазвичай функція є типово увімкненою. Бета API групи є типово вимкненими.
- Функція є добре протестованою. Увімкнення функції вважається безпечним.
- Підтримка загального функціонала не буде припинена, хоча деталі можуть змінюватися.
- Схема та/або семантика обʼєктів можуть змінюватися несумісними способами в наступному бета або стабільному випуску. Коли це станеться, ми надамо інструкції для переходу на наступну версію. Це може вимагати видалення, редагування та повторного створення API обʼєктів. Процес редагування може потребувати певних зусиль. Це може вимагати простою для застосунків, які залежать від функції.
- Рекомендується використовувати лише для некритичних для бізнесу випадків через можливість несумісних змін у наступних випусках. Якщо у вас є кілька кластерів, які можуть бути оновлені незалежно, ви можете послабити це обмеження.
Примітка:
Будь ласка, спробуйте Beta функції та надайте про них відгуки! Після виходу з бета-версії, можливо, буде недоцільно вносити більше змін.Функція в стані Загальна доступність (GA) також називається стабільною функцією. Це означає:
- Функція завжди увімкнена; ви не можете її вимкнути.
- Відповідний перемикач функціональної можливості більше не потрібен.
- Стабільні версії функцій зʼявлятимуться у випущеному програмному забезпеченні для багатьох наступних версій.
Перелік функціональних можливостей
Кожна функціональна можливість створена для вмикання/вимикання певної функції.
AllowDNSOnlyNodeCSR
: Дозволяє kubelet запитувати сертифікат без будь-якого доступного Node IP, лише з DNS-іменами.AllowInsecureKubeletCertificateSigningRequests
: Ввімкнення перевірки допуску вузла CertificateSigningRequests для підписувачів kubelet. Якщо ви не вимкнете цю функціональну можливість, Kubernetes вимагатиме, щоб нові сертифікати kubelet малиcommonName
, що відповідаєsystem:node:$nodeName
.AllowParsingUserUIDFromCertAuth
: Коли цю функцію увімкнено, атрибут імені субʼєкта1.3.6.1.4.1.57683.2
у сертифікаті X.509 буде оброблятися як UID користувача під час автентифікації сертифіката.AllowServiceLBStatusOnNonLB
: Дозволяє встановлювати.status.ingress.loadBalancer
для сервісів типів, відмінних відLoadBalancer
.AllowUnsafeMalformedObjectDeletion
: Дозволяє оператору кластера визначати пошкоджені ресурси за допомогою операції list, а також вводить опціюignoreStoreReadErrorWithClusterBreakingPotential
, яку оператор може встановити для виконання небезпечної та примусової операції delete таких пошкоджених ресурсів за допомогою API Kubernetes.AnonymousAuthConfigurableEndpoints
: Дозволяє налаштувати анонімну автентифікацію/авторизацію лише на певних точках доступу сервера API.AnyVolumeDataSource
: Дозволити використання будь-якого власного ресурсу якDataSource
для PVC.APIResponseCompression
: Стиснення відповідей API для запитівLIST
абоGET
.APIServerIdentity
: Присвоює кожному серверу API ідентифікатор у кластері, використовуючи Lease.APIServerTracing
: Додає підтримку розподіленого трасування у сервері API. Докладні відомості наведено у статті Трасування системних компонентів Kubernetes.APIServingWithRoute
: Ця функціональна можливість дозволяє серверу API покращити продуктивність: сервер API може використовувати окремі goroutines (легкі потоки, керовані середовищем виконання Go) для обслуговування запитів watch.AuthorizeNodeWithSelectors
: Дозволяє авторизатору вузла використовувати детальну авторизацію за допомогою селекторів. Потрібно увімкнутиAuthorizeWithSelectors
.AuthorizeWithSelectors
: Дозволяє використовувати селектори полів та міток для авторизації. Увімкнення полівfieldSelector
таlabelSelector
в API SubjectAccessReview, передає інформацію про селектори полів і міток до вебхуків авторизації, активує функціїfieldSelector
таlabelSelector
у бібліотеці CEL для авторизації, а також дозволяє перевіряти поляfieldSelector
іlabelSelector
в умовах збігу вебхуків авторизації.BtreeWatchCache
: Якщо увімкнено, сервер API замінить застарілий watch cache на основі HashMap на реалізацію на основі BTree. Ця заміна може призвести до покращення продуктивності.CBORServingAndStorage
: Вмикає CBOR як підтримуване кодування для запитів і відповідей, а також як бажане кодування сховища для власних ресурсів користувача.CloudControllerManagerWebhook
: Вмикання веб-хуків у менеджері хмарних контролерів.ClusterTrustBundle
: Вмикає обʼєкти ClusterTrustBundle та інтеграцію kubelet.ClusterTrustBundleProjection
: Джерела спроєцьованих томівclusterTrustBundle
.ComponentFlagz
: Увімкнення точки доступу flagz компонента. Докладнішу інформацію наведено у zpages.ComponentSLIs
: Вмикає точку доступу/metrics/slis
на таких компонентах Kubernetes як kubelet, kube-scheduler, kube-proxy, kube-controller-manager, cloud-controller-manager що дозволяє вам отримувати метрики перевірки працездатності.ComponentStatusz
: Вмикає точку доступу statusz компонента. Докладнішу інформацію наведено у zpages.ConcurrentWatchObjectDecode
: Вмикає одночасне декодування обʼєктів watch. Це потрібно для того, щоб уникнути голодування кешу watch API-сервера, коли встановлений вебхук перетворення.ConsistentListFromCache
:Покращує продуктивність API сервера Kubernetes, обслуговуючи узгоджені запити list безпосередньо з кешу спостереження, що підвищує масштабованість та скорочує час відгуку. Для узгодженого списку з кешу Kubernetes потрібна новіша версія etcd (v3.4.31+ або v3.5.13+), яка містить виправлення для функції запиту на прогрес спостереження. Якщо надана стара версія etcd, Kubernetes автоматично визначить це і повернеться до обслуговування узгоджених читань з etcd. Сповіщення про прогрес забезпечують узгодженість кешу спостереження з etcd, одночасно зменшуючи потребу у витратних читаннях кворуму з etcd.
Детальніше дивіться у документації Kubernetes про Семантику для get і list.
ContainerCheckpoint
: Вмикає kubeletcheckpoint
API. Дивіться Kubelet Checkpoint API для більш детальної інформації.ContainerStopSignals
: Дозволяє використовувати сигнал StopSignal життєвого циклу для контейнерів для налаштування власних сигналів за допомогою яких може бути зупинено роботу контейнера.ContextualLogging
: Вмикає додаткові деталі у виведенні логів компонентів Kubernetes, які підтримують контекстне ведення логів.CoordinatedLeaderElection
: Вмикає поведінку, що підтримує API LeaseCandidate, а також забезпечує детерміноване обрання лідера для панелі управління Kubernetes.CPUManagerPolicyAlphaOptions
: Дозволяє тонко налаштовувати політики CPUManager, експериментальні, альфа-опції якості. Ця функціональна можливість захищає групу опцій CPUManager, які мають рівень якості альфа. Ці функціональні можливості ніколи не будуть переведені у бета-версію або стабільну версію.CPUManagerPolicyBetaOptions
: Дозволяє тонко налаштовувати політики CPUManager, експериментальні, бета-опції якості. Ця функціональна можливість захищає групу опцій CPUManager, які мають рівень якості бета. Ці функціональні можливості ніколи не будуть переведені у стабільну версію.CPUManagerPolicyOptions
: Дозволяє тонко налаштовувати політики CPUManager.CRDValidationRatcheting
: Ввімкнути оновлення власних ресурсів, щоб вони містили порушення їхньої схеми OpenAPI, якщо частини ресурсу, що порушують оновлення не змінилися. Докладніші відомості наведено у статті Проковзування валідації.CronJobsScheduledAnnotation
: Встановіть час запланованого завдання як анотацію для завдань, створених від імені CronJob.CrossNamespaceVolumeDataSource
: Вмикає використання перехресного простору назв джерела даних тома щоб дозволити вам вказувати простір імен джерела у поліdataSourceRef
у PersistentVolumeClaim.CSIMigrationPortworx
: Вмикає shimʼи та логіку передачі для маршрутизації операцій тому з вбудованого втулка Portworx до втулка Portworx CSI. Вимагає встановлення та налаштування втулка Portworx CSI в кластері.CSIVolumeHealth
: Вмикає підтримку моніторингу стану справності томів CSI на вузлі.CustomCPUCFSQuotaPeriod
: Дозволяє вузлам змінюватиcpuCFSQuotaPeriod
в конфігурації kubelet.CustomResourceFieldSelectors
: ВмикаєselectableFields
в API CustomResourceDefinition, щоб дозволити фільтрацію запитів list, watch та deletecollection для власних ресурсів.DeclarativeValidation
: Вмикає декларативну валідацію внутрішніх API Kubernetes. Якщо увімкнено, для API з правилами декларативної перевірки (визначеними за допомогою IDL-теґів у коді Go) буде виконано як згенерований код декларативної перевірки, так і оригінальний код перевірки, написаний вручну. Результати порівнюються, і про будь-які розбіжності повідомляється за допомогою метрикиdeclarative_validation_mismatch_total
. Користувачеві повертається лише результат валідації, написаний вручну (наприклад: фактична валідація у шляху запиту). Оригінальна рукописна перевірка залишається авторитетною перевіркою, коли її увімкнено, але це можна змінити, якщо увімкнути функціональну можливістьDeclarativeValidationTakeover на додачу до цієї. Цей вентиль працює лише на kube-apiserver.DeclarativeValidationTakeover
: Якщо увімкнено, разом з функціональною можливістю DeclarativeValidation, помилки декларативної перевірки повертаються безпосередньо користувачеві, замінюючи помилки ручної перевірки для правил, які мають декларативну реалізацію. Якщо вимкнено (і увімкненоDeclarativeValidation
), завжди повертаються помилки перевірки, написані вручну, що фактично переводить декларативну перевірку у режим перевірки mismatch validation mode, який відстежує відповіді API, але не впливає на них. Цей режим mismatch validation mode дозволяє відстежувати метрикиdeclarative_validation_mismatch_total
таdeclarative_validation_panic_total
, які є деталями реалізації для більш безпечного розгортання, пересічному користувачеві не потрібно взаємодіяти з ними безпосередньо. Ця функціональна можливість працює лише на kube-apiserver. Примітка: Хоча декларативна валідація має на меті функціональну еквівалентність з рукописною валідацією, точний опис повідомлень про помилки може відрізнятися між цими двома підходами.DeploymentReplicaSetTerminatingReplicas
: Увімкнення нового поля стану.status.terminatingReplicas
у Deployments і ReplicaSets для відстежування завершених podʼів.DevicePluginCDIDevices
: Вмикає підтримку ідентифікаторів пристроїв CDI в API Device Plugin.DisableAllocatorDualWrite
:Ви можете увімкнути функціональну можливість
MultiCIDRServiceAllocator
. Сервер API підтримує міграцію зі старих розподільників bitmap ClusterIP на нові розподільники IPAddress.Сервер API виконує подвійний запис на обидва розподільники. Ця функція вимикає подвійний запис на нові розподільники ClusterIP; ви можете увімкнути цю функцію, якщо ви завершили відповідний етап міграції.
DisableNodeKubeProxyVersion
: Вимикає встановлення поляkubeProxyVersion
вузла.DRAAdminAccess
:Вмикає підтримку запиту доступу адміністратора у ResourceClaim або ResourceClaimTemplate. Доступ адміністратора надає доступ до використовуваних пристроїв і може включати додаткові дозволи, коли пристрій стає доступним у контейнері. Починаючи з Kubernetes v1.33, лише користувачі, яким дозволено створювати обʼєкти ResourceClaim або ResourceClaimTemplate у просторах імен, позначених
resource.k8s.io/admin-access: “true"
(з урахуванням регістру) можуть використовувати полеadminAccess
. Це гарантує, що користувачі, які не мають прав адміністратора, не зможуть зловживати функцією.Цей елемент не має ефекту, якщо ви не увімкнули функціональну можливість
DynamicResourceAllocation
.DRADeviceTaints
:Увімкнення підтримки позначення пристроїв позначкою taint і вибіркове толерування цих позначок під час використання динамічного розподілу ресурсів для керування пристроями.
Цей елемент не має ефекту, якщо ви не увімкнули функціональну можливість
DynamicResourceAllocation
.DRAPartitionableDevices
:Увімкнути підтримку запиту Пристрої, що розділяються на розділи для DRA. Це дозволяє драйверам оголошувати декілька пристроїв, які зіставляються з тими самими ресурсами фізичного пристрою.
Цей елемент не має ефекту, якщо ви не увімкнули функціональну можливість
DynamicResourceAllocation
.DRAPrioritizedList
:Вмикає підтримку функції Prioritized List. Вона дає змогу вказати пріоритетний список підзапитів для запитів у ResourceClaim.
Цей елемент не має ефекту, якщо ви не увімкнули функціональну можливість
DynamicResourceAllocation
.DRAResourceClaimDeviceStatus
: Вмикає підтримку поля ResourceClaim.status.devices та встановлення цього статусу з драйверів DRA. Для цього потрібно увімкнути функціональну можливістьDynamicResourceAllocation
.DynamicResourceAllocation
: Дозволяє підтримувати ресурси з власними параметрами та життєвим циклом які не залежать від Pod. Розподілом ресурсів займається планувальник Kubernetes використовуючи "структуровані параметри".ElasticIndexedJob
: Дозволяє масштабувати індексовані завдання шляхом зміни параметрівspec.completions
таspec.parallelism
таким чином, щобspec.completions == spec.parallelism
. Детальніше див. у документації про еластичні індексовані завдання.EventedPLEG
: Вмикає підтримку kubelet для отримання подій життєвого циклу контейнера з container runtime через розширення до CRI. (PLEG, скорочення від "Pod lifecycle event generator" — генератор подій життєвого циклу Pod). Щоб ця функція була корисною, вам також потрібно увімкнути підтримку подій життєвого циклу контейнера у кожному середовищі виконання контейнерів, що працює у вашому кластері. Якщо середовище виконання контейнера не оголошує про підтримку подій життєвого циклу контейнера, то kubelet автоматично перемикається на застарілий загальний механізм PLEG, навіть якщо ви увімкнули цю функціональну можливість.ExecProbeTimeout
: Переконайтеся, що kubelet дотримується таймаутів exec probe. Ця функція існує на випадок, якщо будь-яке з ваших робочих навантажень залежить від виправленої помилки, коли Kubernetes ігнорував тайм-аути exec probe. Дивіться проби готовності.ExternalServiceAccountTokenSigner
: Увімкніть параметр `--service-account-signing-endpoint', щоб kube-apiserver використовував зовнішнього підписувача для підписання токенів та керування ключами для перевірки токенів.GracefulNodeShutdown
: Вмикає підтримку відповідного завершення роботи у kubelet. Під час вимкнення системи kubelet намагатиметься виявити подію вимкнення і завершити роботу Podʼів, запущених на вузлі, відповідним чином. Докладніші відомості наведено у статті Відповідне вимикання вузла.GracefulNodeShutdownBasedOnPodPriority
: Дозволяє kubelet перевіряти пріоритети Pod під час відповідного завершення роботи вузла.HonorPVReclaimPolicy
: Дотримуватися політики відновлення постійного тому, коли він має значенняDelete
, незалежно від впорядкування видалення PV-PVC. Докладніші відомості наведено у документації Завершувач захисту від видалення постійних томів.HPAConfigurableTolerance
: Дозволяє встановити поріг толерантності для метрики HorizontalPodAutoscaleer.HPAScaleToZero
: Дозволяє встановлюватиminReplicas
у 0 для ресурсівHorizontalPodAutoscaler
при використанні власних або зовнішніх метрик.ImageMaximumGCAge
: Вмикає поле конфігурації kubeletimageMaximumGCAge
, що дозволяє адміністратору вказати вік, після якого образ буде викинуто у смітник.ImageVolume
: Дозволити використання джерела томуimage
у Pod. За допомогою цього джерела томів ви можете змонтувати образ контейнера як том лише для читання.InformerResourceVersion
: Вмикає перевірку останньої синхронізованої версії ресурсу за допомогою інформера.InPlacePodVerticalScaling
: Дозволяє вертикальне масштабування Podʼів на місці.InPlacePodVerticalScalingAllocatedStatus
: Вмикає полеallocatedResources
у статусі контейнера. Ця функція вимагає, щоб також було увімкнено можливістьInPlacePodVerticalScaling
.InPlacePodVerticalScalingExclusiveCPUs
: Вмикає зміну розміру ресурсу для контейнерів у Guaranteed podʼах з цілочисельними запитами на CPU. Застосовується лише у вузлах з увімкненими функціямиInPlacePodVerticalScaling
таCPUManager
, а політика CPUManager має значенняstatic
.InTreePluginPortworxUnregister
: Припиняє реєстрацію вбудованого втулка Portworx у kubelet та контролерах томів.JobBackoffLimitPerIndex
: Дозволяє вказати максимальну кількість повторних спроб для кожного індексу в проіндексованих завданнях.JobManagedBy
: Дозволяє делегувати узгодження обʼєкта Job зовнішньому контролеру.JobPodReplacementPolicy
: Дозволяє вказувати заміну для Podʼів, що завершуються, в JobJobSuccessPolicy
: Дозволяє користувачам вказувати, коли Job може бути визнаний успішним на основі набору успішних Podʼів.KMSv1
: Вмикає API KMS v1 для шифрування у стані спокою. Докладні відомості наведено у статті Використання постачальника KMS для шифрування даних.KubeletCgroupDriverFromCRI
: Вмикає виявлення параметра конфігурації драйвера cgroup kubelet з CRI. Ви можете використовувати цю функціональну можливість на вузлах з kubelet, які її підтримують, і де є середовище виконання контейнерів CRI, що підтримує виклик CRIRuntimeConfig
. Якщо як CRI, так і kubelet підтримують цю функцію, kubelet ігнорує налаштування конфігураціїcgroupDriver
(або застарілий аргумент командного рядка--cgroup-driver
). Якщо ви увімкнете цю функціональну можливість, а середовище виконання контейнерів не підтримує її, kubelet повертається до використання драйвера, налаштованого за допомогою параметра конфігураціїcgroupDriver
. Дивіться Конфігурація драйвера cgroup для отримання додаткової інформації.KubeletCrashLoopBackOffMax
: Дозволяє підтримувати конфігуровані максимальні значення backoff для кожного вузла для перезапуску контейнерів у стані CrashLoopBackOff. Для більш детальної інформації перевірте полеcrashLoopBackOff.maxContainerRestartPeriod
у kubelet config file.KubeletEnsureSecretPulledImages
: Забезпечує, що podʼи, які запитують образ, мають дозвіл на доступ до образу за допомогою наданих облікових даних, якщо образ вже присутній на вузлі. Див. розділ Забезпечення перевірки облікових даних при отриманні образу.KubeletFineGrainedAuthz
: Дозволяє детальну авторизацію для HTTP API kubelet.KubeletInUserNamespace
: Вмикає підтримку запуску kubelet у просторі імен користувачів. Див. розділ Запуск компонентів вузла Kubernetes від імені не-root користувача.KubeletPodResourcesDynamicResources
: Розширює ресурси gRPC точки доступу Podʼа kubelet, щоб включити ресурси, виділені вResourceClaims
через APIDynamicResourceAllocation
. Див. звіт про виділення ресурсів для отримання додаткової інформації, інформацією про доступні ресурси, що дозволяє клієнтам належним чином відстежувати вільні обчислювальні ресурси на вузлі.KubeletPodResourcesDynamicResources
: Розширює ресурси gRPC точки доступу Podʼа kublet, щоб включати ресурси, що виділені вResourceClaims
через APIDynamicResourceAllocation
. Див. звіт про виділення ресурсів для отримання додаткових відомостей. З цією інформацією про ресурси, клієнти можуть належним чином відстежувати вільні обчислювальні ресурси на вузлі.KubeletPodResourcesGet
: Вмикає точку доступуGet
gRPC в kubeletʼах для ресурсів Pod. Цей API доповнює звіт про розподіл ресурсів.KubeletPSI
: Вмикає метрики kubelet для виведення інформації Pressure Stall Information (PSI) у Summary API та метриках Prometheus.KubeletSeparateDiskGC
: Функція розділеної файлової системи образів дозволяє kubelet виконувати збір сміття образів (шарів лише для читання) та/або контейнерів (шарів для запису), розгорнутих на окремих файлових системах.KubeletServiceAccountTokenForCredentialProviders
: Дозволяє kubelet надсилати токен службового облікового запису, привʼязаного до podʼа, для якого отримується образ, до втулка постачальника облікових даних.KubeletTracing
: Додавання підтримки розподіленого трасування в kubelet. Якщо увімкнено, інтерфейс CRI kubelet та автентифіковані http-сервери використовуються для генерації відрізків трасування OpenTelemetry. Дивіться Трасування для системних компонентів Kubernetes для більш детальної інформації.ListFromCacheSnapshot
: Дозволяє серверу API створювати знімки для сховища кешу спостереження і використовувати їх для обслуговування LIST-запитів.LoadBalancerIPMode
: Дозволяє встановитиipMode
для сервісів, деtype
встановлено уLoadBalancer
. Докладнішу інформацію наведено у статті Визначення IPMode статусу балансувальника навантаження.LocalStorageCapacityIsolationFSQuotaMonitoring
: ЯкщоLocalStorageCapacityIsolation
увімкнено для локального ефемерного сховища, резервна файлова система для томів emptyDir підтримує квоти проєктів іUserNamespacesSupport
увімкнено, квоти проєктів використовуються для моніторингу споживання сховища томівemptyDir
, а не шляхом проходу файловою системою, що забезпечує кращу продуктивність і точність.LogarithmicScaleDown
: Вмикає напіввипадковий вибір Podʼів для виселення при зменшенні масштабу контролера на основі логарифмічного обʼєднання міток часу Podʼів.LoggingAlphaOptions
: Дозволяє тонко налаштовувати експериментальні, альфа-якості параметрів логування.LoggingBetaOptions
: Дозволяє тонко налаштовувати експериментальні, бета-якості параметрів логування.MatchLabelKeysInPodAffinity
: Вмикає поляmatchLabelKeys
таmismatchLabelKeys
для pod (anti)affinity.MatchLabelKeysInPodTopologySpread
: Вмикає полеmatchLabelKeys
для Обмеження поширення топології Podʼів.MaxUnavailableStatefulSet
: Дозволяє встановити полеmaxUnavailable
для rolling update strategy набору StatefulSet. Поле визначає максимальну кількість Podʼів, які можуть бути недоступні під час оновлення.MemoryManager
: Дозволяє встановити спорідненість памʼяті для контейнера на основі топології NUMA.MemoryQoS
: Вмикає захист памʼяті та обмеження використання памʼяті на pod/контейнер за допомогою контролера памʼяті cgroup v2.MultiCIDRServiceAllocator
: Відстежуйте розподіл IP-адрес для IP кластера сервісів за допомогою обʼєктів IPAddress.MutableCSINodeAllocatableCount
: Коли увімкнено цю функцію, полеCSINode.Spec.Drivers[*].Allocatable.Count
стає змінним, а в обʼєктіCSIDriver
зʼявляється нове поле,NodeAllocatableUpdatePeriodSeconds
. Це дозволяє періодично оновлювати том, що виділяється для вузла, запобігаючи застряганню podʼів зі збереженням стану через застарілу інформацію, на яку покладається планувальникkube-scheduler
.MutatingAdmissionPolicy
:Вмикає підтримку MutatingAdmissionPolicy для використання мутацій CEL у контролі допуску.
У версіях Kubernetes v1.30 та v1.31 ця функціональна можливість існувала, але не мала жодного ефекту.
NFTablesProxyMode
: Дозволяє запуск kube-proxy у режимі nftables.NodeInclusionPolicyInPodTopologySpread
: Вмикає використанняnodeAffinityPolicy
таnodeTaintsPolicy
в Обмеження поширення топології Podʼів при обчисленні відхилення розповсюдження топології вузлів.NodeLogQuery
: Дозволяє запитувати логи сервісів вузла за допомогою точки доступу/logs
.NodeSwap
: Дозволяє kubelet виділяти памʼять підкачки для робочих навантажень Kubernetes на вузлі. Має використовуватися зKubeletConfiguration.failSwapOn
, встановленим у false. За більш детальною інформацією зверніться до swap memoryOpenAPIEnums
: Дозволяє заповнювати поля "enum" схем OpenAPI у специфікації, що повертається від сервера API.OrderedNamespaceDeletion
: Дозволяє видаляти podʼи перед рештою ресурсів під час видалення простору імен.PodAndContainerStatsFromCRI
: Налаштуйте kubelet на збір статистики контейнерів і Podʼів під час виконання CRI-контейнера, а не на збір статистики з cAdvisor. Починаючи з версії 1.26, це також включає збір метрик з CRI та надсилання їх за допомогою/metrics/cadvisor
(замість того, щоб cAdvisor відправляв їх безпосередньо).PodDeletionCost
: Вмикає функцію Pod Deletion Cost, яка дозволяє користувачам впливати на порядок зменшення масштабу ReplicaSet.PodDisruptionConditions
: Вмикає підтримку додавання спеціальної умови, яка вказує на те, що Pod видаляється через збій.PodIndexLabel
: Дозволяє контролеру Job і контролеру StatefulSet додавати індекс Podʼів як мітку під час створення нових Podʼів. Докладніше дивіться в документах Режим завершення завдання та Мітка індексу Podʼів StatefulSet.PodLevelResources
: Вмикає Pod level resources: можливість визначати запити та ліміти ресурсів на рівні Podʼа, а не лише для контейнерів.PodLifecycleSleepAction
: Вмикає діюsleep
в хуках життєвого циклу контейнера.PodLifecycleSleepActionAllowZero
: Дозволяє встановлювати нульове значення для діїsleep
в хуках життєвого циклу контейнера.PodLogsQuerySplitStreams
: Дозволяє отримувати конкретні потоки логів (або stdout, або stderr) з потоків логів контейнера, використовуючи API Pod.PodObservedGenerationTracking
: Дозволяє kubelet встановлюватиobservedGeneration
у статусі podʼів та іншим компонентам встановлюватиobservedGeneration
в станах podʼів, щоб відобразитиmetadata.generation
podʼу на момент запису статусу або стану.PodReadyToStartContainersCondition
:Дозволяє kubelet позначати стан PodReadyToStartContainers для контейнерів Podʼів.
Раніше ця функціональна можливість була відома як
PodHasNetworkCondition
, а повʼязана з нею умова називаласяPodHasNetwork
.PodSchedulingReadiness
: Дозволяє встановлювати полеSchedulingGates
для керування готовністю до виселення за розкладом.PodTopologyLabelsAdmission
: Вмикає втулок доступуPodTopologyLabels
. Докладні відомості наведено у статті Мітки топології podʼів.PortForwardWebsockets
: Дозволити потокове передавання WebSocket підпротоколу portforward (port-forward
) від клієнтів, які запитують версію v2 (v2.portforward.k8s.io
) підпротоколу.PreferSameTrafficDistribution
: Дозволяє використовувати значенняPreferSameZone
таPreferSameNode
у полі ServicetrafficDistribution
.ProcMountType
: Дозволяє керувати типом монтування proc для контейнерів, встановлюючи полеprocMount
Podʼа уsecurityContext
.QOSReserved
: Дозволяє резервувати ресурси на рівні QoS, запобігаючи тим самим тому, щоб підсистеми на рівнях QoS нижчого рівня виходили за межі ресурсів, запитаних на рівнях QoS вищого рівня (наразі лише памʼять).RecoverVolumeExpansionFailure
: Дозволяє користувачам редагувати свої PVC до менших розмірів, щоб можна було відновити їх після попередніх збоїв під час розширення томів. Докладні відомості див. у статті Відновлення після збою під час розширення томів.RecursiveReadOnlyMounts
: Вмикає підтримку рекурсивних монтувань лише для читання. Докладні відомості наведено у статті монтування лише для читання.ReduceDefaultCrashLoopBackOffDecay
: Дозволяє зменшити як початкову затримку, так і максимальну затримку, що накопичується між перезапусками контейнерів для вузла для контейнерів уCrashLoopBackOff
по всьому кластеру до1s
початкової затримки та60s
максимальної затримки.RelaxedDNSSearchValidation
: Послаблює перевірку на стороні сервера рядка пошуку DNS (.spec.dnsConfig.searches
) для контейнерів. Наприклад, з цією увімкненою можливістю можна включити символ_
до рядка пошуку імен DNS.RelaxedEnvironmentVariableValidation
: Дозволити майже всі друковані символи ASCII у змінних оточення.ReloadKubeletServerCertificateFile
:Дозволяє TLS-серверу kubelet оновлювати свій сертифікат, якщо вказаний файл сертифіката змінено.
Ця функція корисна при вказівці
tlsCertFile
іtlsPrivateKeyFile
в конфігурації kubelet. Функція gate не впливає на інші випадки, такі як використання TLS boostrap.RemoteRequestHeaderUID
: Дозволяє серверу API приймати UID (ідентифікатори користувачів) через автентифікацію заголовка запиту. Це також змусить агрегатор APIkube-apiserver
додавати UID у стандартних заголовках під час пересилання запитів до серверів, що обслуговують агрегований API.ResilientWatchCacheInitialization
: Дозволяє відмовостійку ініціалізацію кешу watch, щоб уникнути перевантаження панелі управління.ResourceHealthStatus
: Вмикає полеallocatedResourcesStatus
у файлі.status
для Pod. У полі буде показано додаткові відомості для кожного контейнера у Pod, а також інформацію про стан кожного пристрою, призначеного для Pod. Докладні відомості наведено у статті Втулок пристрою та несправні пристрої.RetryGenerateName
: Дозволяє повторити спробу створення обʼєкта, коли API server очікується, що сервер API server згенерує name. Якщо цю можливість увімкнено, запити з використаннямgenerateName
будуть автоматично повторюватися, якщо панель управління виявить конфлікт імен з наявним обʼєктом, але не більше 8 спроб.RetryGenerateName
:Дозволяє повторити спробу створення обʼєкта, коли очікується, що API server створить name.
Коли цю можливість увімкнено, запити з використанням
generateName
автоматично повторюються у випадку, якщо панель управління виявляє конфлікт імен з наявним обʼєктом, до обмеження у 8 спроб.RotateKubeletServerCertificate
: Вмикає ротацію серверного TLS-сертифікату в kubelet. Дивіться kubelet configuration для більш детальної інформації.RuntimeClassInImageCriApi
: Дозволяє витягувати зображення на основі класу виконання Podʼів, які посилаються на них.SchedulerAsyncPreemption
: Дозволяє запуск деяких вибагливих операцій в межах планувальника, повʼязаних з випередженням, асинхронно. Асинхронна обробка випередження покращує загальну продуктивність планування Pod.SchedulerPopFromBackoffQ
: Покращує поведінку черги планування, виштовхуючи pod'и з backoffQ, коли activeQ порожній. Це дозволяє обробляти потенційно заплановані pod'и якнайшвидше, усуваючи штрафний ефект черги backoff.SchedulerQueueingHints
: Вмикає функцію покращення підказок планувальника, що дозволяє зменшити кількість марних перезапитів. Планувальник повторно спробує запланувати Podʼи, якщо щось зміниться у кластері, що може призвести до того, що Pod буде заплановано. Підказки щодо черги — це внутрішні сигнали, які дозволяють планувальнику відфільтрувати зміни у кластері, які мають відношення до незапланованого Podʼа, на основі попередніх спроб планування.SELinuxChangePolicy
:Вмикає поле
spec.securityContext.seLinuxChangePolicy
. За допомогою цього поля можна відмовитися від застосування мітки SELinux до томів podʼів за допомогою параметрів монтування. Це потрібно, якщо один том, який підтримує монтування за допомогою параметрів монтування SELinux, використовується спільно з іншими томами, які мають різні мітки SELinux, наприклад, привілейованим і непривілейованим томами.Увімкнення
SELinuxChangePolicy
вимагає увімкненняSELinuxMountReadWriteOncePod
.SELinuxMount
:Прискорює запуск контейнера, дозволяючи kubelet монтувати томи для Pod безпосередньо з правильною міткою SELinux замість того, щоб рекурсивно змінювати кожен файл на томах. Це розширює можливості покращення продуктивності за допомогою
SELinuxMountReadWriteOncePod
, поширюючи реалізацію на всі томи.Для увімкнення
SELinuxMount
потрібно, щоб було увімкненоSELinuxChangePolicy
.SELinuxMountReadWriteOncePod
: Прискорює запуск контейнера, дозволяючи kubelet монтувати томи для Pod безпосередньо з правильною міткою SELinux замість того, щоб рекурсивно змінювати кожен файл на томах. Початкова реалізація була зосереджена на томах ReadWriteOncePod.SeparateCacheWatchRPC
: Дозволяє серверу API створювати спостереження в кеші на відділеному RPC. Це запобігає голодуванню кешу спостереження іншими спостереженнями.SeparateTaintEvictionController
: Дозволяє запускTaintEvictionController
, який виконує Taint-based Evictions, у контролері, відокремленому відNodeLifecycleController
. Коли цю можливість увімкнено, користувачі можуть за бажанням вимкнути виселення на основі Taint, встановивши прапорець--controllers=-taint-eviction-controller
уkube-controller-manager
.ServiceAcccountNodeAudienceRestriction
: Ця функціональна можливість використовується для обмеження аудиторії, для якої kubelet може запитувати токен службового облікового запису.ServiceAccountTokenJTI
: Контролює, чи вбудовуються JTI (UUID) у згенеровані токени службових облікових записів, і чи записуються ці JTI до логу аудиту Kubernetes для майбутніх запитів, зроблених цими токенами.ServiceAccountTokenNodeBinding
: Контролює, чи дозволяє сервер API привʼязувати токени службових облікових записів до обʼєктів Node.ServiceAccountTokenNodeBindingValidation
: Керує тим, чи буде apiserver перевіряти посилання на Node у токенах службових облікових записів.ServiceAccountTokenPodNodeInfo
: Керує тим, чи вбудовувати імʼя вузла та uid для повʼязаного з ним вузла при видачі токенів службових облікових записів, привʼязаних до обʼєктів Pod.ServiceTrafficDistribution
: Дозволяє використовувати необовʼязкове полеspec.trafficDistribution
у Services. У цьому полі можна вказати параметри розподілу трафіку між точками доступу Service.SidecarContainers
: Дозволити встановлюватиrestartPolicy
контейнера init значенняAlways
, щоб контейнер ставав sidecar-контейнером (контейнери init, які можна перезапустити). Дивіться Контейнери Sidecar та restartPolicy для отримання більш детальної інформації.SizeMemoryBackedVolumes
: Дозволяє kubelet визначати обмеження розміру для памʼяті, яка використовується для томів (головним чином для томівemptyDir
).StatefulSetAutoDeletePVC
: Дозволяє використовувати необовʼязкове поле.spec.persistentVolumeClaimRetentionPolicy
, що забезпечує контроль над видаленням PVC у життєвому циклі StatefulSet. Дивіться PersistentVolumeClaim retention для більш детальної інформації.StatefulSetStartOrdinal
: Дозволити налаштування порядкового номера старту у StatefulSet. Дивіться Початковий порядковий номер для більш детальної інформації.StorageCapacityScoring
: У версії 1.32 для підтримки сховищ зі статичним резервуванням використовувався елементVolumeCapacityPriority
. Починаючи з версії 1.33, новий елементStorageCapacityScoring
замінює старий елементVolumeCapacityPriority
з додатковою підтримкою сховищ з динамічним резервуванням. КолиStorageCapacityScoring
увімкнено, втулок VolumeBinding у kube-scheduler розширено, щоб оцінювати вузли на основі місткості сховища на кожному з них. Ця функція застосовується до томів CSI, які підтримують Обсяг сховища, включно з локальним сховищем, яке підтримується драйвером CSI.StorageNamespaceIndex
: Вмикає індексатор простору імен для ресурсів, обмежених простором імен, в кеші сервера API для прискорення операцій list.StorageVersionAPI
: Вмикає API версії зберігання.StorageVersionHash
: Дозволити API-серверам показувати хеш версії сховища при відкритті.StorageVersionMigrator
: Вмикає міграцію версій сховища. Докладні відомості наведено у статті Міграція обʼєктів Kubernetes за допомогою міграції версій сховища.StrictCostEnforcementForVAP
: Застосовує сувору валідацію витрат CEL для ValidatingAdmissionPolicies.StrictCostEnforcementForWebhooks
: Застосовує сувору перевірку вартості CEL дляmatchConditions
у вебхуків допуску.StrictIPCIDRValidation
:Використовує суворішу перевірку для полів, що містять IP-адреси та значення CIDR.
Зокрема, з увімкненою функціональною можливістю, октети в IPv4-адресах не повинні містити початкових
0
, а IPv4-відображені значення IPv6 (наприклад,::ffff:192.168.0.1
) заборонені. Такі значення потенційно можуть спричинити проблеми з безпекою, коли різні компоненти інтерпретують один і той самий рядок як такий, що посилається на різні IP-адреси (як у CVE-2021-29923).Це посилення стосується лише полів у вбудованих типах API, а не користувацьких типів ресурсів, значень у конфігураційних файлах Kubernetes або аргументів командного рядка.
StructuredAuthenticationConfiguration
: Вмикає конфігурацію структурованої автентифікації для сервера API.StructuredAuthorizationConfiguration
: Вмикає структуровану конфігурацію авторизації, щоб адміністратори кластера могли вказати більше одного webhook авторизації в ланцюжку обробників серверів API.SupplementalGroupsPolicy
: Вмикає підтримку детального контролю SupplementalGroups. Докладні відомості див. у статті Налаштування детального контролю SupplementalGroups для Podʼа.SystemdWatchdog
: Дозволяє використання systemd watchdog для моніторингу статусу справності kubelet. Див. Kubelet Systemd Watchdog для отримання додаткових відомостей.TopologyAwareHints
: Вмикає маршрутизацію з урахуванням топології на основі підказок топології у EndpointSlices. Див. статтю Підказки з урахуванням топології для отримання детальнішої інформації.TopologyManagerPolicyAlphaOptions
: Дозволяє тонке налаштування політик менеджера топології, експериментальні варіанти з альфа-якістю. Ця функціональна можливість захищає групу параметрів менеджера топології, рівень якості яких є альфа. Ця функціональна можливість ніколи не перейде до бета-версії або стабільної версії.TopologyManagerPolicyBetaOptions
: Дозволяє тонке налаштування політик менеджера топології, експериментальні варіанти з бета-якістю. Ця функціональна можливість захищає групу параметрів менеджера топології, рівень якості яких є бета. Ця функціональна можливість ніколи не перейде до стабільної версії.TopologyManagerPolicyOptions
: Вмикає тонке налаштування політик менеджера топології.TranslateStreamCloseWebsocketRequests
: Дозволити WebSocket потік підпротоколу віддалених команд (exec
,cp
,attach
) від клієнтів, які запитують версію 5 (v5) підпротоколу.UnauthenticatedHTTP2DOSMitigation
: Вмикає помʼякшення наслідків відмови в обслуговуванні (DoS) HTTP/2 для неавторизованих клієнтів. У версіях Kubernetes від 1.28.0 до 1.28.2 ця функція не включена.UnknownVersionInteroperabilityProxy
: Проксі-запити ресурсів до правильного однорангового kube-apiserver, коли існує декілька kube-апісерверів у різних версіях. Докладнішу інформацію наведено у статті Проксі змішаних версій.UserNamespacesPodSecurityStandards
: Дозволити помʼякшення політик стандартів безпеки для Podʼів, які працюють з просторами імен. Ви маєте встановити значення цієї можливості узгоджено на всіх вузлах кластера, а також увімкнутиUserNamespacesSupport
, щоб використовувати цю можливість.UserNamespacesSupport
: Вмикання підтримки простору імен користувача для Podʼів.VolumeAttributesClass
: Вмикання підтримки класів VolumeAttributesClasses. Докладні відомості див. у статті Класи атрибутів томів.WatchCacheInitializationPostStartHook
: Вмикає post-start-hook для ініціалізації watchcache як частину readyz (з таймаутом).WatchFromStorageWithoutResourceVersion
: Дозволяє watch безresourceVersion
працювати зі сховища.WatchList
: Вмикання підтримки потокового передавання початкового стану обʼєктів у запитах на спостереження.WatchListClient
: Дозволяє клієнту API запитувати потік даних замість отримання повного списку. Ця функціональність доступна вclient-go
і вимагає, щоб на сервері була ввімкнена функція WatchList. ЯкщоWatchList
не підтримується на сервері, клієнт повернеться до стандартного запиту списку.WindowsCPUAndMemoryAffinity
: Додає підтримку спорідненості CPU та памʼяті до вузлів Windows за допомогою CPUManager, MemoryManager та менеджера топології.WindowsGracefulNodeShutdown
: Вмикає підтримку у kubelet підтримки належного завершення роботи вузла Windows. Під час вимкнення системи kubelet намагатиметься виявити подію вимкнення і належним чином завершити роботу podʼів, запущених на вузлі. Докладніші відомості наведено у статті Graceful Node Shutdown.WindowsHostNetwork
: Вмикає підтримку приєднання контейнерів Windows до мережевого простору імен хостів.WinDSR
: Дозволяєkube-proxy
створювати DSR-балансувальники навантаження для Windows.WinOverlay
: Дозволяєkube-proxy
працювати в режимі оверлею для Windows.
Що далі
- У Політиці застарівання Kubernetes пояснюється підхід проєкту до видалення функцій та компонентів.
- Починаючи з Kubernetes 1.24, нові бета-версії API стандартно не увімкнені. При увімкненні бета-версії вам також потрібно буде увімкнути всі повʼязані з цим API ресурси. Наприклад, щоб увімкнути певний ресурс, наприклад
storage.k8s.io/v1beta1/csistoragecapacities
, встановіть--runtime-config=storage.k8s.io/v1beta1/csistoragecapacities
. Докладнішу інформацію про прапорці командного рядка наведено в Версіювання API.