Функціональні можливості

Ця сторінка містить огляд різних функціональних можливостей, які адміністратор може вказати для різних компонентів Kubernetes.

Дивіться функціональні стадії для пояснення стадій функції.

Огляд

Функціональні можливості — це набір пар ключ=значення, які описують функції Kubernetes. Ви можете увімкнути або вимкнути ці функції, використовуючи прапорець командного рядка --feature-gates на кожному компоненті Kubernetes.

Як увімкнути функціональні можливості

Щоб увімкнути або вимкнути функціональну можливість для певного компонента Kubernetes, використовуйте прапорець --feature-gates.

Цей прапорець приймає список пар ключ=значення, розділених комами, де кожен ключ є назвою функціональної можливості, а кожне значення є або true (увімкнути), або false (вимкнути).

Приклад використання:

kube-apiserver --feature-gates=FeatureName1=true,FeatureName2=false
kubelet --feature-gates=GracefulNodeShutdown=true

Кожен компонент Kubernetes підтримує тільки ті функціональні можливості, які відповідають його функціям. Використовуйте <component> -h, щоб отримати список доступних функціональних можливостей для конкретного компонента.

Детальні інструкції щодо налаштування функціональних можливостей у вашому кластері див. у розділі Налаштування функціональних можливостей.

Функціональні можливості в Kubernetes v1.35

Наступні таблиці є підсумком функціональних можливостей, які ви можете встановити на різних компонентах Kubernetes.

Примітка:

Для посилання на старі функціональні можливості, які вилучені, дивіться вилучені функціональні можливості.

Функціональні можливості для функцій Alpha або Beta

Функціональні можливості для функцій у стані Alpha або Beta
ВластивістьСтандартноСтадіяПочинаючи зДо
AllowParsingUserUIDFromCertAuthfalseAlpha1.331.33
AllowParsingUserUIDFromCertAuthtrueBeta1.34
AllowUnsafeMalformedObjectDeletionfalseAlpha1.32
APIResponseCompressionfalseAlpha1.71.15
APIResponseCompressiontrueBeta1.16
APIServerIdentityfalseAlpha1.201.25
APIServerIdentitytrueBeta1.26
APIServingWithRoutinefalseAlpha1.30
AuthorizePodWebsocketUpgradeCreatePermissiontrueBeta1.35
CBORServingAndStoragefalseAlpha1.32
ClearingNominatedNodeNameAfterBindingfalseAlpha1.341.34
ClearingNominatedNodeNameAfterBindingtrueBeta1.35
CloudControllerManagerWatchBasedRoutesReconciliationfalseAlpha1.35
CloudControllerManagerWebhookfalseAlpha1.27
ClusterTrustBundlefalseAlpha1.271.32
ClusterTrustBundlefalseBeta1.33
ClusterTrustBundleProjectionfalseAlpha1.291.32
ClusterTrustBundleProjectionfalseBeta1.33
ComponentFlagzfalseAlpha1.32
ComponentStatuszfalseAlpha1.32
ConcurrentWatchObjectDecodefalseBeta1.31
ConstrainedImpersonationfalseAlpha1.35
ContainerCheckpointfalseAlpha1.251.29
ContainerCheckpointtrueBeta1.30
ContainerRestartRulesfalseAlpha1.341.34
ContainerRestartRulestrueBeta1.35
ContainerStopSignalsfalseAlpha1.33
ContextualLoggingfalseAlpha1.24
ContextualLoggingtrueBeta1.30
CoordinatedLeaderElectionfalseAlpha1.311.32
CoordinatedLeaderElectionfalseBeta1.33
CPUManagerPolicyAlphaOptionsfalseAlpha1.23
CPUManagerPolicyBetaOptionstrueBeta1.23
CRDObservedGenerationTrackingfalseBeta1.35
CrossNamespaceVolumeDataSourcefalseAlpha1.26
CSIServiceAccountTokenSecretstrueBeta1.35
CSIVolumeHealthfalseAlpha1.21
CustomCPUCFSQuotaPeriodfalseAlpha1.12
DeclarativeValidationtrueBeta1.33
DeclarativeValidationTakeoverfalseBeta1.33
DeploymentReplicaSetTerminatingReplicasfalseAlpha1.331.34
DeploymentReplicaSetTerminatingReplicastrueBeta1.35
DetectCacheInconsistencytrueBeta1.34
DisableCPUQuotaWithExclusiveCPUstrueBeta1.33
DRAAdminAccessfalseAlpha1.321.33
DRAAdminAccesstrueBeta1.34
DRAConsumableCapacityfalseAlpha1.34
DRADeviceBindingConditionsfalseAlpha1.34
DRADeviceTaintRulesfalseAlpha1.35
DRADeviceTaintsfalseAlpha1.33
DRAExtendedResourcefalseAlpha1.34
DRAPartitionableDevicesfalseAlpha1.33
DRAPrioritizedListfalseAlpha1.331.33
DRAPrioritizedListtrueBeta1.34
DRAResourceClaimDeviceStatusfalseAlpha1.321.32
DRAResourceClaimDeviceStatustrueBeta1.33
DRASchedulerFilterTimeoutfalseAlpha1.34
EnvFilesfalseAlpha1.341.34
EnvFilestrueBeta1.35
EventedPLEGfalseAlpha1.26
ExternalServiceAccountTokenSignerfalseAlpha1.321.33
ExternalServiceAccountTokenSignertrueBeta1.34
GangSchedulingfalseAlpha1.35
GenericWorkloadfalseAlpha1.35
GracefulNodeShutdownfalseAlpha1.201.20
GracefulNodeShutdowntrueBeta1.21
GracefulNodeShutdownBasedOnPodPriorityfalseAlpha1.231.23
GracefulNodeShutdownBasedOnPodPrioritytrueBeta1.24
HostnameOverridefalseAlpha1.341.34
HostnameOverridetrueBeta1.35
HPAConfigurableTolerancefalseAlpha1.331.34
HPAConfigurableTolerancetrueBeta1.35
HPAScaleToZerofalseAlpha1.16
ImageVolumefalseAlpha1.311.32
ImageVolumefalseBeta1.331.34
ImageVolumetrueBeta1.35
InOrderInformerstrueAlpha1.331.33
InOrderInformerstrueBeta1.34
InPlacePodLevelResourcesVerticalScalingfalseAlpha1.35
InPlacePodVerticalScalingExclusiveCPUsfalseAlpha1.32
InPlacePodVerticalScalingExclusiveMemoryfalseAlpha1.34
InTreePluginPortworxUnregisterfalseAlpha1.23
KubeletCrashLoopBackOffMaxfalseAlpha1.321.34
KubeletCrashLoopBackOffMaxtrueBeta1.35
KubeletEnsureSecretPulledImagesfalseAlpha1.331.34
KubeletEnsureSecretPulledImagestrueBeta1.35
KubeletFineGrainedAuthzfalseAlpha1.321.32
KubeletFineGrainedAuthztrueBeta1.33
KubeletInUserNamespacefalseAlpha1.22
KubeletPodResourcesDynamicResourcesfalseAlpha1.27
KubeletPodResourcesDynamicResourcesfalseAlpha1.271.33
KubeletPodResourcesDynamicResourcestrueBeta1.34
KubeletPodResourcesGetfalseAlpha1.271.33
KubeletPodResourcesGettrueBeta1.34
KubeletPSIfalseAlpha1.331.33
KubeletPSItrueBeta1.34
KubeletSeparateDiskGCfalseAlpha1.291.30
KubeletSeparateDiskGCtrueBeta1.31
KubeletServiceAccountTokenForCredentialProvidersfalseAlpha1.331.33
KubeletServiceAccountTokenForCredentialProviderstrueBeta1.34
ListFromCacheSnapshotfalseAlpha1.331.33
ListFromCacheSnapshottrueBeta1.34
LocalStorageCapacityIsolationFSQuotaMonitoringfalseAlpha1.151.30
LocalStorageCapacityIsolationFSQuotaMonitoringfalseBeta1.31
LoggingAlphaOptionsfalseAlpha1.24
LoggingBetaOptionstrueBeta1.24
MatchLabelKeysInPodTopologySpreadfalseAlpha1.251.26
MatchLabelKeysInPodTopologySpreadtrueBeta1.27
MatchLabelKeysInPodTopologySpreadSelectorMergetrueBeta1.34
MaxUnavailableStatefulSetfalseAlpha1.241.34
MaxUnavailableStatefulSettrueBeta1.35
MemoryQoSfalseAlpha1.22
MutableCSINodeAllocatableCountfalseAlpha1.331.33
MutableCSINodeAllocatableCountfalseBeta1.341.34
MutableCSINodeAllocatableCounttrueBeta1.35
MutablePodResourcesForSuspendedJobsfalseAlpha1.35
MutablePVNodeAffinityfalseAlpha1.35
MutableSchedulingDirectivesForSuspendedJobsfalseAlpha1.35
MutatingAdmissionPolicyfalseAlpha1.301.33
MutatingAdmissionPolicyfalseBeta1.34
NodeDeclaredFeaturesfalseAlpha1.35
NodeLogQueryfalseAlpha1.271.29
NodeLogQueryfalseBeta1.30
NominatedNodeNameForExpectationfalseAlpha1.341.34
NominatedNodeNameForExpectationtrueBeta1.35
OpenAPIEnumsfalseAlpha1.231.23
OpenAPIEnumstrueBeta1.24
OpportunisticBatchingtrueBeta1.35
PodAndContainerStatsFromCRIfalseAlpha1.23
PodCertificateRequestfalseAlpha1.341.34
PodCertificateRequestfalseBeta1.35
PodDeletionCostfalseAlpha1.211.21
PodDeletionCosttrueBeta1.22
PodLevelResourcesfalseAlpha1.321.33
PodLevelResourcestrueBeta1.34
PodLogsQuerySplitStreamsfalseAlpha1.32
PodReadyToStartContainersConditionfalseAlpha1.281.28
PodReadyToStartContainersConditiontrueBeta1.29
PodTopologyLabelsAdmissionfalseAlpha1.331.34
PodTopologyLabelsAdmissiontrueBeta1.35
PortForwardWebsocketsfalseAlpha1.301.30
PortForwardWebsocketstrueBeta1.31
PreventStaticPodAPIReferencestrueBeta1.34
ProcMountTypefalseAlpha1.121.30
ProcMountTypefalseBeta1.311.32
ProcMountTypetrueBeta1.33
QOSReservedfalseAlpha1.11
ReduceDefaultCrashLoopBackOffDecayfalseAlpha1.33
RelaxedServiceNameValidationfalseAlpha1.34
ReloadKubeletServerCertificateFiletrueBeta1.31
RemoteRequestHeaderUIDfalseAlpha1.32
ResourceHealthStatusfalseAlpha1.31
RestartAllContainersOnContainerExitsfalseAlpha1.35
RetryGenerateNamefalseAlpha1.30
RotateKubeletServerCertificatefalseAlpha1.71.11
RotateKubeletServerCertificatetrueBeta1.12
RuntimeClassInImageCriApifalseAlpha1.29
SchedulerAsyncAPICallstrueBeta1.34
SchedulerAsyncPreemptionfalseAlpha1.321.32
SchedulerAsyncPreemptiontrueBeta1.33
SchedulerPopFromBackoffQtrueBeta1.33
SELinuxChangePolicyfalseAlpha1.321.32
SELinuxChangePolicytrueBeta1.33
SELinuxMountfalseAlpha1.301.32
SELinuxMountfalseBeta1.33
SELinuxMountReadWriteOncePodfalseAlpha1.251.26
SELinuxMountReadWriteOncePodfalseBeta1.271.27
SELinuxMountReadWriteOncePodtrueBeta1.28
ServiceAccountNodeAudienceRestrictionfalseBeta1.321.32
ServiceAccountNodeAudienceRestrictiontrueBeta1.33
SizeBasedListCostEstimatetrueBeta1.34
StorageCapacityScoringfalseAlpha1.33
StorageVersionAPIfalseAlpha1.20
StorageVersionHashfalseAlpha1.141.14
StorageVersionHashtrueBeta1.15
StorageVersionMigratorfalseAlpha1.301.34
StorageVersionMigratorfalseBeta1.35
StrictIPCIDRValidationfalseAlpha1.33
StructuredAuthenticationConfigurationEgressSelectortrueBeta1.34
StructuredAuthenticationConfigurationJWKSMetricstrueBeta1.35
SupplementalGroupsPolicyfalseAlpha1.311.32
SupplementalGroupsPolicytrueBeta1.33
SystemdWatchdogtrueBeta1.32
TaintTolerationComparisonOperatorsfalseAlpha1.35
TokenRequestServiceAccountUIDValidationtrueBeta1.34
TopologyManagerPolicyAlphaOptionsfalseAlpha1.26
TopologyManagerPolicyBetaOptionsfalseBeta1.261.27
TopologyManagerPolicyBetaOptionstrueBeta1.28
TranslateStreamCloseWebsocketRequestsfalseAlpha1.291.29
TranslateStreamCloseWebsocketRequeststrueBeta1.30
UnauthenticatedHTTP2DOSMitigationfalseBeta1.281.28
UnauthenticatedHTTP2DOSMitigationtrueBeta1.29
UnknownVersionInteroperabilityProxyfalseAlpha1.28
UserNamespacesHostNetworkSupportfalseAlpha1.35
UserNamespacesSupportfalseAlpha1.281.29
UserNamespacesSupportfalseBeta1.301.32
UserNamespacesSupporttrueBeta1.33
VolumeLimitScalingfalseAlpha1.35
WatchCacheInitializationPostStartHookfalseBeta1.31
WatchListfalseAlpha1.271.31
WatchListtrueBeta1.321.32
WatchListfalseBeta1.331.33
WatchListtrueBeta1.34
WatchListClientfalseBeta1.301.34
WatchListClienttrueBeta1.35
WindowsCPUAndMemoryAffinityfalseAlpha1.32
WindowsGracefulNodeShutdownfalseAlpha1.321.33
WindowsGracefulNodeShutdowntrueBeta1.34

