Функціональні можливості
Ця сторінка містить огляд різних функціональних можливостей, які адміністратор може вказати для різних компонентів 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.
- Стовпець "З версії" містить випуск Kubernetes, коли функція вперше введена або змінено її стадію випуску.
- Стовпець "До" містить останній випуск Kubernetes, в якому ви все ще можете використовувати функціональну можливість.
- Якщо функція знаходиться в стані Alpha або Beta, ви можете знайти функцію в переліку Таблиці функціональних можливостей для Alpha або Beta функцій.
- Якщо функція стабільна, ви можете знайти всі стадії для цієї функції в переліку Таблиці функціональних можливостей для стабільних або застарілих функцій.
- Таблиця функціональних можливостей для стабільних або застарілих функцій також містить застарілі та вилучені функції.
Примітка:
Для посилання на старі функціональні можливості, які вилучені, дивіться вилучені функціональні можливості.Функціональні можливості для функцій Alpha або Beta
| Властивість | Стандартно | Стадія | Починаючи з | До |
|---|---|---|---|---|
AllowParsingUserUIDFromCertAuth | false | Alpha | 1.33 | 1.33 |
AllowParsingUserUIDFromCertAuth | true | Beta | 1.34 | – |
AllowUnsafeMalformedObjectDeletion | false | Alpha | 1.32 | – |
APIResponseCompression | false | Alpha | 1.7 | 1.15 |
APIResponseCompression | true | Beta | 1.16 | – |
APIServerIdentity | false | Alpha | 1.20 | 1.25 |
APIServerIdentity | true | Beta | 1.26 | – |
APIServingWithRoutine | false | Alpha | 1.30 | – |
AuthorizePodWebsocketUpgradeCreatePermission | true | Beta | 1.35 | – |
CBORServingAndStorage | false | Alpha | 1.32 | – |
ClearingNominatedNodeNameAfterBinding | false | Alpha | 1.34 | 1.34 |
ClearingNominatedNodeNameAfterBinding | true | Beta | 1.35 | – |
CloudControllerManagerWatchBasedRoutesReconciliation | false | Alpha | 1.35 | – |
CloudControllerManagerWebhook | false | Alpha | 1.27 | – |
ClusterTrustBundle | false | Alpha | 1.27 | 1.32 |
ClusterTrustBundle | false | Beta | 1.33 | – |
ClusterTrustBundleProjection | false | Alpha | 1.29 | 1.32 |
ClusterTrustBundleProjection | false | Beta | 1.33 | – |
ComponentFlagz | false | Alpha | 1.32 | – |
ComponentStatusz | false | Alpha | 1.32 | – |
ConcurrentWatchObjectDecode | false | Beta | 1.31 | – |
ConstrainedImpersonation | false | Alpha | 1.35 | – |
ContainerCheckpoint | false | Alpha | 1.25 | 1.29 |
ContainerCheckpoint | true | Beta | 1.30 | – |
ContainerRestartRules | false | Alpha | 1.34 | 1.34 |
ContainerRestartRules | true | Beta | 1.35 | – |
ContainerStopSignals | false | Alpha | 1.33 | – |
ContextualLogging | false | Alpha | 1.24 | – |
ContextualLogging | true | Beta | 1.30 | – |
CoordinatedLeaderElection | false | Alpha | 1.31 | 1.32 |
CoordinatedLeaderElection | false | Beta | 1.33 | – |
CPUManagerPolicyAlphaOptions | false | Alpha | 1.23 | – |
CPUManagerPolicyBetaOptions | true | Beta | 1.23 | – |
CRDObservedGenerationTracking | false | Beta | 1.35 | – |
CrossNamespaceVolumeDataSource | false | Alpha | 1.26 | – |
CSIServiceAccountTokenSecrets | true | Beta | 1.35 | – |
CSIVolumeHealth | false | Alpha | 1.21 | – |
CustomCPUCFSQuotaPeriod | false | Alpha | 1.12 | – |
DeclarativeValidation | true | Beta | 1.33 | – |
DeclarativeValidationTakeover | false | Beta | 1.33 | – |
DeploymentReplicaSetTerminatingReplicas | false | Alpha | 1.33 | 1.34 |
DeploymentReplicaSetTerminatingReplicas | true | Beta | 1.35 | – |
DetectCacheInconsistency | true | Beta | 1.34 | – |
DisableCPUQuotaWithExclusiveCPUs | true | Beta | 1.33 | – |
DRAAdminAccess | false | Alpha | 1.32 | 1.33 |
DRAAdminAccess | true | Beta | 1.34 | – |
DRAConsumableCapacity | false | Alpha | 1.34 | – |
DRADeviceBindingConditions | false | Alpha | 1.34 | – |
DRADeviceTaintRules | false | Alpha | 1.35 | – |
DRADeviceTaints | false | Alpha | 1.33 | – |
DRAExtendedResource | false | Alpha | 1.34 | – |
DRAPartitionableDevices | false | Alpha | 1.33 | – |
DRAPrioritizedList | false | Alpha | 1.33 | 1.33 |
DRAPrioritizedList | true | Beta | 1.34 | – |
DRAResourceClaimDeviceStatus | false | Alpha | 1.32 | 1.32 |
DRAResourceClaimDeviceStatus | true | Beta | 1.33 | – |
DRASchedulerFilterTimeout | false | Alpha | 1.34 | – |
EnvFiles | false | Alpha | 1.34 | 1.34 |
EnvFiles | true | Beta | 1.35 | – |
EventedPLEG | false | Alpha | 1.26 | – |
ExternalServiceAccountTokenSigner | false | Alpha | 1.32 | 1.33 |
ExternalServiceAccountTokenSigner | true | Beta | 1.34 | – |
GangScheduling | false | Alpha | 1.35 | – |
GenericWorkload | false | Alpha | 1.35 | – |
GracefulNodeShutdown | false | Alpha | 1.20 | 1.20 |
GracefulNodeShutdown | true | Beta | 1.21 | – |
GracefulNodeShutdownBasedOnPodPriority | false | Alpha | 1.23 | 1.23 |
GracefulNodeShutdownBasedOnPodPriority | true | Beta | 1.24 | – |
HostnameOverride | false | Alpha | 1.34 | 1.34 |
HostnameOverride | true | Beta | 1.35 | – |
HPAConfigurableTolerance | false | Alpha | 1.33 | 1.34 |
HPAConfigurableTolerance | true | Beta | 1.35 | – |
HPAScaleToZero | false | Alpha | 1.16 | – |
ImageVolume | false | Alpha | 1.31 | 1.32 |
ImageVolume | false | Beta | 1.33 | 1.34 |
ImageVolume | true | Beta | 1.35 | – |
InOrderInformers | true | Alpha | 1.33 | 1.33 |
InOrderInformers | true | Beta | 1.34 | – |
InPlacePodLevelResourcesVerticalScaling | false | Alpha | 1.35 | – |
InPlacePodVerticalScalingExclusiveCPUs | false | Alpha | 1.32 | – |
InPlacePodVerticalScalingExclusiveMemory | false | Alpha | 1.34 | – |
InTreePluginPortworxUnregister | false | Alpha | 1.23 | – |
KubeletCrashLoopBackOffMax | false | Alpha | 1.32 | 1.34 |
KubeletCrashLoopBackOffMax | true | Beta | 1.35 | – |
KubeletEnsureSecretPulledImages | false | Alpha | 1.33 | 1.34 |
KubeletEnsureSecretPulledImages | true | Beta | 1.35 | – |
KubeletFineGrainedAuthz | false | Alpha | 1.32 | 1.32 |
KubeletFineGrainedAuthz | true | Beta | 1.33 | – |
KubeletInUserNamespace | false | Alpha | 1.22 | – |
KubeletPodResourcesDynamicResources | false | Alpha | 1.27 | – |
KubeletPodResourcesDynamicResources | false | Alpha | 1.27 | 1.33 |
KubeletPodResourcesDynamicResources | true | Beta | 1.34 | – |
KubeletPodResourcesGet | false | Alpha | 1.27 | 1.33 |
KubeletPodResourcesGet | true | Beta | 1.34 | – |
KubeletPSI | false | Alpha | 1.33 | 1.33 |
KubeletPSI | true | Beta | 1.34 | – |
KubeletSeparateDiskGC | false | Alpha | 1.29 | 1.30 |
KubeletSeparateDiskGC | true | Beta | 1.31 | – |
KubeletServiceAccountTokenForCredentialProviders | false | Alpha | 1.33 | 1.33 |
KubeletServiceAccountTokenForCredentialProviders | true | Beta | 1.34 | – |
ListFromCacheSnapshot | false | Alpha | 1.33 | 1.33 |
ListFromCacheSnapshot | true | Beta | 1.34 | – |
LocalStorageCapacityIsolationFSQuotaMonitoring | false | Alpha | 1.15 | 1.30 |
LocalStorageCapacityIsolationFSQuotaMonitoring | false | Beta | 1.31 | – |
LoggingAlphaOptions | false | Alpha | 1.24 | – |
LoggingBetaOptions | true | Beta | 1.24 | – |
MatchLabelKeysInPodTopologySpread | false | Alpha | 1.25 | 1.26 |
MatchLabelKeysInPodTopologySpread | true | Beta | 1.27 | – |
MatchLabelKeysInPodTopologySpreadSelectorMerge | true | Beta | 1.34 | – |
MaxUnavailableStatefulSet | false | Alpha | 1.24 | 1.34 |
MaxUnavailableStatefulSet | true | Beta | 1.35 | – |
MemoryQoS | false | Alpha | 1.22 | – |
MutableCSINodeAllocatableCount | false | Alpha | 1.33 | 1.33 |
MutableCSINodeAllocatableCount | false | Beta | 1.34 | 1.34 |
MutableCSINodeAllocatableCount | true | Beta | 1.35 | – |
MutablePodResourcesForSuspendedJobs | false | Alpha | 1.35 | – |
MutablePVNodeAffinity | false | Alpha | 1.35 | – |
MutableSchedulingDirectivesForSuspendedJobs | false | Alpha | 1.35 | – |
MutatingAdmissionPolicy | false | Alpha | 1.30 | 1.33 |
MutatingAdmissionPolicy | false | Beta | 1.34 | – |
NodeDeclaredFeatures | false | Alpha | 1.35 | – |
NodeLogQuery | false | Alpha | 1.27 | 1.29 |
NodeLogQuery | false | Beta | 1.30 | – |
NominatedNodeNameForExpectation | false | Alpha | 1.34 | 1.34 |
NominatedNodeNameForExpectation | true | Beta | 1.35 | – |
OpenAPIEnums | false | Alpha | 1.23 | 1.23 |
OpenAPIEnums | true | Beta | 1.24 | – |
OpportunisticBatching | true | Beta | 1.35 | – |
PodAndContainerStatsFromCRI | false | Alpha | 1.23 | – |
PodCertificateRequest | false | Alpha | 1.34 | 1.34 |
PodCertificateRequest | false | Beta | 1.35 | – |
PodDeletionCost | false | Alpha | 1.21 | 1.21 |
PodDeletionCost | true | Beta | 1.22 | – |
PodLevelResources | false | Alpha | 1.32 | 1.33 |
PodLevelResources | true | Beta | 1.34 | – |
PodLogsQuerySplitStreams | false | Alpha | 1.32 | – |
PodReadyToStartContainersCondition | false | Alpha | 1.28 | 1.28 |
PodReadyToStartContainersCondition | true | Beta | 1.29 | – |
PodTopologyLabelsAdmission | false | Alpha | 1.33 | 1.34 |
PodTopologyLabelsAdmission | true | Beta | 1.35 | – |
PortForwardWebsockets | false | Alpha | 1.30 | 1.30 |
PortForwardWebsockets | true | Beta | 1.31 | – |
PreventStaticPodAPIReferences | true | Beta | 1.34 | – |
ProcMountType | false | Alpha | 1.12 | 1.30 |
ProcMountType | false | Beta | 1.31 | 1.32 |
ProcMountType | true | Beta | 1.33 | – |
QOSReserved | false | Alpha | 1.11 | – |
ReduceDefaultCrashLoopBackOffDecay | false | Alpha | 1.33 | – |
RelaxedServiceNameValidation | false | Alpha | 1.34 | – |
ReloadKubeletServerCertificateFile | true | Beta | 1.31 | – |
RemoteRequestHeaderUID | false | Alpha | 1.32 | – |
ResourceHealthStatus | false | Alpha | 1.31 | – |
RestartAllContainersOnContainerExits | false | Alpha | 1.35 | – |
RetryGenerateName | false | Alpha | 1.30 | – |
RotateKubeletServerCertificate | false | Alpha | 1.7 | 1.11 |
RotateKubeletServerCertificate | true | Beta | 1.12 | – |
RuntimeClassInImageCriApi | false | Alpha | 1.29 | – |
SchedulerAsyncAPICalls | true | Beta | 1.34 | – |
SchedulerAsyncPreemption | false | Alpha | 1.32 | 1.32 |
SchedulerAsyncPreemption | true | Beta | 1.33 | – |
SchedulerPopFromBackoffQ | true | Beta | 1.33 | – |
SELinuxChangePolicy | false | Alpha | 1.32 | 1.32 |
SELinuxChangePolicy | true | Beta | 1.33 | – |
SELinuxMount | false | Alpha | 1.30 | 1.32 |
SELinuxMount | false | Beta | 1.33 | – |
SELinuxMountReadWriteOncePod | false | Alpha | 1.25 | 1.26 |
SELinuxMountReadWriteOncePod | false | Beta | 1.27 | 1.27 |
SELinuxMountReadWriteOncePod | true | Beta | 1.28 | – |
ServiceAccountNodeAudienceRestriction | false | Beta | 1.32 | 1.32 |
ServiceAccountNodeAudienceRestriction | true | Beta | 1.33 | – |
SizeBasedListCostEstimate | true | Beta | 1.34 | – |
StorageCapacityScoring | false | Alpha | 1.33 | – |
StorageVersionAPI | false | Alpha | 1.20 | – |
StorageVersionHash | false | Alpha | 1.14 | 1.14 |
StorageVersionHash | true | Beta | 1.15 | – |
StorageVersionMigrator | false | Alpha | 1.30 | 1.34 |
StorageVersionMigrator | false | Beta | 1.35 | – |
StrictIPCIDRValidation | false | Alpha | 1.33 | – |
StructuredAuthenticationConfigurationEgressSelector | true | Beta | 1.34 | – |
StructuredAuthenticationConfigurationJWKSMetrics | true | Beta | 1.35 | – |
SupplementalGroupsPolicy | false | Alpha | 1.31 | 1.32 |
SupplementalGroupsPolicy | true | Beta | 1.33 | – |
SystemdWatchdog | true | Beta | 1.32 | – |
TaintTolerationComparisonOperators | false | Alpha | 1.35 | – |
TokenRequestServiceAccountUIDValidation | true | Beta | 1.34 | – |
TopologyManagerPolicyAlphaOptions | false | Alpha | 1.26 | – |
TopologyManagerPolicyBetaOptions | false | Beta | 1.26 | 1.27 |
TopologyManagerPolicyBetaOptions | true | Beta | 1.28 | – |
TranslateStreamCloseWebsocketRequests | false | Alpha | 1.29 | 1.29 |
TranslateStreamCloseWebsocketRequests | true | Beta | 1.30 | – |
UnauthenticatedHTTP2DOSMitigation | false | Beta | 1.28 | 1.28 |
UnauthenticatedHTTP2DOSMitigation | true | Beta | 1.29 | – |
UnknownVersionInteroperabilityProxy | false | Alpha | 1.28 | – |
UserNamespacesHostNetworkSupport | false | Alpha | 1.35 | – |
UserNamespacesSupport | false | Alpha | 1.28 | 1.29 |
UserNamespacesSupport | false | Beta | 1.30 | 1.32 |
UserNamespacesSupport | true | Beta | 1.33 | – |
VolumeLimitScaling | false | Alpha | 1.35 | – |
WatchCacheInitializationPostStartHook | false | Beta | 1.31 | – |
WatchList | false | Alpha | 1.27 | 1.31 |
WatchList | true | Beta | 1.32 | 1.32 |
WatchList | false | Beta | 1.33 | 1.33 |
WatchList | true | Beta | 1.34 | – |
WatchListClient | false | Beta | 1.30 | 1.34 |
WatchListClient | true | Beta | 1.35 | – |
WindowsCPUAndMemoryAffinity | false | Alpha | 1.32 | – |
WindowsGracefulNodeShutdown | false | Alpha | 1.32 | 1.33 |
WindowsGracefulNodeShutdown | true | Beta | 1.34 | – |
Функціональні можливості для стабільних або застарілих функцій
| Властивість | Стандартно | Стадія | Починаючи з | До |
|---|---|---|---|---|
AllowDNSOnlyNodeCSR | false | Deprecated | 1.31 | – |
AllowInsecureKubeletCertificateSigningRequests | false | Deprecated | 1.31 | – |
AnonymousAuthConfigurableEndpoints | false | Alpha | 1.31 | 1.31 |
AnonymousAuthConfigurableEndpoints | true | Beta | 1.32 | 1.33 |
AnonymousAuthConfigurableEndpoints | true | GA | 1.34 | – |
AnyVolumeDataSource | false | Alpha | 1.18 | 1.23 |
AnyVolumeDataSource | true | Beta | 1.24 | 1.32 |
AnyVolumeDataSource | true | GA | 1.33 | – |
APIServerTracing | false | Alpha | 1.22 | 1.26 |
APIServerTracing | true | Beta | 1.27 | 1.33 |
APIServerTracing | true | GA | 1.34 | – |
AuthorizeNodeWithSelectors | false | Alpha | 1.31 | 1.31 |
AuthorizeNodeWithSelectors | true | Beta | 1.32 | 1.33 |
AuthorizeNodeWithSelectors | true | GA | 1.34 | – |
AuthorizeWithSelectors | false | Alpha | 1.31 | 1.31 |
AuthorizeWithSelectors | true | Beta | 1.32 | 1.33 |
AuthorizeWithSelectors | true | GA | 1.34 | – |
BtreeWatchCache | true | Beta | 1.32 | 1.32 |
BtreeWatchCache | true | GA | 1.33 | – |
ChangeContainerStatusOnKubeletRestart | false | Deprecated | 1.35 | – |
ConsistentListFromCache | false | Alpha | 1.28 | 1.30 |
ConsistentListFromCache | true | Beta | 1.31 | 1.33 |
ConsistentListFromCache | true | GA | 1.34 | – |
CPUManagerPolicyOptions | false | Alpha | 1.22 | 1.22 |
CPUManagerPolicyOptions | true | Beta | 1.23 | 1.32 |
CPUManagerPolicyOptions | true | GA | 1.33 | – |
CRDValidationRatcheting | false | Alpha | 1.28 | 1.29 |
CRDValidationRatcheting | true | Beta | 1.30 | 1.32 |
CRDValidationRatcheting | true | GA | 1.33 | – |
CronJobsScheduledAnnotation | true | Beta | 1.28 | 1.31 |
CronJobsScheduledAnnotation | true | GA | 1.32 | – |
CSIMigrationPortworx | false | Alpha | 1.23 | 1.24 |
CSIMigrationPortworx | false | Beta | 1.25 | 1.30 |
CSIMigrationPortworx | true | Beta | 1.31 | 1.32 |
CSIMigrationPortworx | true | GA | 1.33 | – |
CustomResourceFieldSelectors | false | Alpha | 1.30 | 1.30 |
CustomResourceFieldSelectors | true | Beta | 1.31 | 1.31 |
CustomResourceFieldSelectors | true | GA | 1.32 | – |
DisableAllocatorDualWrite | false | Alpha | 1.31 | 1.32 |
DisableAllocatorDualWrite | false | Beta | 1.33 | 1.33 |
DisableAllocatorDualWrite | true | GA | 1.34 | – |
DisableNodeKubeProxyVersion | false | Alpha | 1.29 | 1.30 |
DisableNodeKubeProxyVersion | true | Beta | 1.31.0 | 1.31.0 |
DisableNodeKubeProxyVersion | false | Deprecated | 1.31.1 | – |
DisableNodeKubeProxyVersion | false | Deprecated | 1.32 | 1.32 |
DisableNodeKubeProxyVersion | true | Deprecated | 1.33 | – |
DynamicResourceAllocation | false | Alpha | 1.30 | 1.31 |
DynamicResourceAllocation | false | Beta | 1.32 | 1.33 |
DynamicResourceAllocation | true | GA | 1.34 | 1.34 |
DynamicResourceAllocation | true | GA | 1.35 | – |
ElasticIndexedJob | true | Beta | 1.27 | 1.30 |
ElasticIndexedJob | true | GA | 1.31 | – |
ExecProbeTimeout | true | GA | 1.20 | – |
GitRepoVolumeDriver | false | Deprecated | 1.33 | – |
HonorPVReclaimPolicy | false | Alpha | 1.23 | 1.30 |
HonorPVReclaimPolicy | true | Beta | 1.31 | 1.32 |
HonorPVReclaimPolicy | true | GA | 1.33 | – |
ImageMaximumGCAge | false | Alpha | 1.29 | 1.29 |
ImageMaximumGCAge | true | Beta | 1.30 | 1.34 |
ImageMaximumGCAge | true | GA | 1.35 | – |
InformerResourceVersion | false | Alpha | 1.30 | 1.34 |
InformerResourceVersion | true | GA | 1.35 | – |
InPlacePodVerticalScaling | false | Alpha | 1.27 | 1.32 |
InPlacePodVerticalScaling | true | Beta | 1.33 | 1.34 |
InPlacePodVerticalScaling | true | GA | 1.35 | – |
InPlacePodVerticalScalingAllocatedStatus | false | Alpha | 1.32 | 1.32 |
InPlacePodVerticalScalingAllocatedStatus | false | Deprecated | 1.33 | – |
JobBackoffLimitPerIndex | false | Alpha | 1.28 | 1.28 |
JobBackoffLimitPerIndex | true | Beta | 1.29 | 1.32 |
JobBackoffLimitPerIndex | true | GA | 1.33 | – |
JobManagedBy | false | Alpha | 1.30 | 1.31 |
JobManagedBy | true | Beta | 1.32 | 1.34 |
JobManagedBy | true | GA | 1.35 | – |
JobPodReplacementPolicy | false | Alpha | 1.28 | 1.28 |
JobPodReplacementPolicy | true | Beta | 1.29 | 1.33 |
JobPodReplacementPolicy | true | GA | 1.34 | – |
JobSuccessPolicy | false | Alpha | 1.30 | 1.30 |
JobSuccessPolicy | true | Beta | 1.31 | 1.32 |
JobSuccessPolicy | true | GA | 1.33 | – |
KMSv1 | true | Deprecated | 1.28 | 1.28 |
KMSv1 | false | Deprecated | 1.29 | – |
KubeletCgroupDriverFromCRI | false | Alpha | 1.28 | 1.30 |
KubeletCgroupDriverFromCRI | true | Beta | 1.31 | – |
KubeletCgroupDriverFromCRI | true | GA | 1.34 | – |
KubeletTracing | false | Alpha | 1.25 | 1.26 |
KubeletTracing | true | Beta | 1.27 | 1.33 |
KubeletTracing | true | GA | 1.34 | – |
LogarithmicScaleDown | false | Alpha | 1.21 | 1.21 |
LogarithmicScaleDown | true | Beta | 1.22 | 1.30 |
LogarithmicScaleDown | true | GA | 1.31 | – |
MatchLabelKeysInPodAffinity | false | Alpha | 1.29 | 1.30 |
MatchLabelKeysInPodAffinity | true | Beta | 1.31 | 1.32 |
MatchLabelKeysInPodAffinity | true | GA | 1.33 | – |
MemoryManager | false | Alpha | 1.21 | 1.21 |
MemoryManager | true | Beta | 1.22 | 1.31 |
MemoryManager | true | GA | 1.32 | – |
MultiCIDRServiceAllocator | false | Alpha | 1.27 | 1.30 |
MultiCIDRServiceAllocator | false | Beta | 1.31 | 1.32 |
MultiCIDRServiceAllocator | true | GA | 1.33 | – |
NFTablesProxyMode | false | Alpha | 1.29 | 1.30 |
NFTablesProxyMode | true | Beta | 1.31 | 1.32 |
NFTablesProxyMode | true | GA | 1.33 | – |
NodeInclusionPolicyInPodTopologySpread | false | Alpha | 1.25 | 1.25 |
NodeInclusionPolicyInPodTopologySpread | true | Beta | 1.26 | 1.32 |
NodeInclusionPolicyInPodTopologySpread | true | GA | 1.33 | – |
NodeSwap | false | Alpha | 1.22 | 1.27 |
NodeSwap | false | Beta | 1.28 | 1.29 |
NodeSwap | true | Beta | 1.30 | 1.33 |
NodeSwap | true | GA | 1.34 | – |
OrderedNamespaceDeletion | false | Beta | 1.30 | 1.32 |
OrderedNamespaceDeletion | true | Beta | 1.33 | 1.33 |
OrderedNamespaceDeletion | true | GA | 1.34 | – |
PodIndexLabel | true | Beta | 1.28 | 1.31 |
PodIndexLabel | true | GA | 1.32 | – |
PodLifecycleSleepAction | false | Alpha | 1.29 | 1.29 |
PodLifecycleSleepAction | true | Beta | 1.30 | 1.33 |
PodLifecycleSleepAction | true | GA | 1.34 | – |
PodLifecycleSleepActionAllowZero | false | Alpha | 1.32 | 1.32 |
PodLifecycleSleepActionAllowZero | true | Beta | 1.33 | 1.33 |
PodLifecycleSleepActionAllowZero | true | GA | 1.34 | – |
PodObservedGenerationTracking | false | Alpha | 1.33 | 1.33 |
PodObservedGenerationTracking | true | Beta | 1.34 | 1.34 |
PodObservedGenerationTracking | true | GA | 1.35 | – |
PodSchedulingReadiness | false | Alpha | 1.26 | 1.26 |
PodSchedulingReadiness | true | Beta | 1.27 | 1.29 |
PodSchedulingReadiness | true | GA | 1.30 | – |
PreferSameTrafficDistribution | false | Alpha | 1.33 | 1.33 |
PreferSameTrafficDistribution | true | Beta | 1.34 | 1.34 |
PreferSameTrafficDistribution | true | GA | 1.35 | – |
RecoverVolumeExpansionFailure | false | Alpha | 1.23 | 1.31 |
RecoverVolumeExpansionFailure | true | Beta | 1.32 | 1.33 |
RecoverVolumeExpansionFailure | true | GA | 1.34 | – |
RecursiveReadOnlyMounts | false | Alpha | 1.30 | 1.30 |
RecursiveReadOnlyMounts | true | Beta | 1.31 | 1.32 |
RecursiveReadOnlyMounts | true | GA | 1.33 | – |
RelaxedDNSSearchValidation | false | Alpha | 1.32 | 1.32 |
RelaxedDNSSearchValidation | true | Beta | 1.33 | 1.33 |
RelaxedDNSSearchValidation | true | GA | 1.34 | – |
RelaxedEnvironmentVariableValidation | false | Alpha | 1.30 | 1.31 |
RelaxedEnvironmentVariableValidation | true | Beta | 1.32 | 1.33 |
RelaxedEnvironmentVariableValidation | true | GA | 1.34 | – |
ResilientWatchCacheInitialization | true | Beta | 1.31 | 1.33 |
ResilientWatchCacheInitialization | true | GA | 1.34 | – |
RetryGenerateName | false | Alpha | 1.30 | 1.30 |
RetryGenerateName | true | Beta | 1.31 | 1.31 |
RetryGenerateName | true | GA | 1.32 | – |
SchedulerQueueingHints | true | Beta | 1.28 | 1.28 |
SchedulerQueueingHints | false | Beta | 1.29 | 1.31 |
SchedulerQueueingHints | true | Beta | 1.32 | 1.33 |
SchedulerQueueingHints | true | GA | 1.34 | – |
SeparateCacheWatchRPC | true | Beta | 1.28 | 1.32 |
SeparateCacheWatchRPC | false | Deprecated | 1.33 | – |
SeparateTaintEvictionController | true | Beta | 1.29 | 1.33 |
SeparateTaintEvictionController | true | GA | 1.34 | – |
ServiceAccountTokenJTI | false | Alpha | 1.29 | 1.29 |
ServiceAccountTokenJTI | true | Beta | 1.30 | 1.31 |
ServiceAccountTokenJTI | true | GA | 1.32 | – |
ServiceAccountTokenNodeBinding | false | Alpha | 1.29 | 1.30 |
ServiceAccountTokenNodeBinding | true | Beta | 1.31 | 1.32 |
ServiceAccountTokenNodeBinding | true | GA | 1.33 | – |
ServiceAccountTokenNodeBindingValidation | false | Alpha | 1.29 | 1.29 |
ServiceAccountTokenNodeBindingValidation | true | Beta | 1.30 | 1.31 |
ServiceAccountTokenNodeBindingValidation | true | GA | 1.32 | – |
ServiceAccountTokenPodNodeInfo | false | Alpha | 1.29 | 1.29 |
ServiceAccountTokenPodNodeInfo | true | Beta | 1.30 | 1.31 |
ServiceAccountTokenPodNodeInfo | true | GA | 1.32 | – |
ServiceTrafficDistribution | false | Alpha | 1.30 | 1.30 |
ServiceTrafficDistribution | true | Beta | 1.31 | 1.32 |
ServiceTrafficDistribution | true | GA | 1.33 | – |
SidecarContainers | false | Alpha | 1.28 | 1.28 |
SidecarContainers | true | Beta | 1.29 | 1.32 |
SidecarContainers | true | GA | 1.33 | – |
StatefulSetAutoDeletePVC | false | Alpha | 1.23 | 1.26 |
StatefulSetAutoDeletePVC | true | Beta | 1.27 | 1.31 |
StatefulSetAutoDeletePVC | true | GA | 1.32 | – |
StatefulSetStartOrdinal | false | Alpha | 1.26 | 1.26 |
StatefulSetStartOrdinal | true | Beta | 1.27 | 1.30 |
StatefulSetStartOrdinal | true | GA | 1.31 | – |
StorageNamespaceIndex | true | Beta | 1.30 | 1.32 |
StorageNamespaceIndex | true | Deprecated | 1.33 | – |
StreamingCollectionEncodingToJSON | true | Beta | 1.33 | 1.33 |
StreamingCollectionEncodingToJSON | true | GA | 1.34 | – |
StreamingCollectionEncodingToProtobuf | true | Alpha | 1.33 | 1.33 |
StreamingCollectionEncodingToProtobuf | true | GA | 1.34 | – |
StrictCostEnforcementForVAP | false | Beta | 1.30 | 1.31 |
StrictCostEnforcementForVAP | true | GA | 1.32 | – |
StrictCostEnforcementForWebhooks | false | Beta | 1.31 | 1.31 |
StrictCostEnforcementForWebhooks | true | GA | 1.32 | – |
StructuredAuthenticationConfiguration | false | Alpha | 1.29 | 1.29 |
StructuredAuthenticationConfiguration | true | Beta | 1.30 | 1.33 |
StructuredAuthenticationConfiguration | true | GA | 1.34 | – |
StructuredAuthorizationConfiguration | false | Alpha | 1.29 | 1.29 |
StructuredAuthorizationConfiguration | true | Beta | 1.30 | 1.31 |
StructuredAuthorizationConfiguration | true | GA | 1.32 | – |
TopologyAwareHints | false | Alpha | 1.21 | 1.22 |
TopologyAwareHints | false | Beta | 1.23 | 1.23 |
TopologyAwareHints | true | Beta | 1.24 | 1.32 |
TopologyAwareHints | true | GA | 1.33 | – |
TopologyManagerPolicyOptions | false | Alpha | 1.26 | 1.27 |
TopologyManagerPolicyOptions | true | Beta | 1.28 | 1.31 |
TopologyManagerPolicyOptions | true | GA | 1.32 | – |
VolumeAttributesClass | false | Alpha | 1.29 | 1.30 |
VolumeAttributesClass | false | Beta | 1.31 | 1.33 |
VolumeAttributesClass | true | GA | 1.34 | – |
WatchFromStorageWithoutResourceVersion | false | Beta | 1.30 | 1.32 |
WatchFromStorageWithoutResourceVersion | false | Deprecated | 1.33 | – |
WindowsHostNetwork | true | Alpha | 1.26 | 1.32 |
WindowsHostNetwork | false | Deprecated | 1.33 | – |
WinDSR | false | Alpha | 1.14 | 1.32 |
WinDSR | true | Beta | 1.33 | 1.33 |
WinDSR | true | GA | 1.34 | – |
WinOverlay | false | Alpha | 1.14 | 1.19 |
WinOverlay | true | Beta | 1.20 | 1.33 |
WinOverlay | true | GA | 1.34 | – |
Використання функцій
Стадії функцій
Кожна функція може бути в стані Alpha, Beta або GA (загальнодоступна).
Alpha означає:
- Функція є типово вимкненою.
- Функція може містити помилки. Увімкнення функції може призвести до непередбачуваної поведінки.
- Підтримка функції може бути припинена в будь-який момент без попередження.
- API може змінюватися в несумісний спосіб в майбутніх випусках без попередження.
- Рекомендується використовувати функцію в кластерах з коротким терміном життя через значний ризик помилок та відсутність довгострокової підтримки.
Beta означає:
- Зазвичай функція є типово увімкненою. Бета 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 використовують HTTPPOST(що природно узгоджується з дозволом create RBAC), протокол WebSocket вимагає запиту HTTPGETдля встановлення зʼєднання. Щоб виправити цей недолік, тепер застосовується синтетична перевірка 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.
ClusterTrustBundleProjectionComponentFlagzУвімкнення точки доступу 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
checkpointAPI. Дивіться 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 до версії, яка підтримує виклик CRIRuntimeConfigдо цього часу. Адміністратори можуть використовувати метрику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через APIDynamicResourceAllocation. Див. звіт про виділення ресурсів для отримання додаткової інформації, інформацією про доступні ресурси, що дозволяє клієнтам належним чином відстежувати вільні обчислювальні ресурси на вузлі.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"} 23792DCGM_FI_PROF_PCIE_RX_BYTES{gpu="0",UUID="GPU-a4f34abc-7715-3560-dcea-7238b9611a45",pci_bus_id="00000009:01:00.0",device="nvidia0",modelName="NVIDIA GH200 96GB HBM3",Hostname="sc-starwars-xxxx",container="ctr",dra_claim_name="single-gpu",dra_claim_namespace="gpu-test3",dra_device_name="gpu-0",dra_driver_name="gpu.nvidia.com",dra_pool_name="sc-starwars-xxxx",namespace="gpu-test3",pod="pod2"} 23792
with Pod DRA info:
container="ctr", dra_claim_name="single-gpu", dra_claim_namespace="gpu-test3", dra_device_name="gpu-0",dra_driver_name="gpu.nvidia.com", dra_pool_name="sc-starwars-xxxx", namespace="gpu-test3", pod="pod1"
KubeletPodResourcesGetВмикає точку доступу
GetgRPC в 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.Дозволяє встановити поле
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.nodeAffinityPersistentVolume. Дивіться Оновлення до вузлової спорідненості для більш детальної інформації.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 memoryNominatedNodeNameForExpectationКоли ця опція увімкнена, 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.generationPodʼу на момент запису статусу або стану. Зберігання цієї інформації допомагає уникнути ризиків, повʼязаних із втраченими оновленнями.PodReadyToStartContainersConditionДозволяє kubelet позначати стан PodReadyToStartContainers для контейнерів Podʼів.
Раніше ця функціональна можливість була відома як
PodHasNetworkCondition, а повʼязана з нею умова називаласяPodHasNetwork.PodSchedulingReadinessДозволяє встановлювати поле
SchedulingGatesдля керування готовністю до виселення за розкладом.PodTopologyLabelsAdmissionВмикає втулок доступу
PodTopologyLabels. Докладні відомості наведено у статті Мітки топології podʼів.PortForwardWebsocketsДозволити потокове передавання WebSocket підпротоколу portforward (
port-forward) від клієнтів, які запитують версію v2 (v2.portforward.k8s.io) підпротоколу.PreferSameTrafficDistributionДозволяє використовувати значення
PreferSameZoneтаPreferSameNodeу полі ServicetrafficDistribution.PreventStaticPodAPIReferencesВідмовляє в допуску Podʼу, якщо статичні Pod'и посилаються на інші об'єкти API.
ProcMountTypeДозволяє керувати типом монтування proc для контейнерів, встановлюючи поле
procMountPodʼа у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. - Дивіться Налаштування функціональних можливостей для покрокової інструкції щодо їх увімкнення.