Функціональні можливості
Ця сторінка містить огляд різних функціональних можливостей, які адміністратор може вказати для різних компонентів Kubernetes.
Дивіться функціональні стадії для пояснення стадій функції.
Огляд
Функціональні можливості — це набір пар ключ=значення, які описують функції Kubernetes. Ви можете увімкнути або вимкнути ці функції, використовуючи прапорець командного рядка --feature-gates
на кожному компоненті Kubernetes.
Кожен компонент Kubernetes дозволяє вам увімкнути або вимкнути набір функціональних можливостей, які стосуються цього компонента. Використовуйте прапорець -h
, щоб побачити повний набір функціональних можливостей для всіх компонентів. Щоб встановити функціональні можливості для компонента, такого як kubelet, використовуйте прапорець --feature-gates
, призначений для списку пар функцій:
--feature-gates=...,GracefulNodeShutdown=true
Наступні таблиці є підсумком функціональних можливостей, які ви можете встановити на різних компонентах Kubernetes.
- Стовпець "З версії" містить випуск Kubernetes, коли функція вперше введена або змінено її стадію випуску.
- Стовпець "До" містить останній випуск Kubernetes, в якому ви все ще можете використовувати функціональну можливість.
- Якщо функція знаходиться в стані Alpha або Beta, ви можете знайти функцію в переліку Таблиці функціональних можливостей для Alpha або Beta функцій.
- Якщо функція стабільна, ви можете знайти всі стадії для цієї функції в переліку Таблиці функціональних можливостей для стабільних або застарілих функцій.
- Таблиця функціональних можливостей для стабільних або застарілих функцій також містить застарілі та вилучені функції.
Примітка:
Для посилання на старі функціональні можливості, які вилучені, дивіться вилучені функціональні можливості.Функціональні можливості для функцій Alpha або Beta
Властивість | Стандартно | Стадія | Починаючи з | До |
---|---|---|---|---|
AllowUnsafeMalformedObjectDeletion | false | Alpha | 1.32 | – |
AnonymousAuthConfigurableEndpoints | false | Alpha | 1.31 | 1.31 |
AnonymousAuthConfigurableEndpoints | true | Beta | 1.32 | – |
AnyVolumeDataSource | false | Alpha | 1.18 | 1.23 |
AnyVolumeDataSource | true | Beta | 1.24 | – |
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 | – |
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 | – |
ClusterTrustBundleProjection | false | Alpha | 1.29 | – |
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 | – |
ContextualLogging | false | Alpha | 1.24 | – |
ContextualLogging | true | Beta | 1.30 | – |
CoordinatedLeaderElection | false | Alpha | 1.31 | – |
CPUManagerPolicyAlphaOptions | false | Alpha | 1.23 | – |
CPUManagerPolicyBetaOptions | true | Beta | 1.23 | – |
CPUManagerPolicyOptions | false | Alpha | 1.22 | 1.22 |
CPUManagerPolicyOptions | true | Beta | 1.23 | – |
CRDValidationRatcheting | false | Alpha | 1.28 | 1.29 |
CRDValidationRatcheting | true | Beta | 1.30 | – |
CrossNamespaceVolumeDataSource | false | Alpha | 1.26 | – |
CSIMigrationPortworx | false | Alpha | 1.23 | 1.24 |
CSIMigrationPortworx | false | Beta | 1.25 | 1.30 |
CSIMigrationPortworx | true | Beta | 1.31 | – |
CSIVolumeHealth | false | Alpha | 1.21 | – |
CustomCPUCFSQuotaPeriod | false | Alpha | 1.12 | – |
DisableAllocatorDualWrite | false | Alpha | 1.31 | – |
DisableNodeKubeProxyVersion | false | Alpha | 1.29 | 1.30 |
DisableNodeKubeProxyVersion | true | Beta | 1.31 | – |
DRAAdminAccess | false | Alpha | 1.32 | – |
DRAResourceClaimDeviceStatus | false | Alpha | 1.32 | – |
DynamicResourceAllocation | false | Alpha | 1.30 | 1.31 |
DynamicResourceAllocation | false | Beta | 1.32 | – |
EventedPLEG | false | Alpha | 1.25 | – |
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 | – |
HonorPVReclaimPolicy | false | Alpha | 1.23 | 1.30 |
HonorPVReclaimPolicy | true | Beta | 1.31 | – |
HPAScaleToZero | false | Alpha | 1.16 | – |
ImageMaximumGCAge | false | Alpha | 1.29 | 1.29 |
ImageMaximumGCAge | true | Beta | 1.30 | – |
ImageVolume | false | Alpha | 1.31 | – |
InPlacePodVerticalScaling | false | Alpha | 1.27 | – |
InTreePluginPortworxUnregister | false | Alpha | 1.23 | – |
JobBackoffLimitPerIndex | false | Alpha | 1.28 | 1.28 |
JobBackoffLimitPerIndex | true | Beta | 1.29 | – |
JobManagedBy | false | Alpha | 1.30 | 1.31 |
JobManagedBy | false | Beta | 1.32 | – |
JobPodReplacementPolicy | false | Alpha | 1.28 | 1.28 |
JobPodReplacementPolicy | true | Beta | 1.29 | – |
JobSuccessPolicy | false | Alpha | 1.30 | 1.30 |
JobSuccessPolicy | true | Beta | 1.31 | – |
KubeletCgroupDriverFromCRI | false | Alpha | 1.28 | 1.30 |
KubeletCgroupDriverFromCRI | true | Beta | 1.31 | – |
KubeletCrashLoopBackOffMax | false | Alpha | 1.32 | – |
KubeletFineGrainedAuthz | false | Alpha | 1.32 | – |
KubeletInUserNamespace | false | Alpha | 1.22 | – |
KubeletPodResourcesDynamicResources | false | Alpha | 1.27 | – |
KubeletPodResourcesDynamicResources | false | Alpha | 1.27 | – |
KubeletPodResourcesGet | false | Alpha | 1.27 | – |
KubeletSeparateDiskGC | false | Alpha | 1.29 | 1.30 |
KubeletSeparateDiskGC | true | Beta | 1.31 | – |
KubeletTracing | false | Alpha | 1.25 | 1.26 |
KubeletTracing | true | Beta | 1.27 | – |
LocalStorageCapacityIsolationFSQuotaMonitoring | false | Alpha | 1.15 | 1.30 |
LocalStorageCapacityIsolationFSQuotaMonitoring | false | Beta | 1.31 | – |
LoggingAlphaOptions | false | Alpha | 1.24 | – |
LoggingBetaOptions | true | Beta | 1.24 | – |
MatchLabelKeysInPodAffinity | false | Alpha | 1.29 | 1.30 |
MatchLabelKeysInPodAffinity | true | Beta | 1.31 | – |
MatchLabelKeysInPodTopologySpread | false | Alpha | 1.25 | 1.26 |
MatchLabelKeysInPodTopologySpread | true | Beta | 1.27 | – |
MaxUnavailableStatefulSet | false | Alpha | 1.24 | – |
MemoryQoS | false | Alpha | 1.22 | – |
MultiCIDRServiceAllocator | false | Alpha | 1.27 | 1.30 |
MultiCIDRServiceAllocator | false | Beta | 1.31 | – |
MutatingAdmissionPolicy | false | Alpha | 1.30 | – |
NFTablesProxyMode | false | Alpha | 1.29 | 1.30 |
NFTablesProxyMode | true | Beta | 1.31 | – |
NodeInclusionPolicyInPodTopologySpread | false | Alpha | 1.25 | 1.25 |
NodeInclusionPolicyInPodTopologySpread | true | Beta | 1.26 | – |
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 | – |
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 | – |
PodLogsQuerySplitStreams | false | Alpha | 1.32 | – |
PodReadyToStartContainersCondition | false | Alpha | 1.28 | 1.28 |
PodReadyToStartContainersCondition | true | Beta | 1.29 | – |
PortForwardWebsockets | false | Alpha | 1.30 | 1.30 |
PortForwardWebsockets | true | Beta | 1.31 | – |
PreferAlignCpusByUncoreCache | false | Alpha | 1.32 | – |
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 | – |
RecursiveReadOnlyMounts | false | Alpha | 1.30 | 1.30 |
RecursiveReadOnlyMounts | true | Beta | 1.31 | – |
RelaxedEnvironmentVariableValidation | false | Alpha | 1.30 | 1.31 |
RelaxedEnvironmentVariableValidation | true | Beta | 1.32 | – |
ReloadKubeletServerCertificateFile | true | Beta | 1.31 | – |
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 | – |
SchedulerQueueingHints | true | Beta | 1.28 | 1.28 |
SchedulerQueueingHints | false | Beta | 1.29 | 1.31 |
SchedulerQueueingHints | true | Beta | 1.32 | – |
SELinuxChangePolicy | false | Alpha | 1.32 | – |
SELinuxMount | false | Alpha | 1.30 | – |
SELinuxMountReadWriteOncePod | false | Alpha | 1.25 | 1.26 |
SELinuxMountReadWriteOncePod | false | Beta | 1.27 | 1.27 |
SELinuxMountReadWriteOncePod | true | Beta | 1.28 | – |
SeparateTaintEvictionController | true | Beta | 1.29 | – |
ServiceAccountTokenNodeBinding | false | Alpha | 1.29 | 1.30 |
ServiceAccountTokenNodeBinding | true | Beta | 1.31 | – |
ServiceTrafficDistribution | false | Alpha | 1.30 | 1.30 |
ServiceTrafficDistribution | true | Beta | 1.31 | – |
SidecarContainers | false | Alpha | 1.28 | 1.28 |
SidecarContainers | true | Beta | 1.29 | – |
StorageVersionAPI | false | Alpha | 1.20 | – |
StorageVersionHash | false | Alpha | 1.14 | 1.14 |
StorageVersionHash | true | Beta | 1.15 | – |
StorageVersionMigrator | false | Alpha | 1.30 | 1.32 |
StrictCostEnforcementForVAP | false | Beta | 1.31 | – |
StrictCostEnforcementForWebhooks | false | Beta | 1.31 | – |
StructuredAuthenticationConfiguration | false | Alpha | 1.29 | 1.29 |
StructuredAuthenticationConfiguration | true | Beta | 1.30 | – |
SupplementalGroupsPolicy | false | Alpha | 1.31 | – |
SystemdWatchdog | true | Beta | 1.32 | – |
TopologyAwareHints | false | Alpha | 1.21 | 1.22 |
TopologyAwareHints | false | Beta | 1.23 | 1.23 |
TopologyAwareHints | true | Beta | 1.24 | – |
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 | – |
VolumeAttributesClass | false | Alpha | 1.29 | 1.30 |
VolumeAttributesClass | false | Beta | 1.31 | – |
VolumeCapacityPriority | false | Alpha | 1.21 | – |
WatchCacheInitializationPostStartHook | false | Beta | 1.31 | – |
WatchFromStorageWithoutResourceVersion | false | Beta | 1.30 | – |
WatchList | false | Alpha | 1.27 | 1.31 |
WatchList | true | Beta | 1.32 | – |
WatchListClient | false | Beta | 1.30 | – |
WindowsCPUAndMemoryAffinity | false | Alpha | 1.32 | – |
WindowsGracefulNodeShutdown | false | Alpha | 1.32 | – |
WindowsHostNetwork | true | Alpha | 1.26 | – |
WinDSR | false | Alpha | 1.14 | – |
WinOverlay | false | Alpha | 1.14 | 1.19 |
WinOverlay | true | Beta | 1.20 | – |
Функціональні можливості для стабільних або застарілих функцій
Властивість | Стандартно | Стадія | Починаючи з | До |
---|---|---|---|---|
AdmissionWebhookMatchConditions | false | Alpha | 1.27 | 1.27 |
AdmissionWebhookMatchConditions | true | Beta | 1.28 | 1.29 |
AdmissionWebhookMatchConditions | true | GA | 1.30 | – |
AggregatedDiscoveryEndpoint | false | Alpha | 1.26 | 1.26 |
AggregatedDiscoveryEndpoint | true | Beta | 1.27 | 1.29 |
AggregatedDiscoveryEndpoint | true | GA | 1.30 | – |
AllowDNSOnlyNodeCSR | false | Deprecated | 1.31 | – |
AllowInsecureKubeletCertificateSigningRequests | false | Deprecated | 1.31 | – |
AllowServiceLBStatusOnNonLB | false | Deprecated | 1.29 | – |
APIListChunking | false | Alpha | 1.8 | 1.8 |
APIListChunking | true | Beta | 1.9 | 1.28 |
APIListChunking | true | GA | 1.29 | – |
AppArmor | true | Beta | 1.4 | 1.30 |
AppArmor | true | GA | 1.31 | – |
AppArmorFields | true | Beta | 1.30 | 1.30 |
AppArmorFields | true | GA | 1.31 | – |
CPUManager | false | Alpha | 1.8 | 1.9 |
CPUManager | true | Beta | 1.10 | 1.25 |
CPUManager | true | GA | 1.26 | – |
CronJobsScheduledAnnotation | true | Beta | 1.28 | 1.31 |
CronJobsScheduledAnnotation | true | GA | 1.32 | – |
CustomResourceFieldSelectors | false | Alpha | 1.30 | 1.30 |
CustomResourceFieldSelectors | true | Beta | 1.31 | 1.31 |
CustomResourceFieldSelectors | true | GA | 1.32 | – |
DefaultHostNetworkHostPortsInPodTemplates | false | Deprecated | 1.28 | – |
DevicePluginCDIDevices | false | Alpha | 1.28 | 1.28 |
DevicePluginCDIDevices | true | Beta | 1.29 | 1.30 |
DevicePluginCDIDevices | true | GA | 1.31 | – |
DisableCloudProviders | false | Alpha | 1.22 | 1.28 |
DisableCloudProviders | true | Beta | 1.29 | 1.30 |
DisableCloudProviders | true | GA | 1.31 | – |
DisableKubeletCloudCredentialProviders | false | Alpha | 1.23 | 1.28 |
DisableKubeletCloudCredentialProviders | true | Beta | 1.29 | 1.30 |
DisableKubeletCloudCredentialProviders | true | GA | 1.31 | – |
EfficientWatchResumption | false | Alpha | 1.20 | 1.20 |
EfficientWatchResumption | true | Beta | 1.21 | 1.23 |
EfficientWatchResumption | true | GA | 1.24 | – |
ElasticIndexedJob | true | Beta | 1.27 | 1.30 |
ElasticIndexedJob | true | GA | 1.31 | – |
ExecProbeTimeout | true | GA | 1.20 | – |
JobPodFailurePolicy | false | Alpha | 1.25 | 1.25 |
JobPodFailurePolicy | true | Beta | 1.26 | 1.30 |
JobPodFailurePolicy | true | GA | 1.31 | – |
KMSv1 | true | Deprecated | 1.28 | 1.28 |
KMSv1 | false | Deprecated | 1.29 | – |
KubeProxyDrainingTerminatingNodes | false | Alpha | 1.28 | 1.30 |
KubeProxyDrainingTerminatingNodes | true | Beta | 1.30 | 1.30 |
KubeProxyDrainingTerminatingNodes | true | GA | 1.31 | – |
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 | – |
MemoryManager | false | Alpha | 1.21 | 1.21 |
MemoryManager | true | Beta | 1.22 | 1.31 |
MemoryManager | true | GA | 1.32 | – |
PDBUnhealthyPodEvictionPolicy | false | Alpha | 1.26 | 1.26 |
PDBUnhealthyPodEvictionPolicy | true | Beta | 1.27 | 1.30 |
PDBUnhealthyPodEvictionPolicy | true | GA | 1.31 | – |
PersistentVolumeLastPhaseTransitionTime | false | Alpha | 1.28 | 1.28 |
PersistentVolumeLastPhaseTransitionTime | true | Beta | 1.29 | 1.30 |
PersistentVolumeLastPhaseTransitionTime | true | GA | 1.31 | – |
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 | – |
RemainingItemCount | false | Alpha | 1.15 | 1.15 |
RemainingItemCount | true | Beta | 1.16 | 1.28 |
RemainingItemCount | true | GA | 1.29 | – |
RetryGenerateName | false | Alpha | 1.30 | 1.30 |
RetryGenerateName | true | Beta | 1.31 | 1.31 |
RetryGenerateName | true | GA | 1.32 | – |
ServiceAccountTokenJTI | false | Alpha | 1.29 | 1.29 |
ServiceAccountTokenJTI | true | Beta | 1.30 | 1.31 |
ServiceAccountTokenJTI | true | GA | 1.32 | – |
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 | – |
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 | – |
StructuredAuthorizationConfiguration | false | Alpha | 1.29 | 1.29 |
StructuredAuthorizationConfiguration | true | Beta | 1.30 | 1.31 |
StructuredAuthorizationConfiguration | true | GA | 1.32 | – |
TopologyManagerPolicyOptions | false | Alpha | 1.26 | 1.27 |
TopologyManagerPolicyOptions | true | Beta | 1.28 | 1.31 |
TopologyManagerPolicyOptions | true | GA | 1.32 | – |
ValidatingAdmissionPolicy | false | Alpha | 1.26 | 1.27 |
ValidatingAdmissionPolicy | false | Beta | 1.28 | 1.29 |
ValidatingAdmissionPolicy | true | GA | 1.30 | – |
WatchBookmark | false | Alpha | 1.15 | 1.15 |
WatchBookmark | true | Beta | 1.16 | 1.16 |
WatchBookmark | true | GA | 1.17 | – |
Використання функцій
Стадії функцій
Кожна функція може бути в стані Alpha, Beta або GA (загальнодоступна).
Alpha означає:
- Функція є типово вимкненою.
- Функція може містити помилки. Увімкнення функції може призвести до непередбачуваної поведінки.
- Підтримка функції може бути припинена в будь-який момент без попередження.
- API може змінюватися в несумісний спосіб в майбутніх випусках без попередження.
- Рекомендується використовувати функцію в кластерах з коротким терміном життя через значний ризик помилок та відсутність довгострокової підтримки.
Beta означає:
- Зазвичай функція є типово увімкненою. Бета API групи є типово вимкненими.
- Функція є добре протестованою. Увімкнення функції вважається безпечним.
- Підтримка загального функціонала не буде припинена, хоча деталі можуть змінюватися.
- Схема та/або семантика обʼєктів можуть змінюватися несумісними способами в наступному бета або стабільному випуску. Коли це станеться, ми надамо інструкції для переходу на наступну версію. Це може вимагати видалення, редагування та повторного створення API обʼєктів. Процес редагування може потребувати певних зусиль. Це може вимагати простою для застосунків, які залежать від функції.
- Рекомендується використовувати лише для некритичних для бізнесу випадків через можливість несумісних змін у наступних випусках. Якщо у вас є кілька кластерів, які можуть бути оновлені незалежно, ви можете послабити це обмеження.
Примітка:
Будь ласка, спробуйте Beta функції та надайте про них відгуки! Після виходу з бета-версії, можливо, буде недоцільно вносити більше змін.Функція в стані Загальна доступність (GA) також називається стабільною функцією. Це означає:
- Функція завжди увімкнена; ви не можете її вимкнути.
- Відповідний перемикач функціональної можливості більше не потрібен.
- Стабільні версії функцій зʼявлятимуться у випущеному програмному забезпеченні для багатьох наступних версій.
Перелік функціональних можливостей
Кожна функціональна можливість створена для вмикання/вимикання певної функції.
AdmissionWebhookMatchConditions
: Вмикає умови збігу для модифікації та перевірки вебхуків допуску.AggregatedDiscoveryEndpoint
: Вмикає єдину точку доступу до HTTP/discovery/<version>
, яка підтримує власне кешування HTTP за допомогою теґів, що містять усі відомі APIResources на сервері API.AllowDNSOnlyNodeCSR
: Дозволяє kubelet запитувати сертифікат без будь-якого доступного Node IP, лише з DNS-іменами.AllowInsecureKubeletCertificateSigningRequests
: Ввімкнення перевірки допуску вузла CertificateSigningRequests для підписувачів kubelet. Якщо ви не вимкнете цю функціональну можливість, Kubernetes вимагатиме, щоб нові сертифікати kubelet малиcommonName
, що відповідаєsystem:node:$nodeName
.AllowServiceLBStatusOnNonLB
: Дозволяє встановлювати.status.ingress.loadBalancer
для сервісів типів, відмінних відLoadBalancer
.AllowUnsafeMalformedObjectDeletion
: Дозволяє оператору кластера визначати пошкоджені ресурси за допомогою операції list, а також вводить опціюignoreStoreReadErrorWithClusterBreakingPotential
, яку оператор може встановити для виконання небезпечної та примусової операції delete таких пошкоджених ресурсів за допомогою API Kubernetes.AnonymousAuthConfigurableEndpoints
: Дозволяє налаштувати анонімну автентифікацію/авторизацію лише на певних точках доступу сервера API.AnyVolumeDataSource
: Дозволити використання будь-якого власного ресурсу якDataSource
для PVC.APIListChunking
: Дозволяє клієнтам API отримувати (LIST
абоGET
) ресурси з сервера API частинами.APIResponseCompression
: Стиснення відповідей API для запитівLIST
абоGET
.APIServerIdentity
: Присвоює кожному серверу API ідентифікатор у кластері, використовуючи Lease.APIServerTracing
: Додає підтримку розподіленого трасування у сервері API. Докладні відомості наведено у статті Трасування системних компонентів Kubernetes.AppArmor
: Вмикає використання примусового контролю доступу AppArmor для Podʼів, що працюють на вузлах Linux. Докладнішу інформацію наведено у Посібнику з AppArmor.AppArmorFields
:Вмикає параметри контексту безпеки, повʼязані з AppArmor.
Для отримання додаткової інформації про AppArmor і Kubernetes, дивіться AppArmor у розділі функції безпеки у ядрі Linux.
AuthorizeNodeWithSelectors
: Дозволяє авторизатору вузла використовувати детальну авторизацію за допомогою селекторів. Потрібно увімкнутиAuthorizeWithSelectors
.AuthorizeWithSelectors
: Дозволяє використовувати селектори полів та міток для авторизації. Увімкнення полівfieldSelector
таlabelSelector
в API SubjectAccessReview, передає інформацію про селектори полів і міток до вебхуків авторизації, активує функціїfieldSelector
таlabelSelector
у бібліотеці CEL для авторизації, а також дозволяє перевіряти поляfieldSelector
іlabelSelector
в умовах збігу вебхуків авторизації.CBORServingAndStorage
: Вмикає CBOR як [підтримуване кодування для запитів і відповідей] (/docs/reference/using-api/api-concepts/#cbor-encoding), а також як бажане кодування сховища для власних ресурсів користувача.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 для більш детальної інформації.ContextualLogging
: Вмикає додаткові деталі у виведенні логів компонентів Kubernetes, які підтримують контекстне ведення логів.CoordinatedLeaderElection
: Вмикає поведінку, що підтримує API LeaseCandidate, а також забезпечує детерміноване обрання лідера для панелі управління Kubernetes.CPUManager
: Вмикає підтримку спорідненості процесорів на рівні контейнерів, див. Політики керування процесорами.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 для власних ресурсів.DefaultHostNetworkHostPortsInPodTemplates
:Ця функціональна можливість керує моментом, коли стандартне значення для
.spec.containers[*].ports[*].hostPort
назначається для Podʼів, які використовуютьhostNetwork: true
. Типовим з версії Kubernetes v1.28 є те, що стандартне значення встановлюється лише для Podʼів.Вмикаючи цю функціональну можливість, стандартне значення буде назначено навіть для
.spec
вбудованого PodTemplate (наприклад, у Deployment), що є способом, яким працювали старі версії Kubernetes. Вам слід мігрувати свій код так, щоб він не залежав від старої поведінки.DevicePluginCDIDevices
: Вмикає підтримку ідентифікаторів пристроїв CDI в API Device Plugin.DisableAllocatorDualWrite
:Ви можете увімкнути функціональну можливість
MultiCIDRServiceAllocator
. Сервер API підтримує міграцію зі старих розподільників bitmap ClusterIP на нові розподільники IPAddress.Сервер API виконує подвійний запис на обидва розподільники. Ця функція вимикає подвійний запис на нові розподільники ClusterIP; ви можете увімкнути цю функцію, якщо ви завершили відповідний етап міграції.
DisableCloudProviders
:Увімкнення цієї функції деактивувало функціонал у
kube-apiserver
,kube-controller-manager
іkubelet
, які повʼязані з параметром--cloud-provider
аргументу командного рядка.У Kubernetes v1.31 і новіших версіях єдиними допустимими значеннями для
--cloud-provider
є порожній рядок (без інтеграції з хмарним провайдером) або "external" (інтеграція через окремий cloud-controller-manager).DisableKubeletCloudCredentialProviders
: Увімкнення функціональної можливості деактивувало застарілу функціональність вбудовану в kubelet, що дозволяла kubelet автентифікуватися в реєстрі контейнерів хмарного провайдера для отримання образів контейнерів.DisableNodeKubeProxyVersion
: Вимикає встановлення поляkubeProxyVersion
вузла.DRAAdminAccess
:Вмикає підтримку запиту доступу адміністратора у заявці на ресурс. Вимога ресурсу з доступом адміністратора надає доступ до пристроїв, які використовуються, і може увімкнути додаткові дозволи доступу, коли робить пристрій доступним у контейнері.
Ця функціональна можливість не має ефекту, якщо ви також не увімкнули функціональну можливість
DynamicResourceAllocation
.DRAResourceClaimDeviceStatus
: Вмикає підтримку поля ResourceClaim.status.devices та встановлення цього статусу з драйверів DRA.DynamicResourceAllocation
: Дозволяє підтримувати ресурси з власними параметрами та життєвим циклом які не залежать від Pod. Розподілом ресурсів займається планувальник Kubernetes використовуючи "структуровані параметри".EfficientWatchResumption
: Дозволяє надсилати користувачам події закладок (сповіщення про хід виконання), що походять зі сховища. Застосовується лише до операцій спостереження.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. Докладніші відомості наведено у документації Завершувач захисту від видалення постійних томів.HPAScaleToZero
: Дозволяє встановлюватиminReplicas
у 0 для ресурсівHorizontalPodAutoscaler
при використанні власних або зовнішніх метрик.ImageMaximumGCAge
: Вмикає поле конфігурації kubeletimageMaximumGCAge
, що дозволяє адміністратору вказати вік, після якого образ буде викинуто у смітник.ImageVolume
: Дозволити використання джерела томуimage
у Pod. За допомогою цього джерела томів ви можете змонтувати образ контейнера як том лише для читання.InPlacePodVerticalScaling
: Дозволяє вертикальне масштабування Podʼів на місці.InTreePluginPortworxUnregister
: Припиняє реєстрацію вбудованого втулка Portworx у kubelet та контролерах томів.JobBackoffLimitPerIndex
: Дозволяє вказати максимальну кількість повторних спроб для кожного індексу в проіндексованих завданнях.JobManagedBy
: Дозволяє делегувати узгодження обʼєкта Job зовнішньому контролеру.JobPodFailurePolicy
: Дозволяє користувачам визначати обробку несправностей контейнерів на основі кодів виходу з контейнера та стану контейнерів.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.KubeletFineGrainedAuthz
: Дозволяє детальну авторизацію для HTTP API kubelet.KubeletInUserNamespace
: Вмикає підтримку запуску kubelet у просторі імен користувачів. Див. розділ Запуск компонентів вузла Kubernetes від імені не-root користувача.KubeletPodResourcesDynamicResources
: Розширює ресурси gRPC точки доступа Podʼа kublet, щоб включати ресурси, що виділені вResourceClaims
через APIDynamicResourceAllocation
. Див. звіт про виділення ресурсів для отримання додаткових відомостей. З цією інформацією про ресурси, клієнти можуть належним чином відстежувати вільні обчислювальні ресурси на вузлі.KubeletPodResourcesDynamicResources
: Розширює ресурси gRPC точки доступу Podʼа kubelet, щоб включити ресурси, виділені вResourceClaims
через APIDynamicResourceAllocation
. Див. звіт про виділення ресурсів для отримання додаткової інформації, інформацією про доступні ресурси, що дозволяє клієнтам належним чином відстежувати вільні обчислювальні ресурси на вузлі.KubeletPodResourcesGet
: Вмикає точку доступуGet
gRPC в kubeletʼах для ресурсів Pod. Цей API доповнює звіт про розподіл ресурсів.KubeletSeparateDiskGC
: Функція розділеної файлової системи образів дозволяє kubelet виконувати збір сміття образів (шарів лише для читання) та/або контейнерів (шарів для запису), розгорнутих на окремих файлових системах.KubeletTracing
: Додавання підтримки розподіленого трасування в kubelet. Якщо увімкнено, інтерфейс CRI kubelet та автентифіковані http-сервери використовуються для генерації відрізків трасування OpenTelemetry. Дивіться Трасування для системних компонентів Kubernetes для більш детальної інформації.KubeProxyDrainingTerminatingNodes
: Реалізація очищення зʼєднань для термінальних вузлів для сервісівexternalTrafficPolicy: Cluster
.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.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.PDBUnhealthyPodEvictionPolicy
: Вмикає полеunhealthyPodEvictionPolicy
в поліPodDisruptionBudget
. Визначає, коли слід розглядати можливість виселення несправних Podʼів. Будь ласка, дивіться Політику виселення несправних Podʼів для більш детальної інформації.PersistentVolumeLastPhaseTransitionTime
: Додає нове поле до PersistentVolume, яке містить мітку часу, коли том востаннє змінював свою фазу.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.PodReadyToStartContainersCondition
:Дозволяє kubelet позначати стан PodReadyToStartContainers для контейнерів Podʼів.
Раніше ця функціональна можливість була відома як
PodHasNetworkCondition
, а повʼязана з нею умова називаласяPodHasNetwork
.PodSchedulingReadiness
: Дозволяє встановлювати полеSchedulingGates
для керування готовністю до виселення за розкладом.PortForwardWebsockets
: Дозволити потокове передавання WebSocket підпротоколу portforward (port-forward
) від клієнтів, які запитують версію v2 (v2.portforward.k8s.io
) підпротоколу.PreferAlignCpusByUncoreCache
: Якщо увімкненоPreferAlignCpusByUncoreCache
, а CPU Manager Policy встановлено наstatic
, контейнери podʼівGuaranteed
будуть індивідуально вирівнюватися з групою кешу uncore на основі політики best-effort. Ця функція може оптимізувати продуктивність для певних робочих навантажень, які чутливі до кешу, шляхом мінімізації розподілу CPU між кешами uncore.ProcMountType
: Дозволяє керувати типом монтування proc для контейнерів, встановлюючи полеprocMount
Podʼа уsecurityContext
.QOSReserved
: Дозволяє резервувати ресурси на рівні QoS, запобігаючи тим самим тому, щоб підсистеми на рівнях QoS нижчого рівня виходили за межі ресурсів, запитаних на рівнях QoS вищого рівня (наразі лише памʼять).RecoverVolumeExpansionFailure
: Дозволяє користувачам редагувати свої PVC до менших розмірів, щоб можна було відновити їх після попередніх збоїв під час розширення томів. Докладні відомості див. у статті Відновлення після збою під час розширення томів.RecursiveReadOnlyMounts
: Вмикає підтримку рекурсивних монтувань лише для читання. Докладні відомості наведено у статті монтування лише для читання.RelaxedEnvironmentVariableValidation
: Дозволити майже всі друковані символи ASCII у змінних оточення.ReloadKubeletServerCertificateFile
:Дозволяє TLS-серверу kubelet оновлювати свій сертифікат, якщо вказаний файл сертифіката змінено.
Ця функція корисна при вказівці
tlsCertFile
іtlsPrivateKeyFile
в конфігурації kubelet. Функція gate не впливає на інші випадки, такі як використання TLS boostrap.RemainingItemCount
: Дозволити серверам API показувати кількість елементів, що залишилися, у відповіді на запит chunking list request.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.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.SeparateTaintEvictionController
: Дозволяє запускTaintEvictionController
, який виконує Taint-based Evictions, у контролері, відокремленому відNodeLifecycleController
. Коли цю можливість увімкнено, користувачі можуть за бажанням вимкнути виселення на основі Taint, встановивши прапорець--controllers=-taint-eviction-controller
уkube-controller-manager
.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. Дивіться Початковий порядковий номер для більш детальної інформації.StorageVersionAPI
: Вмикає API версії зберігання.StorageVersionHash
: Дозволити API-серверам показувати хеш версії сховища при відкритті.StorageVersionMigrator
: Вмикає міграцію версій сховища. Докладні відомості наведено у статті Міграція обʼєктів Kubernetes за допомогою міграції версій сховища.StrictCostEnforcementForVAP
: Застосовує сувору валідацію витрат CEL для ValidatingAdmissionPolicies.StrictCostEnforcementForWebhooks
: Застосовує сувору перевірку вартості CEL дляmatchConditions
у вебхуків допуску.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ʼів.ValidatingAdmissionPolicy
: Вмикання підтримки ValidatingAdmissionPolicy для використання валідації CEL у контролі допуску.VolumeAttributesClass
: Вмикання підтримки класів VolumeAttributesClasses. Докладні відомості див. у статті Класи атрибутів томів.VolumeCapacityPriority
: Вмикання підтримки пріоритезації вузлів у різних топологіях на основі доступної місткості PV.WatchBookmark
: Вмикає підтримку подій закладок для спостереження.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.