Функціональні можливості для стабільних або застарілих функцій

Функціональні можливості для стабільних або застарілих функцій
ВластивістьСтандартноСтадіяПочинаючи зДо
AllowDNSOnlyNodeCSRfalseDeprecated1.31
AllowInsecureKubeletCertificateSigningRequestsfalseDeprecated1.31
AnonymousAuthConfigurableEndpointsfalseAlpha1.311.31
AnonymousAuthConfigurableEndpointstrueBeta1.321.33
AnonymousAuthConfigurableEndpointstrueGA1.34
AnyVolumeDataSourcefalseAlpha1.181.23
AnyVolumeDataSourcetrueBeta1.241.32
AnyVolumeDataSourcetrueGA1.33
APIServerTracingfalseAlpha1.221.26
APIServerTracingtrueBeta1.271.33
APIServerTracingtrueGA1.34
AuthorizeNodeWithSelectorsfalseAlpha1.311.31
AuthorizeNodeWithSelectorstrueBeta1.321.33
AuthorizeNodeWithSelectorstrueGA1.34
AuthorizeWithSelectorsfalseAlpha1.311.31
AuthorizeWithSelectorstrueBeta1.321.33
AuthorizeWithSelectorstrueGA1.34
BtreeWatchCachetrueBeta1.321.32
BtreeWatchCachetrueGA1.33
ChangeContainerStatusOnKubeletRestartfalseDeprecated1.35
ConsistentListFromCachefalseAlpha1.281.30
ConsistentListFromCachetrueBeta1.311.33
ConsistentListFromCachetrueGA1.34
CPUManagerPolicyOptionsfalseAlpha1.221.22
CPUManagerPolicyOptionstrueBeta1.231.32
CPUManagerPolicyOptionstrueGA1.33
CRDValidationRatchetingfalseAlpha1.281.29
CRDValidationRatchetingtrueBeta1.301.32
CRDValidationRatchetingtrueGA1.33
CronJobsScheduledAnnotationtrueBeta1.281.31
CronJobsScheduledAnnotationtrueGA1.32
CSIMigrationPortworxfalseAlpha1.231.24
CSIMigrationPortworxfalseBeta1.251.30
CSIMigrationPortworxtrueBeta1.311.32
CSIMigrationPortworxtrueGA1.33
CustomResourceFieldSelectorsfalseAlpha1.301.30
CustomResourceFieldSelectorstrueBeta1.311.31
CustomResourceFieldSelectorstrueGA1.32
DisableAllocatorDualWritefalseAlpha1.311.32
DisableAllocatorDualWritefalseBeta1.331.33
DisableAllocatorDualWritetrueGA1.34
DisableNodeKubeProxyVersionfalseAlpha1.291.30
DisableNodeKubeProxyVersiontrueBeta1.31.01.31.0
DisableNodeKubeProxyVersionfalseDeprecated1.31.1
DisableNodeKubeProxyVersionfalseDeprecated1.321.32
DisableNodeKubeProxyVersiontrueDeprecated1.33
DynamicResourceAllocationfalseAlpha1.301.31
DynamicResourceAllocationfalseBeta1.321.33
DynamicResourceAllocationtrueGA1.341.34
DynamicResourceAllocationtrueGA1.35
ElasticIndexedJobtrueBeta1.271.30
ElasticIndexedJobtrueGA1.31
ExecProbeTimeouttrueGA1.20
GitRepoVolumeDriverfalseDeprecated1.33
HonorPVReclaimPolicyfalseAlpha1.231.30
HonorPVReclaimPolicytrueBeta1.311.32
HonorPVReclaimPolicytrueGA1.33
ImageMaximumGCAgefalseAlpha1.291.29
ImageMaximumGCAgetrueBeta1.301.34
ImageMaximumGCAgetrueGA1.35
InformerResourceVersionfalseAlpha1.301.34
InformerResourceVersiontrueGA1.35
InPlacePodVerticalScalingfalseAlpha1.271.32
InPlacePodVerticalScalingtrueBeta1.331.34
InPlacePodVerticalScalingtrueGA1.35
InPlacePodVerticalScalingAllocatedStatusfalseAlpha1.321.32
InPlacePodVerticalScalingAllocatedStatusfalseDeprecated1.33
JobBackoffLimitPerIndexfalseAlpha1.281.28
JobBackoffLimitPerIndextrueBeta1.291.32
JobBackoffLimitPerIndextrueGA1.33
JobManagedByfalseAlpha1.301.31
JobManagedBytrueBeta1.321.34
JobManagedBytrueGA1.35
JobPodReplacementPolicyfalseAlpha1.281.28
JobPodReplacementPolicytrueBeta1.291.33
JobPodReplacementPolicytrueGA1.34
JobSuccessPolicyfalseAlpha1.301.30
JobSuccessPolicytrueBeta1.311.32
JobSuccessPolicytrueGA1.33
KMSv1trueDeprecated1.281.28
KMSv1falseDeprecated1.29
KubeletCgroupDriverFromCRIfalseAlpha1.281.30
KubeletCgroupDriverFromCRItrueBeta1.31
KubeletCgroupDriverFromCRItrueGA1.34
KubeletTracingfalseAlpha1.251.26
KubeletTracingtrueBeta1.271.33
KubeletTracingtrueGA1.34
LogarithmicScaleDownfalseAlpha1.211.21
LogarithmicScaleDowntrueBeta1.221.30
LogarithmicScaleDowntrueGA1.31
MatchLabelKeysInPodAffinityfalseAlpha1.291.30
MatchLabelKeysInPodAffinitytrueBeta1.311.32
MatchLabelKeysInPodAffinitytrueGA1.33
MemoryManagerfalseAlpha1.211.21
MemoryManagertrueBeta1.221.31
MemoryManagertrueGA1.32
MultiCIDRServiceAllocatorfalseAlpha1.271.30
MultiCIDRServiceAllocatorfalseBeta1.311.32
MultiCIDRServiceAllocatortrueGA1.33
NFTablesProxyModefalseAlpha1.291.30
NFTablesProxyModetrueBeta1.311.32
NFTablesProxyModetrueGA1.33
NodeInclusionPolicyInPodTopologySpreadfalseAlpha1.251.25
NodeInclusionPolicyInPodTopologySpreadtrueBeta1.261.32
NodeInclusionPolicyInPodTopologySpreadtrueGA1.33
NodeSwapfalseAlpha1.221.27
NodeSwapfalseBeta1.281.29
NodeSwaptrueBeta1.301.33
NodeSwaptrueGA1.34
OrderedNamespaceDeletionfalseBeta1.301.32
OrderedNamespaceDeletiontrueBeta1.331.33
OrderedNamespaceDeletiontrueGA1.34
PodIndexLabeltrueBeta1.281.31
PodIndexLabeltrueGA1.32
PodLifecycleSleepActionfalseAlpha1.291.29
PodLifecycleSleepActiontrueBeta1.301.33
PodLifecycleSleepActiontrueGA1.34
PodLifecycleSleepActionAllowZerofalseAlpha1.321.32
PodLifecycleSleepActionAllowZerotrueBeta1.331.33
PodLifecycleSleepActionAllowZerotrueGA1.34
PodObservedGenerationTrackingfalseAlpha1.331.33
PodObservedGenerationTrackingtrueBeta1.341.34
PodObservedGenerationTrackingtrueGA1.35
PodSchedulingReadinessfalseAlpha1.261.26
PodSchedulingReadinesstrueBeta1.271.29
PodSchedulingReadinesstrueGA1.30
PreferSameTrafficDistributionfalseAlpha1.331.33
PreferSameTrafficDistributiontrueBeta1.341.34
PreferSameTrafficDistributiontrueGA1.35
RecoverVolumeExpansionFailurefalseAlpha1.231.31
RecoverVolumeExpansionFailuretrueBeta1.321.33
RecoverVolumeExpansionFailuretrueGA1.34
RecursiveReadOnlyMountsfalseAlpha1.301.30
RecursiveReadOnlyMountstrueBeta1.311.32
RecursiveReadOnlyMountstrueGA1.33
RelaxedDNSSearchValidationfalseAlpha1.321.32
RelaxedDNSSearchValidationtrueBeta1.331.33
RelaxedDNSSearchValidationtrueGA1.34
RelaxedEnvironmentVariableValidationfalseAlpha1.301.31
RelaxedEnvironmentVariableValidationtrueBeta1.321.33
RelaxedEnvironmentVariableValidationtrueGA1.34
ResilientWatchCacheInitializationtrueBeta1.311.33
ResilientWatchCacheInitializationtrueGA1.34
RetryGenerateNamefalseAlpha1.301.30
RetryGenerateNametrueBeta1.311.31
RetryGenerateNametrueGA1.32
SchedulerQueueingHintstrueBeta1.281.28
SchedulerQueueingHintsfalseBeta1.291.31
SchedulerQueueingHintstrueBeta1.321.33
SchedulerQueueingHintstrueGA1.34
SeparateCacheWatchRPCtrueBeta1.281.32
SeparateCacheWatchRPCfalseDeprecated1.33
SeparateTaintEvictionControllertrueBeta1.291.33
SeparateTaintEvictionControllertrueGA1.34
ServiceAccountTokenJTIfalseAlpha1.291.29
ServiceAccountTokenJTItrueBeta1.301.31
ServiceAccountTokenJTItrueGA1.32
ServiceAccountTokenNodeBindingfalseAlpha1.291.30
ServiceAccountTokenNodeBindingtrueBeta1.311.32
ServiceAccountTokenNodeBindingtrueGA1.33
ServiceAccountTokenNodeBindingValidationfalseAlpha1.291.29
ServiceAccountTokenNodeBindingValidationtrueBeta1.301.31
ServiceAccountTokenNodeBindingValidationtrueGA1.32
ServiceAccountTokenPodNodeInfofalseAlpha1.291.29
ServiceAccountTokenPodNodeInfotrueBeta1.301.31
ServiceAccountTokenPodNodeInfotrueGA1.32
ServiceTrafficDistributionfalseAlpha1.301.30
ServiceTrafficDistributiontrueBeta1.311.32
ServiceTrafficDistributiontrueGA1.33
SidecarContainersfalseAlpha1.281.28
SidecarContainerstrueBeta1.291.32
SidecarContainerstrueGA1.33
StatefulSetAutoDeletePVCfalseAlpha1.231.26
StatefulSetAutoDeletePVCtrueBeta1.271.31
StatefulSetAutoDeletePVCtrueGA1.32
StatefulSetStartOrdinalfalseAlpha1.261.26
StatefulSetStartOrdinaltrueBeta1.271.30
StatefulSetStartOrdinaltrueGA1.31
StorageNamespaceIndextrueBeta1.301.32
StorageNamespaceIndextrueDeprecated1.33
StreamingCollectionEncodingToJSONtrueBeta1.331.33
StreamingCollectionEncodingToJSONtrueGA1.34
StreamingCollectionEncodingToProtobuftrueAlpha1.331.33
StreamingCollectionEncodingToProtobuftrueGA1.34
StrictCostEnforcementForVAPfalseBeta1.301.31
StrictCostEnforcementForVAPtrueGA1.32
StrictCostEnforcementForWebhooksfalseBeta1.311.31
StrictCostEnforcementForWebhookstrueGA1.32
StructuredAuthenticationConfigurationfalseAlpha1.291.29
StructuredAuthenticationConfigurationtrueBeta1.301.33
StructuredAuthenticationConfigurationtrueGA1.34
StructuredAuthorizationConfigurationfalseAlpha1.291.29
StructuredAuthorizationConfigurationtrueBeta1.301.31
StructuredAuthorizationConfigurationtrueGA1.32
TopologyAwareHintsfalseAlpha1.211.22
TopologyAwareHintsfalseBeta1.231.23
TopologyAwareHintstrueBeta1.241.32
TopologyAwareHintstrueGA1.33
TopologyManagerPolicyOptionsfalseAlpha1.261.27
TopologyManagerPolicyOptionstrueBeta1.281.31
TopologyManagerPolicyOptionstrueGA1.32
VolumeAttributesClassfalseAlpha1.291.30
VolumeAttributesClassfalseBeta1.311.33
VolumeAttributesClasstrueGA1.34
WatchFromStorageWithoutResourceVersionfalseBeta1.301.32
WatchFromStorageWithoutResourceVersionfalseDeprecated1.33
WindowsHostNetworktrueAlpha1.261.32
WindowsHostNetworkfalseDeprecated1.33
WinDSRfalseAlpha1.141.32
WinDSRtrueBeta1.331.33
WinDSRtrueGA1.34
WinOverlayfalseAlpha1.141.19
WinOverlaytrueBeta1.201.33
WinOverlaytrueGA1.34

Використання функцій

Стадії функцій

Кожна функція може бути в стані 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 користувача під час автентифікації сертифіката.

AllowUnsafeMalformedObjectDeletion

Дозволяє оператору кластера визначати пошкоджені ресурси за допомогою операції list, а також вводить опцію ignoreStoreReadErrorWithClusterBreakingPotential, яку оператор може встановити для виконання небезпечної та примусової операції delete таких пошкоджених ресурсів за допомогою API Kubernetes.

AnonymousAuthConfigurableEndpoints

Дозволяє налаштувати анонімну автентифікацію/авторизацію лише на певних точках доступу сервера API.

AnyVolumeDataSource

Дозволити використання будь-якого власного ресурсу як DataSource для PVC.

APIResponseCompression

Стиснення відповідей API для запитів LIST або GET.

APIServerIdentity

Присвоює кожному серверу API ідентифікатор у кластері, використовуючи Lease.

APIServerTracing

Додає підтримку розподіленого трасування у сервері API. Докладні відомості наведено у статті Трасування системних компонентів Kubernetes.

APIServingWithRoutine

Ця функціональна можливість дозволяє серверу API покращити продуктивність: сервер API може використовувати окремі goroutines (легкі потоки, керовані середовищем виконання Go) для обслуговування запитів watch.

AuthorizeNodeWithSelectors

Дозволяє авторизатору вузла використовувати детальну авторизацію за допомогою селекторів.

AuthorizePodWebsocketUpgradeCreatePermission

Коли функціональна можливість AuthorizePodWebsocketUpgradeCreatePermission має значення true, клієнти повинні мати дозвіл на створення (create) субресурсів Podʼів, навіть якщо їх створення ініціюється за допомогою WebSocket.

Запит на оновлення зʼєднання відбувається для кожного з наступних субресурсів: pods/exec, pods/attach та pods/portforward. Ця функція усуває прогалину в безпеці, спричинену переходом на новий протокол: тоді як запити SPDY використовують HTTP POST (що природно узгоджується з дозволом create RBAC), протокол WebSocket вимагає запиту HTTP GET для встановлення зʼєднання. Щоб виправити цей недолік, тепер застосовується синтетична перевірка RBAC, щоб гарантувати, що оновлення WebSocket суворо дотримуються дозволу create, що відповідає чинній моделі безпеки SPDY.

Ви можете вимкнути цю функцію, якщо у вас є діючі клієнти або власні інструменти, які покладаються на попередню поведінку, а саме, якщо вони підключаються через WebSockets, але на даний момент не мають дозволу create RBAC.

AuthorizeWithSelectors

Дозволяє використовувати селектори полів та міток для авторизації. Увімкнення полів fieldSelector та labelSelector в API SubjectAccessReview, передає інформацію про селектори полів і міток до вебхуків авторизації, активує функції fieldSelector та labelSelector у бібліотеці CEL для авторизації, а також дозволяє перевіряти поля fieldSelector і labelSelector в умовах збігу вебхуків авторизації.

BtreeWatchCache

Якщо увімкнено, сервер API замінить застарілий watch cache на основі HashMap на реалізацію на основі BTree. Ця заміна може призвести до покращення продуктивності.

CBORServingAndStorage

Вмикає CBOR як підтримуване кодування для запитів і відповідей, а також як бажане кодування сховища для власних ресурсів користувача.

ChangeContainerStatusOnKubeletRestart

Вмикає старий спосіб запису для оновлення статусу контейнера ready після того, як kubelet виявляє перезапуск.

Ця функція була введена, щоб дозволити вам повернути поведінку до раніше використовуваного стандартного значення. Якщо вас влаштовує стандартна поведінка, вам не потрібно вмикати цю функцію.

ClearingNominatedNodeNameAfterBinding

Дозволяє очищати .status.nominatedNodeName щоразу, коли Podʼи привʼязуються до вузлів.

CloudControllerManagerWatchBasedRoutesReconciliation

Увімкнення механізму узгодження маршруту на основі спостереження (замість узгодження через фіксований інтервал) у бібліотеці cloud-controller-manager.

CloudControllerManagerWebhook

Вмикання веб-хуків у менеджері хмарних контролерів.

ClusterTrustBundle

Вмикає обʼєкти ClusterTrustBundle та інтеграцію kubelet.

ClusterTrustBundleProjection

Джерела спроєцьованих томів clusterTrustBundle.

ComponentFlagz

Увімкнення точки доступу flagz компонента. Докладнішу інформацію наведено у zpages.

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.

ConstrainedImpersonation

Дозволяє імперсонацію, яка обмежується конкретними запитами, та яка не є всеосяжною.

ContainerCheckpoint

Вмикає kubelet checkpoint API. Дивіться Kubelet Checkpoint API для більш детальної інформації.

ContainerRestartRules

Дозволяє налаштувати політику перезапуску контейнерів та правила перезапуску. Докладні відомості наведено у статті Правила перезапуску контейнерів.

ContainerStopSignals

Дозволяє використовувати сигнал StopSignal життєвого циклу для контейнерів для налаштування власних сигналів за допомогою яких може бути зупинено роботу контейнера.

ContextualLogging

Вмикає додаткові деталі у виведенні логів компонентів Kubernetes, які підтримують контекстне ведення логів.

CoordinatedLeaderElection

Вмикає поведінку, що підтримує API LeaseCandidate, а також забезпечує детерміноване обрання лідера для панелі управління Kubernetes.

CPUManagerPolicyAlphaOptions

Дозволяє тонко налаштовувати політики CPUManager, експериментальні, альфа-опції якості. Ця функціональна можливість захищає групу опцій CPUManager, які мають рівень якості альфа. Ці функціональні можливості ніколи не будуть переведені у бета-версію або стабільну версію.

CPUManagerPolicyBetaOptions

Дозволяє тонко налаштовувати політики CPUManager, експериментальні, бета-опції якості. Ця функціональна можливість захищає групу опцій CPUManager, які мають рівень якості бета. Ці функціональні можливості ніколи не будуть переведені у стабільну версію.

CPUManagerPolicyOptions

Дозволяє тонко налаштовувати політики CPUManager.

CRDObservedGenerationTracking

Дозволяє відстежувати спостережену генерацію в умовах CRD. Встановлення значення false призведе до того, що в умовах CRD спостережена генерація буде видалена.

CRDValidationRatcheting

Ввімкнути оновлення власних ресурсів, щоб вони містили порушення їхньої схеми OpenAPI, якщо частини ресурсу, що порушують оновлення не змінилися. Докладніші відомості наведено у статті Проковзування валідації.

CronJobsScheduledAnnotation

Встановіть час запланованого завдання як анотацію для завдань, створених від імені CronJob.

CrossNamespaceVolumeDataSource

Вмикає використання перехресного простору назв джерела даних тома щоб дозволити вам вказувати простір імен джерела у полі dataSourceRef у PersistentVolumeClaim.

CSIMigrationPortworx

Вмикає shimʼи та логіку передачі для маршрутизації операцій тому з вбудованого втулка Portworx до втулка Portworx CSI. Вимагає встановлення та налаштування втулка Portworx CSI в кластері.

CSIServiceAccountTokenSecrets

Дозволяє драйверам CSI підключатися для отримання токенів службових облікових записів від kubelet через спеціальне поле секретів у NodePublishVolumeRequest замість поля volume_context.

CSIVolumeHealth

Вмикає підтримку моніторингу стану справності томів CSI на вузлі.

CustomCPUCFSQuotaPeriod

Дозволяє вузлам змінювати cpuCFSQuotaPeriod в конфігурації kubelet.

CustomResourceFieldSelectors

Вмикає selectableFields в API CustomResourceDefinition, щоб дозволити фільтрацію запитів list, watch та deletecollection для власних ресурсів.

DeclarativeValidation

Вмикає декларативну валідацію внутрішніх API Kubernetes. Якщо увімкнено, для API з правилами декларативної перевірки (визначеними за допомогою IDL-теґів у коді Go) буде виконано як згенерований код декларативної перевірки, так і оригінальний код перевірки, написаний вручну. Результати порівнюються, і про будь-які розбіжності повідомляється за допомогою метрики declarative_validation_mismatch_total. Користувачеві повертається лише результат валідації, написаний вручну (наприклад: фактична валідація у шляху запиту). Оригінальна рукописна перевірка залишається авторитетною перевіркою, коли її увімкнено, але це можна змінити, якщо увімкнути функціональну можливість DeclarativeValidationTakeover на додачу до цієї. Цzя функціональна можливість працює лише на 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ʼів.

DetectCacheInconsistency

Вмикає виявлення неузгодженості кеша в сервері API.

DisableAllocatorDualWrite

Ви можете увімкнути функціональну можливість MultiCIDRServiceAllocator. Сервер API підтримує міграцію зі старих розподільників bitmap ClusterIP на нові розподільники IPAddress.

Сервер API виконує подвійний запис на обидва розподільники. Ця функція вимикає подвійний запис на нові розподільники ClusterIP; ви можете увімкнути цю функцію, якщо ви завершили відповідний етап міграції.

DisableCPUQuotaWithExclusiveCPUs

Коли функціональна можливвість DisableCPUQuotaWithExclusiveCPUs увімкнена ( стандартно), Kubernetes не застосовує квоту на використання CPU для Podʼів, які використовують [Guaranteed](/docs/concepts/workloads/pods/pod-qos/# guaranteed) Клас QoS.

Ви можете вимкнути функцію DisableCPUQuotaWithExclusiveCPUs, щоб відновити попередню поведінку.

DisableNodeKubeProxyVersion

Вимикає встановлення поля kubeProxyVersion вузла.

DRAAdminAccess

Вмикає підтримку запиту доступу адміністратора у ResourceClaim або ResourceClaimTemplate. Доступ адміністратора надає доступ до використовуваних пристроїв і може включати додаткові дозволи, коли пристрій стає доступним у контейнері. Починаючи з Kubernetes v1.33, лише користувачі, яким дозволено створювати обʼєкти ResourceClaim або ResourceClaimTemplate у просторах імен, позначених resource.kubernetes.io/admin-access: “true" (з урахуванням регістру) можуть використовувати поле adminAccess. Це гарантує, що користувачі, які не мають прав адміністратора, не зможуть зловживати функцією. Починаючи з Kubernetes v1.34, цю мітку було оновлено на resource.kubernetes.io/admin-access: "true".

DRAConsumableCapacity

Дозволяє спільне використання пристрою в декількох ResourceClaims або запитах.

Крім того, якщо пристрій підтримує спільне використання, його ресурсом (ємністю) можна керувати за допомогою визначеної політики спільного використання.

DRADeviceBindingConditions

Дозволяє підтримку DeviceBindingConditions у полях, повʼязаних з DRA. Це дозволяє проводити ретельні перевірки готовності пристроїв та процеси підключення перед фазою привʼязки.

DRADeviceTaintRules

Уможливлює підтримку позначення пристроїв позначкою taint за допомогою обʼєктів DeviceTaintRule під час використання динамічного розподілу ресурсів для управління пристроями.

Ця функція не діє, якщо ви також не увімкнете функцію DRADeviceTaint.

DRADeviceTaints

Увімкнення підтримки позначення пристроїв позначкою taint і вибіркове толерування цих позначок під час використання динамічного розподілу ресурсів для керування пристроями.

DRAExtendedResource

Дозволяє підтримку функції Розподіл розширених ресурсів за допомогою DRA. Це дозволяє вказувати імʼя розширеного ресурсу в DeviceClass.

DRAPartitionableDevices

Увімкнути підтримку запиту Пристрої, що розділяються на розділи для DRA. Це дозволяє драйверам оголошувати декілька пристроїв, які зіставляються з тими самими ресурсами фізичного пристрою.

DRAPrioritizedList

Вмикає підтримку функції Prioritized List. Вона дає змогу вказати пріоритетний список підзапитів для запитів у ResourceClaim.

DRAResourceClaimDeviceStatus

Вмикає підтримку поля ResourceClaim.status.devices та встановлення цього статусу з драйверів DRA. Для цього потрібно увімкнути функціональну можливість DynamicResourceAllocation.

DRASchedulerFilterTimeout

Дозволяє припинити роботу фільтра для кожного вузла в планувальнику через певний час ( стандартно 10 секунд, можна налаштувати в конфігурації втулка DynamicResources).

DynamicResourceAllocation

Дозволяє підтримувати ресурси з власними параметрами та життєвим циклом які не залежать від Pod. Розподілом ресурсів займається планувальник Kubernetes використовуючи "структуровані параметри".

ElasticIndexedJob

Дозволяє масштабувати індексовані завдання шляхом зміни параметрів spec.completions та spec.parallelism таким чином, щоб spec.completions == spec.parallelism. Детальніше див. у документації про еластичні індексовані завдання.

EnvFiles

Дозволяє визначати значення змінних середовища контейнера через файл. Дивіться Визначення значень змінних середовища за допомогою контейнера ініціалізації для отримання додаткової інформації.

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 використовував зовнішнього підписувача для підписання токенів та керування ключами для перевірки токенів.

GangScheduling

Увімкнення втулка GangScheduling у kube-scheduler, який реалізує алгоритм планування «все або нічого». Для вираження вимог використовується Workload API.

GenericWorkload

Увімкнення підтримки Workload API для вираження вимог до планування на рівні робочого навантаження.

Коли ця функція увімкнена, Podʼи можуть посилатися на конкретну групу подів і використовувати це для впливу на спосіб їх планування.

GitRepoVolumeDriver

Визначає, чи підтримується втулок томів gitRepo. Втулок томів gitRepo стандартно вимкнений, починаючи з версії 1.33. Це дає користувачам можливість увімкнути його.

GracefulNodeShutdown

Вмикає підтримку відповідного завершення роботи у kubelet. Під час вимкнення системи kubelet намагатиметься виявити подію вимкнення і завершити роботу Podʼів, запущених на вузлі, відповідним чином. Докладніші відомості наведено у статті Відповідне вимикання вузла.

GracefulNodeShutdownBasedOnPodPriority

Дозволяє kubelet перевіряти пріоритети Pod під час відповідного завершення роботи вузла.

HonorPVReclaimPolicy

Дотримуватися політики відновлення постійного тому, коли він має значення Delete, незалежно від впорядкування видалення PV-PVC. Докладніші відомості наведено у документації Завершувач захисту від видалення постійних томів.

HostnameOverride

Дозволяє встановлювати будь-який FQDN як імʼя хоста пода.

HPAConfigurableTolerance

Дозволяє встановити поріг толерантності для метрики HorizontalPodAutoscaleer.

HPAScaleToZero

Дозволяє встановлювати minReplicas у 0 для ресурсів HorizontalPodAutoscaler при використанні власних або зовнішніх метрик.

ImageMaximumGCAge

Вмикає поле конфігурації kubelet imageMaximumGCAge, що дозволяє адміністратору вказати вік, після якого образ буде викинуто у смітник.

ImageVolume

Дозволити використання джерела тому image у Pod. За допомогою цього джерела томів ви можете змонтувати образ контейнера як том лише для читання.

InformerResourceVersion

Дозвольте клієнтам використовувати виклик LastSyncResourceVersion() на інформерах, що дозволить їм виконувати дії на основі поточної версії ресурсу. Коли ця опція вимкнена, LastSyncResourceVersion() виконується успішно, але повертає порожній рядок. Використовується kube-controller-manager для StorageVersionMigration.

InOrderInformers

Примушує інформерів передавати впорядковані події потоку спостереження, замість неупорядкованих.

InPlacePodLevelResourcesVerticalScaling

Дозволяє вертикальне масштабування ресурсів для Podʼів на місці (наприклад, зміна запитів/обмежень на рівні Podʼів щодо CPU або памʼяті для запущених Podʼів без необхідності їх перезапуску). Детальніше див. документацію про вертикальне масштабування ресурсів на рівні Podʼів на місці.

InPlacePodVerticalScaling

Дозволяє вертикальне масштабування Podʼів на місці.

InPlacePodVerticalScalingAllocatedStatus

Вмикає поле allocatedResources у статусі контейнера. Ця функція вимагає, щоб також було увімкнено можливість InPlacePodVerticalScaling.

InPlacePodVerticalScalingExclusiveCPUs

Вмикає зміну розміру ресурсу для контейнерів у Guaranteed podʼах з цілочисельними запитами на CPU. Застосовується лише у вузлах з увімкненими функціями InPlacePodVerticalScaling та CPUManager, а політика CPUManager має значення static.

InPlacePodVerticalScalingExclusiveMemory

Дозволяє змінювати розмір ресурсів для контейнерів у Guaranteed Podʼах, коли політика диспетчера памʼяті встановлена на "Static". Застосовується тільки до вузлів із увімкненими функціями InPlacePodVerticalScaling та диспетчером памʼяті.

InTreePluginPortworxUnregister

Припиняє реєстрацію вбудованого втулка Portworx у kubelet та контролерах томів.

JobBackoffLimitPerIndex

Дозволяє вказати максимальну кількість повторних спроб для кожного індексу в проіндексованих завданнях.

JobManagedBy

Дозволяє делегувати узгодження обʼєкта Job зовнішньому контролеру.

JobPodReplacementPolicy

Дозволяє вказувати заміну для Podʼів, що завершуються, в Job

JobSuccessPolicy

Дозволяє користувачам вказувати, коли Job може бути визнаний успішним на основі набору успішних Podʼів.

KMSv1

Вмикає API KMS v1 для шифрування у стані спокою. Докладні відомості наведено у статті Використання постачальника KMS для шифрування даних.

KubeletCgroupDriverFromCRI

Вмикає виявлення параметра конфігурації драйвера cgroup kubelet з CRI. Ця функціональна можливість тепер увімкнена для всіх кластерів. Однак вона працює лише на вузлах, де є рушій виконання контейнерів CRI, який підтримує виклик CRI RuntimeConfig. Якщо CRI підтримує цю функцію, kubelet ігнорує параметр конфігурації cgroupDriver (або застарілий аргумент командного рядка --cgroup-driver). Якщо рушій виконання контейнерів не підтримує його, kubelet повертається до використання драйвера, налаштованого за допомогою параметра конфігурації cgroupDriver. Kubelet перестане повертатися до цієї конфігурації в Kubernetes 1.36. Таким чином, користувачі повинні оновити свій рушій виконання контейнерів CRI до версії, яка підтримує виклик CRI RuntimeConfig до цього часу. Адміністратори можуть використовувати метрику kubelet_cri_losing_support, щоб дізнатися, чи є вузли в їхньому кластері, які втратять підтримку в 1.36. Наступні версії CRI підтримують цей виклик CRI:

  • containerd: Підтримка була додана в v2.0.0
  • CRI-O: Підтримка була додана в v1.28.0

Дивіться Конфігурація драйвера cgroup для отримання додаткової інформації.

KubeletCrashLoopBackOffMax

Дозволяє підтримувати конфігуровані максимальні значення backoff для кожного вузла для перезапуску контейнерів у стані CrashLoopBackOff. Для більш детальної інформації перевірте поле crashLoopBackOff.maxContainerRestartPeriod у kubelet config file.

KubeletEnsureSecretPulledImages

Забезпечує, що podʼи, які запитують образ, мають дозвіл на доступ до образу за допомогою наданих облікових даних, якщо образ вже присутній на вузлі. Див. розділ Забезпечення перевірки облікових даних при отриманні образу.

KubeletFineGrainedAuthz

Дозволяє детальну авторизацію для HTTP API kubelet.

KubeletInUserNamespace

Вмикає підтримку запуску kubelet у просторі імен користувачів. Див. розділ Запуск компонентів вузла Kubernetes від імені не-root користувача.

KubeletPodResourcesDynamicResources

Розширює ресурси gRPC точки доступу Podʼа kubelet, щоб включити ресурси, виділені в ResourceClaims через API DynamicResourceAllocation. Див. звіт про виділення ресурсів для отримання додаткової інформації, інформацією про доступні ресурси, що дозволяє клієнтам належним чином відстежувати вільні обчислювальні ресурси на вузлі.

KubeletPodResourcesDynamicResources

Розширює кінцеві точки [API gRPC для моніторингу ресурсів pod](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/ kubelet List і Get, щоб включити ресурси, виділені в ResourceClaims за допомогою Динамічного розподілу ресурсів.

Нижче наведено приклад метрик GPU, що демонструє, як цей API використовується NVIDIA dcgm-exporter для збору метрик GPU на кожен под, виділених драйвером NVIDIA DRA:

DCGM_FI_PROF_PCIE_RX_BYTES{gpu="0",UUID="GPU-a4f34abc-7715-3560-dcea-7238b9611a45",pci_bus_id="00000009:01:00.0",device="nvidia0",modelName="NVIDIA GH200 96GB HBM3",Hostname="sc-starwars-xxxx",container="ctr",dra_claim_name="single-gpu",dra_claim_namespace="gpu-test3",dra_device_name="gpu-0",dra_driver_name="gpu.nvidia.com",dra_pool_name="sc-starwars-xxxx",namespace="gpu-test3",pod="pod1"} 23792

DCGM_FI_PROF_PCIE_RX_BYTES{gpu="0",UUID="GPU-a4f34abc-7715-3560-dcea-7238b9611a45",pci_bus_id="00000009:01:00.0",device="nvidia0",modelName="NVIDIA GH200 96GB HBM3",Hostname="sc-starwars-xxxx",container="ctr",dra_claim_name="single-gpu",dra_claim_namespace="gpu-test3",dra_device_name="gpu-0",dra_driver_name="gpu.nvidia.com",dra_pool_name="sc-starwars-xxxx",namespace="gpu-test3",pod="pod2"} 23792

with Pod DRA info:

container="ctr", dra_claim_name="single-gpu", dra_claim_namespace="gpu-test3", dra_device_name="gpu-0",dra_driver_name="gpu.nvidia.com", dra_pool_name="sc-starwars-xxxx", namespace="gpu-test3", pod="pod1"

KubeletPodResourcesGet

Вмикає точку доступу 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-запитів.

LocalStorageCapacityIsolationFSQuotaMonitoring

Якщо LocalStorageCapacityIsolation увімкнено для локального ефемерного сховища, резервна файлова система для томів emptyDir підтримує квоти проєктів і UserNamespacesSupport увімкнено, квоти проєктів використовуються для моніторингу споживання сховища томів emptyDir, а не шляхом проходу файловою системою, що забезпечує кращу продуктивність і точність.

LogarithmicScaleDown

Вмикає напіввипадковий вибір Podʼів для виселення при зменшенні масштабу контролера на основі логарифмічного обʼєднання міток часу Podʼів.

LoggingAlphaOptions

Дозволяє тонко налаштовувати експериментальні, альфа-якості параметрів логування.

LoggingBetaOptions

Дозволяє тонко налаштовувати експериментальні, бета-якості параметрів логування.

MatchLabelKeysInPodAffinity

Вмикає поля matchLabelKeys та mismatchLabelKeys для pod (anti)affinity.

MatchLabelKeysInPodTopologySpread

Вмикає поле matchLabelKeys для Обмеження поширення топології Podʼів.

MatchLabelKeysInPodTopologySpreadSelectorMerge

Вмикає обʼєднання селекторів, побудованих з matchLabelKeys, у labelSelector обмеженнях поширення топології Pod. Цю функцію можна увімкнути, коли функція matchLabelKeys увімкнена за допомогою прапорця функції MatchLabelKeysInPodTopologySpread.

MaxUnavailableStatefulSet

Дозволяє встановити поле maxUnavailable для rolling update strategy набору StatefulSet. Поле визначає максимальну кількість Podʼів, які можуть бути недоступні під час оновлення.

MemoryManager

Дозволяє встановити спорідненість памʼяті для контейнера на основі топології NUMA.

MemoryQoS

Вмикає захист памʼяті та обмеження використання памʼяті на pod/контейнер за допомогою контролера памʼяті cgroup v2.

MultiCIDRServiceAllocator

Відстежуйте розподіл IP-адрес для IP кластера сервісів за допомогою обʼєктів IPAddress.

MutableCSINodeAllocatableCount

Коли функціональну можливість увімкнено, поле .spec.drivers[*].allocatable.count у CSINode стає змінним, а в обʼєкті CSIDriver зʼявляється нове поле nodeAllocatableUpdatePeriodSeconds. Це дозволяє періодично оновлювати звітну ємність томів, що виділяються для вузла, запобігаючи застряганню podʼів зі збереженням стану через застарілу інформацію, на яку покладається планувальник kube-scheduler.

MutablePodResourcesForSuspendedJobs

Вмикає можливість виправлення шаблонів подів для призупинених завдань, щоб змінити запити або обмеження для ресурсів інфраструктури.

MutablePVNodeAffinity

Дозволяє оновлення поля .spec.nodeAffinity PersistentVolume. Дивіться Оновлення до вузлової спорідненості для більш детальної інформації.

MutableSchedulingDirectivesForSuspendedJobs

Вмикає можливість виправлення шаблонів подів для призупинених завдань, щоб змінити директиви планування подів.

MutatingAdmissionPolicy

Вмикає підтримку MutatingAdmissionPolicy, що дозволяє CEL використовувати мутації під час контролю допуску.

У версіях Kubernetes v1.30 та v1.31 ця функціональна можливість існувала, але не мала жодного ефекту.

NFTablesProxyMode

Дозволяє запуск kube-proxy у режимі nftables.

NodeDeclaredFeatures

Дозволяє вузлам повідомляти про підтримувані функції через їх .status. Це дозволяє планувальнику та контролеру допуску запобігати операціям на вузлах, які не мають функцій, необхідних для подів. Див. Функції, оголошені вузлом.

NodeInclusionPolicyInPodTopologySpread

Вмикає використання nodeAffinityPolicy та nodeTaintsPolicy в Обмеження поширення топології Podʼів при обчисленні відхилення розповсюдження топології вузлів.

NodeLogQuery

Дозволяє запитувати логи сервісів вузла за допомогою точки доступу /logs.

NodeSwap

Дозволяє kubelet виділяти памʼять підкачки для робочих навантажень Kubernetes на вузлі. Має використовуватися з KubeletConfiguration.failSwapOn, встановленим у false. За більш детальною інформацією зверніться до swap memory

NominatedNodeNameForExpectation

Коли ця опція увімкнена, kube-scheduler використовує .status.nominatedNodeName, щоб вказати, де буде прив’язаний Pod. Поле .status.nominatedNodeName встановлюється, коли kube-scheduler запускає витіснення подів або передбачає, що фаза WaitOnPermit або PreBinding триватиме відносно довго. Інші компоненти можуть читати та використовувати .status.nominatedNodeName, але не повинні встановлювати його.

Коли ця опція вимкнена, kube-scheduler встановлює .status.nominatedNodeName лише перед запуском витіснення.

OpenAPIEnums

Дозволяє заповнювати поля "enum" схем OpenAPI у специфікації, що повертається від сервера API.

OpportunisticBatching

Вмикає повторне використання результатів планування з попереднього циклу планування для еквівалентних подів.

OrderedNamespaceDeletion

Під час видалення простору імен ресурси podʼів будуть видалені перед рештою ресурсів.

PodAndContainerStatsFromCRI

Налаштуйте kubelet на збір статистики контейнерів і Podʼів під час виконання CRI-контейнера, а не на збір статистики з cAdvisor. Починаючи з версії 1.26, це також включає збір метрик з CRI та надсилання їх за допомогою /metrics/cadvisor (замість того, щоб cAdvisor відправляв їх безпосередньо).

PodCertificateRequest

Вмикає обʼєкти PodCertificateRequest та джерела томів podCertificate, що проєцюються.

PodDeletionCost

Вмикає функцію Pod Deletion Cost, яка дозволяє користувачам впливати на порядок зменшення масштабу ReplicaSet.

PodIndexLabel

Дозволяє контролеру Job і контролеру StatefulSet додавати індекс Podʼів як мітку під час створення нових Podʼів. Докладніше дивіться в документах Режим завершення завдання та Мітка індексу Podʼів StatefulSet.

PodLevelResources

Вмикає Pod level resources: можливість визначати запити та ліміти ресурсів на рівні Podʼа, а не лише для контейнерів.

PodLifecycleSleepAction

Вмикає дію sleep в хуках життєвого циклу контейнера (preStop та postStart).

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 у полі Service trafficDistribution.

PreventStaticPodAPIReferences

Відмовляє в допуску Podʼу, якщо статичні Pod'и посилаються на інші об'єкти API.

ProcMountType

Дозволяє керувати типом монтування proc для контейнерів, встановлюючи поле procMount Podʼа у securityContext.

QOSReserved

Дозволяє резервувати ресурси на рівні QoS, запобігаючи тим самим тому, щоб підсистеми на рівнях QoS нижчого рівня виходили за межі ресурсів, запитаних на рівнях QoS вищого рівня (наразі лише памʼять).

RecoverVolumeExpansionFailure

Дозволяє користувачам редагувати свої PVC до менших розмірів, щоб можна було відновити їх після попередніх збоїв під час розширення томів. Докладні відомості див. у статті Відновлення після збою під час розширення томів.

RecursiveReadOnlyMounts

Вмикає підтримку рекурсивних монтувань лише для читання. Докладні відомості наведено у статті монтування лише для читання.

ReduceDefaultCrashLoopBackOffDecay

Дозволяє зменшити як початкову затримку, так і максимальну затримку, що накопичується між перезапусками контейнерів для вузла для контейнерів у CrashLoopBackOff по всьому кластеру до 1s початкової затримки та 60s максимальної затримки.

RelaxedDNSSearchValidation

Послаблює перевірку на стороні сервера рядка пошуку DNS (.spec.dnsConfig.searches) для контейнерів. Наприклад, з цією увімкненою можливістю можна включити символ _ до рядка пошуку імен DNS.

RelaxedEnvironmentVariableValidation

Дозволити майже всі друковані символи ASCII у змінних оточення.

RelaxedServiceNameValidation

Уможливлює спрощену перевірку імен обʼєктів Service, дозволяючи використовувати імена міток RFC 1123 замість імен міток RFC 1035.

Ця функція дозволяє іменам обʼєктів Service починатися з цифри.

ReloadKubeletServerCertificateFile

Дозволяє TLS-серверу kubelet оновлювати свій сертифікат, якщо вказаний файл сертифіката змінено.

Ця функція корисна при вказівці tlsCertFile і tlsPrivateKeyFile в конфігурації kubelet. Функція gate не впливає на інші випадки, такі як використання TLS bootstrap.

RemoteRequestHeaderUID

Дозволяє серверу API приймати UID (ідентифікатори користувачів) через автентифікацію заголовка запиту. Це також змусить агрегатор API kube-apiserver додавати UID у стандартних заголовках під час пересилання запитів до серверів, що обслуговують агрегований API.

ResilientWatchCacheInitialization

Дозволяє відмовостійку ініціалізацію кешу watch, щоб уникнути перевантаження панелі управління.

ResourceHealthStatus

Вмикає поле allocatedResourcesStatus у файлі .status для Pod. У полі буде показано додаткові відомості для кожного контейнера у Pod, а також інформацію про стан кожного пристрою, призначеного для Pod.

Функціональна можливість застосовується до пристроїв, які керуються як втулками пристроїв, так і динамічним розподілом ресурсів. Див. Device plugin and unhealthy devices для отримання додаткової інформації.

RestartAllContainersOnContainerExits

Дозволяє вказати RestartAllContainers як дію в контейнері restartPolicyRules. Коли вихід контейнера відповідає правилу з цією дією, весь Pod припиняється і перезапускається на місці. Дивіться Перезапуск усіх контейнерів для більш детальної інформації.

RetryGenerateName

Дозволяє повторити спробу створення обʼєкта, коли API server очікується, що сервер API server згенерує name. Якщо цю можливість увімкнено, запити з використанням generateName будуть автоматично повторюватися, якщо панель управління виявить конфлікт імен з наявним обʼєктом, але не більше 8 спроб.

RetryGenerateName

Дозволяє повторити спробу створення обʼєкта, коли очікується, що API server створить name.

Коли цю можливість увімкнено, запити з використанням generateName автоматично повторюються у випадку, якщо панель управління виявляє конфлікт імен з наявним обʼєктом, до обмеження у 8 спроб.

RotateKubeletServerCertificate

Вмикає ротацію серверного TLS-сертифікату в kubelet. Дивіться kubelet configuration для більш детальної інформації.

RuntimeClassInImageCriApi

Дозволяє витягувати зображення на основі класу виконання Podʼів, які посилаються на них.

SchedulerAsyncAPICalls

Змінює kube-scheduler, щоб зробити весь цикл планування вільним від блокуючих запитів до сервера API Kubernetes. Замість цього взаємодійте з API Kubernetes за допомогою асинхронного коду.

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

Дозволяє запускати контролер виселення на основі Taint, який виконує виселення на основі Taint, як окремий контролер (відокремлений від контролера життєвого циклу вузлів).

ServiceAccountNodeAudienceRestriction

Ця функціональна можливість використовується для обмеження аудиторії, для якої 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 для отримання більш детальної інформації.

SizeBasedListCostEstimate

Дозволяє APF використовувати розмір обʼєктів для оцінки вартості запиту.

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

Вмикає міграцію версії сховища ресурсу.

StreamingCollectionEncodingToJSON

Дозволяє кодеру JSON сервера API кодувати колекції поелементно, а не всі одразу.

StreamingCollectionEncodingToProtobuf

Дозволяє кодеру API сервера Protobuf кодувати колекції поелементно, а не всі одразу.

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.

StructuredAuthenticationConfigurationEgressSelector

Дозволяє використання Egress Selector у Structured Authentication Configuration.

StructuredAuthenticationConfigurationJWKSMetrics

Вмикає додаткові метрики для операцій JSON Web Key Set (JWKS) в автентифікаторах JWT, налаштованих за допомогою --authentication-config. Коли ця опція увімкнена, сервер API записує метрики про останній час отримання JWKS та хеш-значення відповіді JWKS. Детальніше див. довідку про метрики.

StructuredAuthorizationConfiguration

Вмикає структуровану конфігурацію авторизації, щоб адміністратори кластера могли вказати більше одного webhook авторизації в ланцюжку обробників серверів API.

SupplementalGroupsPolicy

Вмикає підтримку детального контролю SupplementalGroups. Докладні відомості див. у статті Налаштування детального контролю SupplementalGroups для Podʼа.

SystemdWatchdog

Дозволяє використання systemd watchdog для моніторингу статусу справності kubelet. Див. Kubelet Systemd Watchdog для отримання додаткових відомостей.

TaintTolerationComparisonOperators

Дозволяє використовувати оператори числового порівняння (Lt та Gt) для толерантності.

TokenRequestServiceAccountUIDValidation

Це використовується для того, щоб переконатися, що UID, вказаний у TokenRequest, відповідає UID ServiceAccount, для якого запитується токен. Це допомагає запобігти зловживанню API TokenRequest, гарантуючи, що токени видаються тільки для правильного ServiceAccount.

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-апісерверів у різних версіях. Докладнішу інформацію наведено у статті Проксі змішаних версій.

UserNamespacesHostNetworkSupport

Коли ця опція увімкнена, поди можуть одночасно використовувати як hostNetwork, так і Простори імен користувачів.

UserNamespacesSupport

Вмикання підтримки простору імен користувача для Podʼів.

VolumeAttributesClass

Вмикання підтримки класів VolumeAttributesClasses. Докладні відомості див. у статті Класи атрибутів томів.

VolumeLimitScaling

Вмикає масштабування обмеження томів для драйверів CSI. Це дозволяє планувальнику краще координувати роботу з кластерним автомасштабувальником для обмежень сховища. Дивіться Обмеження сховища для отримання додаткової інформації.

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.
  • Дивіться Налаштування функціональних можливостей для покрокової інструкції щодо їх увімкнення.