해당 문서의 쿠버네티스 버전: v1.30
Kubernetes v1.30 문서는 더 이상 적극적으로 관리되지 않음. 현재 보고있는 문서는 정적 스냅샷임. 최신 문서를 위해서는, 다음을 참고. 최신 버전.
기능 게이트
이 페이지에는 관리자가 다른 쿠버네티스 컴포넌트에서 지정할 수 있는 다양한 기능 게이트에 대한 개요가 포함되어 있다.
기능의 단계(stage)에 대한 설명은 기능 단계를 참고한다.
개요
기능 게이트는 쿠버네티스 기능을 설명하는 일련의 키=값 쌍이다.
각 쿠버네티스 컴포넌트에서 --feature-gates
커맨드 라인 플래그를 사용하여
이러한 기능을 켜거나 끌 수 있다.
각 쿠버네티스 컴포넌트를 사용하면 해당 컴포넌트와 관련된 기능 게이트 집합을
활성화 또는 비활성화할 수 있다.
모든 컴포넌트에 대한 전체 기능 게이트 집합을 보려면 -h
플래그를 사용한다.
kubelet과 같은 컴포넌트의 기능 게이트를 설정하려면,
기능 쌍 목록에 지정된 --feature-gates
플래그를 사용한다.
--feature-gates=...,GracefulNodeShutdown=true
다음 표는 다른 쿠버네티스 컴포넌트에서 설정할 수 있는 기능 게이트를 요약한 것이다.
- "도입" 열에는 기능이 소개되거나 릴리스 단계가 변경될 때의 쿠버네티스 릴리스가 포함된다.
- "종료" 열이 비어 있지 않으면, 여전히 기능 게이트를 사용할 수 있는 마지막 쿠버네티스 릴리스가 포함된다.
- 기능이 알파 또는 베타 상태인 경우, 알파/베타 기능 게이트 테이블에서 나열된 기능을 찾을 수 있다.
- 기능이 안정된 경우 해당 기능에 대한 모든 단계를 승급(graduated)/사용 중단(deprecated) 기능 게이트 테이블에 나열할 수 있다.
- 승급/사용 중단 기능 게이트 테이블에는 사용 중단된 기능과 철회(withdrawn) 기능의 목록도 있다.
참고:
제거된 옛 기능 게이트의 레퍼런스를 보려면, 제거된 기능 게이트 페이지를 참고한다.알파 또는 베타 기능을 위한 기능 게이트
기능 | 디폴트 | 단계 | 도입 | 종료 |
---|---|---|---|---|
APIListChunking |
false |
알파 | 1.8 | 1.8 |
APIListChunking |
true |
베타 | 1.9 | |
APIPriorityAndFairness |
false |
알파 | 1.18 | 1.19 |
APIPriorityAndFairness |
true |
베타 | 1.20 | |
APIResponseCompression |
false |
알파 | 1.7 | 1.15 |
APIResponseCompression |
true |
베타 | 1.16 | |
APISelfSubjectAttributesReview |
false |
알파 | 1.26 | |
APIServerIdentity |
false |
알파 | 1.20 | 1.25 |
APIServerIdentity |
true |
베타 | 1.26 | |
APIServerTracing |
false |
알파 | 1.22 | |
AllowInsecureBackendProxy |
true |
베타 | 1.17 | |
AnyVolumeDataSource |
false |
알파 | 1.18 | 1.23 |
AnyVolumeDataSource |
true |
베타 | 1.24 | |
AppArmor |
true |
베타 | 1.4 | |
CPUManagerPolicyAlphaOptions |
false |
알파 | 1.23 | |
CPUManagerPolicyBetaOptions |
true |
베타 | 1.23 | |
CPUManagerPolicyOptions |
false |
알파 | 1.22 | 1.22 |
CPUManagerPolicyOptions |
true |
베타 | 1.23 | |
CSIMigrationPortworx |
false |
알파 | 1.23 | 1.24 |
CSIMigrationPortworx |
false |
베타 | 1.25 | |
CSIMigrationRBD |
false |
알파 | 1.23 | |
CSINodeExpandSecret |
false |
알파 | 1.25 | |
CSIVolumeHealth |
false |
알파 | 1.21 | |
CrossNamespaceVolumeDataSource |
false |
알파 | 1.26 | |
ContainerCheckpoint |
false |
알파 | 1.25 | |
ContextualLogging |
false |
알파 | 1.24 | |
CustomCPUCFSQuotaPeriod |
false |
알파 | 1.12 | |
CustomResourceValidationExpressions |
false |
알파 | 1.23 | 1.24 |
CustomResourceValidationExpressions |
true |
베타 | 1.25 | |
DisableCloudProviders |
false |
알파 | 1.22 | |
DisableKubeletCloudCredentialProviders |
false |
알파 | 1.23 | |
DownwardAPIHugePages |
false |
알파 | 1.20 | 1.20 |
DownwardAPIHugePages |
false |
베타 | 1.21 | 1.21 |
DownwardAPIHugePages |
true |
베타 | 1.22 | |
DynamicResourceAllocation |
false |
알파 | 1.26 | |
EndpointSliceTerminatingCondition |
false |
알파 | 1.20 | 1.21 |
EndpointSliceTerminatingCondition |
true |
베타 | 1.22 | |
ExpandedDNSConfig |
false |
알파 | 1.22 | |
ExperimentalHostUserNamespaceDefaulting |
false |
베타 | 1.5 | |
GRPCContainerProbe |
false |
알파 | 1.23 | 1.23 |
GRPCContainerProbe |
true |
베타 | 1.24 | |
GracefulNodeShutdown |
false |
알파 | 1.20 | 1.20 |
GracefulNodeShutdown |
true |
베타 | 1.21 | |
GracefulNodeShutdownBasedOnPodPriority |
false |
알파 | 1.23 | 1.23 |
GracefulNodeShutdownBasedOnPodPriority |
true |
베타 | 1.24 | |
HPAContainerMetrics |
false |
알파 | 1.20 | |
HPAScaleToZero |
false |
알파 | 1.16 | |
HonorPVReclaimPolicy |
false |
알파 | 1.23 | |
InTreePluginAWSUnregister |
false |
알파 | 1.21 | |
InTreePluginAzureDiskUnregister |
false |
알파 | 1.21 | |
InTreePluginAzureFileUnregister |
false |
알파 | 1.21 | |
InTreePluginGCEUnregister |
false |
알파 | 1.21 | |
InTreePluginOpenStackUnregister |
false |
알파 | 1.21 | |
InTreePluginPortworxUnregister |
false |
알파 | 1.23 | |
InTreePluginRBDUnregister |
false |
알파 | 1.23 | |
InTreePluginvSphereUnregister |
false |
알파 | 1.21 | |
IPTablesOwnershipCleanup |
false |
알파 | 1.25 | |
JobMutableNodeSchedulingDirectives |
true |
베타 | 1.23 | |
JobPodFailurePolicy |
false |
알파 | 1.25 | 1.25 |
JobPodFailurePolicy |
true |
베타 | 1.26 | |
JobReadyPods |
false |
알파 | 1.23 | 1.23 |
JobReadyPods |
true |
베타 | 1.24 | |
JobTrackingWithFinalizers |
false |
알파 | 1.22 | 1.22 |
JobTrackingWithFinalizers |
false |
베타 | 1.23 | 1.24 |
JobTrackingWithFinalizers |
true |
베타 | 1.25 | |
KMSv2 |
false |
알파 | 1.25 | |
KubeletInUserNamespace |
false |
알파 | 1.22 | |
KubeletPodResources |
false |
알파 | 1.13 | 1.14 |
KubeletPodResources |
true |
베타 | 1.15 | |
KubeletPodResourcesGetAllocatable |
false |
알파 | 1.21 | 1.22 |
KubeletPodResourcesGetAllocatable |
true |
베타 | 1.23 | |
KubeletTracing |
false |
알파 | 1.25 | |
LegacyServiceAccountTokenTracking |
false |
알파 | 1.26 | |
LocalStorageCapacityIsolationFSQuotaMonitoring |
false |
알파 | 1.15 | 1.24 |
LocalStorageCapacityIsolationFSQuotaMonitoring |
true |
베타 | 1.25 | |
LogarithmicScaleDown |
false |
알파 | 1.21 | 1.21 |
LogarithmicScaleDown |
true |
베타 | 1.22 | |
MatchLabelKeysInPodTopologySpread |
false |
알파 | 1.25 | |
MaxUnavailableStatefulSet |
false |
알파 | 1.24 | |
MemoryManager |
false |
알파 | 1.21 | 1.21 |
MemoryManager |
true |
베타 | 1.22 | |
MemoryQoS |
false |
알파 | 1.22 | |
MinDomainsInPodTopologySpread |
false |
알파 | 1.24 | 1.24 |
MinDomainsInPodTopologySpread |
false |
베타 | 1.25 | |
MixedProtocolLBService |
false |
알파 | 1.20 | 1.23 |
MixedProtocolLBService |
true |
베타 | 1.24 | |
MultiCIDRRangeAllocator |
false |
알파 | 1.25 | |
NetworkPolicyStatus |
false |
알파 | 1.24 | |
NodeInclusionPolicyInPodTopologySpread |
false |
알파 | 1.25 | |
NodeOutOfServiceVolumeDetach |
false |
알파 | 1.24 | 1.25 |
NodeOutOfServiceVolumeDetach |
true |
베타 | 1.26 | |
NodeSwap |
false |
알파 | 1.22 | |
OpenAPIEnums |
false |
알파 | 1.23 | 1.23 |
OpenAPIEnums |
true |
베타 | 1.24 | |
OpenAPIV3 |
false |
알파 | 1.23 | 1.23 |
OpenAPIV3 |
true |
베타 | 1.24 | |
PDBUnhealthyPodEvictionPolicy |
false |
알파 | 1.26 | |
PodAndContainerStatsFromCRI |
false |
알파 | 1.23 | |
PodDeletionCost |
false |
알파 | 1.21 | 1.21 |
PodDeletionCost |
true |
베타 | 1.22 | |
PodDisruptionConditions |
false |
알파 | 1.25 | 1.25 |
PodDisruptionConditions |
true |
베타 | 1.26 | |
PodHasNetworkCondition |
false |
알파 | 1.25 | |
PodSchedulingReadiness |
false |
알파 | 1.26 | |
ProbeTerminationGracePeriod |
false |
알파 | 1.21 | 1.21 |
ProbeTerminationGracePeriod |
false |
베타 | 1.22 | 1.24 |
ProbeTerminationGracePeriod |
true |
베타 | 1.25 | |
ProcMountType |
false |
알파 | 1.12 | |
ProxyTerminatingEndpoints |
false |
알파 | 1.22 | 1.25 |
ProxyTerminatingEndpoints |
true |
베타 | 1.26 | |
QOSReserved |
false |
알파 | 1.11 | |
ReadWriteOncePod |
false |
알파 | 1.22 | |
RecoverVolumeExpansionFailure |
false |
알파 | 1.23 | |
RemainingItemCount |
false |
알파 | 1.15 | 1.15 |
RemainingItemCount |
true |
베타 | 1.16 | |
RetroactiveDefaultStorageClass |
false |
알파 | 1.25 | 1.25 |
RetroactiveDefaultStorageClass |
true |
베타 | 1.26 | |
RotateKubeletServerCertificate |
false |
알파 | 1.7 | 1.11 |
RotateKubeletServerCertificate |
true |
베타 | 1.12 | |
SELinuxMountReadWriteOncePod |
false |
알파 | 1.25 | |
SeccompDefault |
false |
알파 | 1.22 | 1.24 |
SeccompDefault |
true |
베타 | 1.25 | |
ServerSideFieldValidation |
false |
알파 | 1.23 | 1.24 |
ServerSideFieldValidation |
true |
베타 | 1.25 | |
SizeMemoryBackedVolumes |
false |
알파 | 1.20 | 1.21 |
SizeMemoryBackedVolumes |
true |
베타 | 1.22 | |
StatefulSetAutoDeletePVC |
false |
알파 | 1.22 | |
StatefulSetStartOrdinal |
false |
알파 | 1.26 | |
StorageVersionAPI |
false |
알파 | 1.20 | |
StorageVersionHash |
false |
알파 | 1.14 | 1.14 |
StorageVersionHash |
true |
베타 | 1.15 | |
TopologyAwareHints |
false |
알파 | 1.21 | 1.22 |
TopologyAwareHints |
false |
베타 | 1.23 | 1.23 |
TopologyAwareHints |
true |
베타 | 1.24 | |
TopologyManager |
false |
알파 | 1.16 | 1.17 |
TopologyManager |
true |
베타 | 1.18 | |
TopologyManagerPolicyAlphaOptions |
false |
알파 | 1.26 | |
TopologyManagerPolicyBetaOptions |
false |
베타 | 1.26 | |
TopologyManagerPolicyOptions |
false |
알파 | 1.26 | |
UserNamespacesStatelessPodsSupport |
false |
알파 | 1.25 | |
ValidatingAdmissionPolicy |
false |
알파 | 1.26 | |
VolumeCapacityPriority |
false |
알파 | 1.21 | - |
WinDSR |
false |
알파 | 1.14 | |
WinOverlay |
false |
알파 | 1.14 | 1.19 |
WinOverlay |
true |
베타 | 1.20 | |
WindowsHostNetwork |
false |
알파 | 1.26 |
승급 또는 사용 중단된 기능을 위한 기능 게이트
기능 | 디폴트 | 단계 | 도입 | 종료 |
---|---|---|---|---|
AdvancedAuditing |
false |
알파 | 1.7 | 1.7 |
AdvancedAuditing |
true |
베타 | 1.8 | 1.11 |
AdvancedAuditing |
true |
GA | 1.12 | - |
CPUManager |
false |
알파 | 1.8 | 1.9 |
CPUManager |
true |
베타 | 1.10 | 1.25 |
CPUManager |
true |
GA | 1.26 | - |
CSIInlineVolume |
false |
알파 | 1.15 | 1.15 |
CSIInlineVolume |
true |
베타 | 1.16 | 1.24 |
CSIInlineVolume |
true |
GA | 1.25 | - |
CSIMigration |
false |
알파 | 1.14 | 1.16 |
CSIMigration |
true |
베타 | 1.17 | 1.24 |
CSIMigration |
true |
GA | 1.25 | - |
CSIMigrationAWS |
false |
알파 | 1.14 | 1.16 |
CSIMigrationAWS |
false |
베타 | 1.17 | 1.22 |
CSIMigrationAWS |
true |
베타 | 1.23 | 1.24 |
CSIMigrationAWS |
true |
GA | 1.25 | - |
CSIMigrationAzureDisk |
false |
알파 | 1.15 | 1.18 |
CSIMigrationAzureDisk |
false |
베타 | 1.19 | 1.22 |
CSIMigrationAzureDisk |
true |
베타 | 1.23 | 1.23 |
CSIMigrationAzureDisk |
true |
GA | 1.24 | |
CSIMigrationAzureFile |
false |
알파 | 1.15 | 1.20 |
CSIMigrationAzureFile |
false |
베타 | 1.21 | 1.23 |
CSIMigrationAzureFile |
true |
베타 | 1.24 | 1.25 |
CSIMigrationAzureFile |
true |
GA | 1.26 | |
CSIMigrationGCE |
false |
알파 | 1.14 | 1.16 |
CSIMigrationGCE |
false |
베타 | 1.17 | 1.22 |
CSIMigrationGCE |
true |
베타 | 1.23 | 1.24 |
CSIMigrationGCE |
true |
GA | 1.25 | - |
CSIMigrationvSphere |
false |
알파 | 1.18 | 1.18 |
CSIMigrationvSphere |
false |
베타 | 1.19 | 1.24 |
CSIMigrationvSphere |
true |
베타 | 1.25 | 1.25 |
CSIMigrationvSphere |
true |
GA | 1.26 | - |
CSIMigrationOpenStack |
false |
알파 | 1.14 | 1.17 |
CSIMigrationOpenStack |
true |
베타 | 1.18 | 1.23 |
CSIMigrationOpenStack |
true |
GA | 1.24 | |
CSIStorageCapacity |
false |
알파 | 1.19 | 1.20 |
CSIStorageCapacity |
true |
베타 | 1.21 | 1.23 |
CSIStorageCapacity |
true |
GA | 1.24 | - |
ControllerManagerLeaderMigration |
false |
알파 | 1.21 | 1.21 |
ControllerManagerLeaderMigration |
true |
베타 | 1.22 | 1.23 |
ControllerManagerLeaderMigration |
true |
GA | 1.24 | - |
CronJobTimeZone |
false |
알파 | 1.24 | 1.24 |
CronJobTimeZone |
true |
베타 | 1.25 | |
DaemonSetUpdateSurge |
false |
알파 | 1.21 | 1.21 |
DaemonSetUpdateSurge |
true |
베타 | 1.22 | 1.24 |
DaemonSetUpdateSurge |
true |
GA | 1.25 | - |
DefaultPodTopologySpread |
false |
알파 | 1.19 | 1.19 |
DefaultPodTopologySpread |
true |
베타 | 1.20 | 1.23 |
DefaultPodTopologySpread |
true |
GA | 1.24 | - |
DelegateFSGroupToCSIDriver |
false |
알파 | 1.22 | 1.22 |
DelegateFSGroupToCSIDriver |
true |
베타 | 1.23 | 1.25 |
DelegateFSGroupToCSIDriver |
true |
GA | 1.26 | - |
DisableAcceleratorUsageMetrics |
false |
알파 | 1.19 | 1.19 |
DisableAcceleratorUsageMetrics |
true |
베타 | 1.20 | 1.24 |
DisableAcceleratorUsageMetrics |
true |
GA | 1.25 | - |
DevicePlugins |
false |
알파 | 1.8 | 1.9 |
DevicePlugins |
true |
베타 | 1.10 | 1.25 |
DevicePlugins |
true |
GA | 1.26 | - |
DryRun |
false |
알파 | 1.12 | 1.12 |
DryRun |
true |
베타 | 1.13 | 1.18 |
DryRun |
true |
GA | 1.19 | - |
DynamicKubeletConfig |
false |
알파 | 1.4 | 1.10 |
DynamicKubeletConfig |
true |
베타 | 1.11 | 1.21 |
DynamicKubeletConfig |
false |
Deprecated | 1.22 | - |
EfficientWatchResumption |
false |
알파 | 1.20 | 1.20 |
EfficientWatchResumption |
true |
베타 | 1.21 | 1.23 |
EfficientWatchResumption |
true |
GA | 1.24 | - |
EphemeralContainers |
false |
알파 | 1.16 | 1.22 |
EphemeralContainers |
true |
베타 | 1.23 | 1.24 |
EphemeralContainers |
true |
GA | 1.25 | - |
EventedPLEG |
false |
알파 | 1.26 | - |
ExecProbeTimeout |
true |
GA | 1.20 | - |
ExpandCSIVolumes |
false |
알파 | 1.14 | 1.15 |
ExpandCSIVolumes |
true |
베타 | 1.16 | 1.23 |
ExpandCSIVolumes |
true |
GA | 1.24 | - |
ExpandInUsePersistentVolumes |
false |
알파 | 1.11 | 1.14 |
ExpandInUsePersistentVolumes |
true |
베타 | 1.15 | 1.23 |
ExpandInUsePersistentVolumes |
true |
GA | 1.24 | - |
ExpandPersistentVolumes |
false |
알파 | 1.8 | 1.10 |
ExpandPersistentVolumes |
true |
베타 | 1.11 | 1.23 |
ExpandPersistentVolumes |
true |
GA | 1.24 | - |
IdentifyPodOS |
false |
알파 | 1.23 | 1.23 |
IdentifyPodOS |
true |
베타 | 1.24 | 1.24 |
IdentifyPodOS |
true |
GA | 1.25 | - |
IndexedJob |
false |
알파 | 1.21 | 1.21 |
IndexedJob |
true |
베타 | 1.22 | 1.23 |
IndexedJob |
true |
GA | 1.24 | - |
JobTrackingWithFinalizers |
false |
알파 | 1.22 | 1.22 |
JobTrackingWithFinalizers |
false |
베타 | 1.23 | 1.24 |
JobTrackingWithFinalizers |
true |
베타 | 1.25 | 1.25 |
JobTrackingWithFinalizers |
true |
GA | 1.26 | - |
KubeletCredentialProviders |
false |
알파 | 1.20 | 1.23 |
KubeletCredentialProviders |
true |
베타 | 1.24 | 1.25 |
KubeletCredentialProviders |
true |
GA | 1.26 | - |
LegacyServiceAccountTokenNoAutoGeneration |
true |
베타 | 1.24 | 1.25 |
LegacyServiceAccountTokenNoAutoGeneration |
true |
GA | 1.26 | - |
LocalStorageCapacityIsolation |
false |
알파 | 1.7 | 1.9 |
LocalStorageCapacityIsolation |
true |
베타 | 1.10 | 1.24 |
LocalStorageCapacityIsolation |
true |
GA | 1.25 | - |
NetworkPolicyEndPort |
false |
알파 | 1.21 | 1.21 |
NetworkPolicyEndPort |
true |
베타 | 1.22 | 1.24 |
NetworkPolicyEndPort |
true |
GA | 1.25 | - |
NonPreemptingPriority |
false |
알파 | 1.15 | 1.18 |
NonPreemptingPriority |
true |
베타 | 1.19 | 1.23 |
NonPreemptingPriority |
true |
GA | 1.24 | - |
PodAffinityNamespaceSelector |
false |
알파 | 1.21 | 1.21 |
PodAffinityNamespaceSelector |
true |
베타 | 1.22 | 1.23 |
PodAffinityNamespaceSelector |
true |
GA | 1.24 | - |
PodSecurity |
false |
알파 | 1.22 | 1.22 |
PodSecurity |
true |
베타 | 1.23 | 1.24 |
PodSecurity |
true |
GA | 1.25 | |
PreferNominatedNode |
false |
알파 | 1.21 | 1.21 |
PreferNominatedNode |
true |
베타 | 1.22 | 1.23 |
PreferNominatedNode |
true |
GA | 1.24 | - |
RemoveSelfLink |
false |
알파 | 1.16 | 1.19 |
RemoveSelfLink |
true |
베타 | 1.20 | 1.23 |
RemoveSelfLink |
true |
GA | 1.24 | - |
ServerSideApply |
false |
알파 | 1.14 | 1.15 |
ServerSideApply |
true |
베타 | 1.16 | 1.21 |
ServerSideApply |
true |
GA | 1.22 | - |
ServiceInternalTrafficPolicy |
false |
알파 | 1.21 | 1.21 |
ServiceInternalTrafficPolicy |
true |
베타 | 1.22 | 1.25 |
ServiceInternalTrafficPolicy |
true |
GA | 1.26 | - |
ServiceIPStaticSubrange |
false |
알파 | 1.24 | 1.24 |
ServiceIPStaticSubrange |
true |
베타 | 1.25 | 1.25 |
ServiceIPStaticSubrange |
true |
GA | 1.26 | - |
ServiceLBNodePortControl |
false |
알파 | 1.20 | 1.21 |
ServiceLBNodePortControl |
true |
베타 | 1.22 | 1.23 |
ServiceLBNodePortControl |
true |
GA | 1.24 | - |
ServiceLoadBalancerClass |
false |
알파 | 1.21 | 1.21 |
ServiceLoadBalancerClass |
true |
베타 | 1.22 | 1.23 |
ServiceLoadBalancerClass |
true |
GA | 1.24 | - |
StatefulSetMinReadySeconds |
false |
알파 | 1.22 | 1.22 |
StatefulSetMinReadySeconds |
true |
베타 | 1.23 | 1.24 |
StatefulSetMinReadySeconds |
true |
GA | 1.25 | - |
SuspendJob |
false |
알파 | 1.21 | 1.21 |
SuspendJob |
true |
베타 | 1.22 | 1.23 |
SuspendJob |
true |
GA | 1.24 | - |
WatchBookmark |
false |
알파 | 1.15 | 1.15 |
WatchBookmark |
true |
베타 | 1.16 | 1.16 |
WatchBookmark |
true |
GA | 1.17 | - |
WindowsHostProcessContainers |
false |
알파 | 1.22 | 1.22 |
WindowsHostProcessContainers |
true |
베타 | 1.23 | 1.25 |
WindowsHostProcessContainers |
true |
GA | 1.26 | - |
기능 사용
기능 단계
기능은 알파, 베타 또는 GA 단계일 수 있다. 알파 기능은 다음을 의미한다.
- 기본적으로 비활성화되어 있다.
- 버그가 있을 수 있다. 이 기능을 사용하면 버그에 노출될 수 있다.
- 기능에 대한 지원은 사전 통지없이 언제든지 중단될 수 있다.
- API는 이후 소프트웨어 릴리스에서 예고없이 호환되지 않는 방식으로 변경될 수 있다.
- 버그의 위험이 증가하고 장기 지원이 부족하여, 단기 테스트 클러스터에서만 사용하는 것이 좋다.
베타 기능은 다음을 의미한다.
- 기본적으로 활성화되어 있다.
- 이 기능은 잘 테스트되었다. 이 기능을 활성화하면 안전한 것으로 간주된다.
- 세부 내용은 변경될 수 있지만, 전체 기능에 대한 지원은 중단되지 않는다.
- 오브젝트의 스키마 및/또는 시맨틱은 후속 베타 또는 안정 릴리스에서 호환되지 않는 방식으로 변경될 수 있다. 이러한 상황이 발생하면, 다음 버전으로 마이그레이션하기 위한 지침을 제공한다. API 오브젝트를 삭제, 편집 및 재작성해야 할 수도 있다. 편집 과정에서 약간의 생각이 필요할 수 있다. 해당 기능에 의존하는 애플리케이션의 경우 다운타임이 필요할 수 있다.
- 후속 릴리스에서 호환되지 않는 변경이 발생할 수 있으므로 업무상 중요하지 않은(non-business-critical) 용도로만 권장한다. 독립적으로 업그레이드할 수 있는 여러 클러스터가 있는 경우, 이 제한을 완화할 수 있다.
참고:
베타 기능을 사용해 보고 의견을 보내주길 바란다! 베타 기간이 종료된 후에는, 더 많은 변경을 하는 것이 실용적이지 않을 수 있다.GA(General Availability) 기능은 안정 기능이라고도 한다. 이 의미는 다음과 같다.
- 이 기능은 항상 활성화되어 있다. 비활성화할 수 없다.
- 해당 기능 게이트는 더 이상 필요하지 않다.
- 여러 후속 버전의 릴리스된 소프트웨어에 안정적인 기능의 버전이 포함된다.
기능 게이트 목록
각 기능 게이트는 특정 기능을 활성화/비활성화하도록 설계되었다.
APIListChunking
: API 클라이언트가 API 서버에서 (LIST
또는GET
) 리소스를 청크(chunks)로 검색할 수 있도록 한다.APIPriorityAndFairness
: 각 서버의 우선 순위와 공정성을 통해 동시 요청을 관리할 수 있다. (RequestManagement
에서 이름이 변경됨)APIResponseCompression
:LIST
또는GET
요청에 대한 API 응답을 압축한다.APIServerIdentity
: 클러스터의 각 API 서버에 ID를 할당한다.APIServerTracing
: API 서버에서 분산 추적(tracing)에 대한 지원을 추가한다. 자세한 내용은 쿠버네티스 시스템 컴포넌트에 대한 추적페이지를 살펴본다.APISelfSubjectAttributesReview
: 사용자로 하여금 요청을 하는 주체(subject)의 인증 정보를 볼 수 있도록 하는SelfSubjectReview
API를 활성화한다. 더 자세한 정보는 클라이언트로서의 인증 정보 API 접근을 확인한다.AdvancedAuditing
: 고급 감사 기능을 활성화한다.AllowInsecureBackendProxy
: 사용자가 파드 로그 요청에서 kubelet의 TLS 확인을 건너뛸 수 있도록 한다.AnyVolumeDataSource
: PVC의DataSource
로 모든 사용자 정의 리소스 사용을 활성화한다.AppArmor
: 리눅스 노드에서 실행되는 파드에 대한 AppArmor 필수 접근 제어의 사용을 활성화한다. 자세한 내용은 AppArmor 튜토리얼을 참고한다.ContainerCheckpoint
: kubelet의체크포인트
API를 활성화한다. 자세한 내용은 kubelet 체크포인트 API를 확인한다.ControllerManagerLeaderMigration
: HA 클러스터에서 클러스터 오퍼레이터가 kube-controller-manager의 컨트롤러들을 외부 controller-manager(예를 들면, cloud-controller-manager)로 다운타임 없이 라이브 마이그레이션할 수 있도록 허용하도록 kube-controller-manager와 cloud-controller-manager의 리더 마이그레이션(Leader Migration)을 활성화한다.CPUManager
: 컨테이너 수준의 CPU 어피니티 지원을 활성화한다. CPU 관리 정책을 참고한다.CPUManagerPolicyAlphaOptions
: CPUManager 정책 중 실험적이며 알파 품질인 옵션의 미세 조정을 허용한다. 이 기능 게이트는 품질 수준이 알파인 CPUManager 옵션의 그룹을 보호한다. 이 기능 게이트는 베타 또는 안정(stable) 상태로 승급되지 않을 것이다.CPUManagerPolicyBetaOptions
: CPUManager 정책 중 실험적이며 베타 품질인 옵션의 미세 조정을 허용한다. 이 기능 게이트는 품질 수준이 베타인 CPUManager 옵션의 그룹을 보호한다. 이 기능 게이트는 안정(stable) 상태로 승급되지 않을 것이다.CPUManagerPolicyOptions
: CPUManager 정책의 미세 조정을 허용한다.CrossNamespaceVolumeDataSource
: 네임스페이스간 볼륨 데이터 소스 사용 기능을 활성화하며, 퍼시스턴트볼륨클레임의dataSourceRef
필드에 소스 네임스페이스를 기재할 수 있게 된다.CSIInlineVolume
: 파드에 대한 CSI 인라인 볼륨 지원을 활성화한다.CSIMigration
: shim 및 변환 로직을 통해 볼륨 작업을 인-트리 플러그인에서 사전 설치된 해당 CSI 플러그인으로 라우팅할 수 있다.CSIMigrationAWS
: shim 및 변환 로직을 통해 볼륨 작업을 AWS-EBS 인-트리 플러그인에서 EBS CSI 플러그인으로 라우팅할 수 있다. 이 기능이 비활성화되어 있거나 EBS CSI 플러그인이 설치 및 구성되어 있지 않은 노드에서의 마운트 동작에 대해 인-트리 EBS 플러그인으로의 폴백(falling back)을 지원한다. 프로비전 동작에 대해서는 폴백을 지원하지 않는데, 프로비전 동작은 해당 CSI 플러그인이 설치 및 구성되어 있어야 가능하기 때문이다.CSIMigrationAzureDisk
: shim 및 변환 로직을 통해 볼륨 작업을 Azure-Disk 인-트리 플러그인에서 AzureDisk CSI 플러그인으로 라우팅할 수 있다. 이 기능이 비활성화되어 있거나 AzureDisk CSI 플러그인이 설치 및 구성되어 있지 않은 노드에서의 마운트 동작에 대해 인-트리 AzureDisk 플러그인으로의 폴백(falling back)을 지원한다. 프로비전 동작에 대해서는 폴백을 지원하지 않는데, 프로비전 동작은 해당 CSI 플러그인이 설치 및 구성되어 있어야 가능하기 때문이다. 이 기능을 사용하려면 CSIMigration 기능 플래그가 활성화되어 있어야 한다.CSIMigrationAzureFile
: shim 및 변환 로직을 통해 볼륨 작업을 Azure-File 인-트리 플러그인에서 AzureFile CSI 플러그인으로 라우팅할 수 있다. 이 기능이 비활성화되어 있거나 AzureFile CSI 플러그인이 설치 및 구성되어 있지 않은 노드에서의 마운트 동작에 대해 인-트리 AzureFile 플러그인으로의 폴백(falling back)을 지원한다. 프로비전 동작에 대해서는 폴백을 지원하지 않는데, 프로비전 동작은 해당 CSI 플러그인이 설치 및 구성되어 있어야 가능하기 때문이다. 이 기능을 사용하려면 CSIMigration 기능 플래그가 활성화되어 있어야 한다.CSIMigrationGCE
: shim 및 변환 로직을 통해 볼륨 작업을 GCE-PD 인-트리 플러그인에서 PD CSI 플러그인으로 라우팅할 수 있다. 이 기능이 비활성화되어 있거나 PD CSI 플러그인이 설치 및 구성되어 있지 않은 노드에서의 마운트 동작에 대해 인-트리 GCE 플러그인으로의 폴백(falling back)을 지원한다. 프로비전 동작에 대해서는 폴백을 지원하지 않는데, 프로비전 동작은 해당 CSI 플러그인이 설치 및 구성되어 있어야 가능하기 때문이다. 이 기능을 사용하려면 CSIMigration 기능 플래그가 활성화되어 있어야 한다.CSIMigrationOpenStack
: shim 및 변환 로직을 통해 볼륨 작업을 Cinder 인-트리 플러그인에서 Cinder CSI 플러그인으로 라우팅할 수 있다. 이 기능이 비활성화되어 있거나 Cinder CSI 플러그인이 설치 및 구성되어 있지 않은 노드에서의 마운트 동작에 대해 인-트리 Cinder 플러그인으로의 폴백(falling back)을 지원한다. 프로비전 동작에 대해서는 폴백을 지원하지 않는데, 프로비전 동작은 해당 CSI 플러그인이 설치 및 구성되어 있어야 가능하기 때문이다. 이 기능을 사용하려면 CSIMigration 기능 플래그가 활성화되어 있어야 한다.csiMigrationRBD
: RBD 트리 내(in-tree) 플러그인으로 가는 볼륨 작업을 Ceph RBD CSI 플러그인으로 라우트하는 심(shim)과 변환 로직을 활성화한다. 클러스터에 CSIMigration 및 csiMigrationRBD 기능 플래그가 활성화되어 있어야 하고, Ceph CSI 플러그인이 설치 및 설정되어 있어야 한다. 이 플래그는 트리 내(in-tree) RBD 플러그인 등록을 금지시키는InTreePluginRBDUnregister
기능 플래그에 의해 사용 중단되었다.CSIMigrationvSphere
: vSphere 인-트리 플러그인에서 vSphere CSI 플러그인으로 볼륨 작업을 라우팅하는 shim 및 변환 로직을 사용한다. 이 기능이 비활성화되어 있거나 vSphere CSI 플러그인이 설치 및 구성되어 있지 않은 노드에서의 마운트 동작에 대해 인-트리 vSphere 플러그인으로의 폴백(falling back)을 지원한다. 프로비전 동작에 대해서는 폴백을 지원하지 않는데, 프로비전 동작은 해당 CSI 플러그인이 설치 및 구성되어 있어야 가능하기 때문이다. 이 기능을 사용하려면 CSIMigration 기능 플래그가 활성화되어 있어야 한다.CSIMigrationPortworx
: Portworx 트리 내(in-tree) 플러그인으로 가는 볼륨 작업을 Portworx CSI 플러그인으로 라우트하는 심(shim)과 변환 로직을 활성화한다. Portworx CSI 드라이버가 설치 및 설정되어 있어야 한다.CSINodeExpandSecret
: CSI 드라이버가NodeExpandVolume
작업 수행 중에 사용할 수 있도록 시크릿 인증 데이터를 드라이버에 전송 가능하게 한다.CSIStorageCapacity
: CSI 드라이버가 스토리지 용량 정보를 게시하고 쿠버네티스 스케줄러가 파드를 스케줄할 때 해당 정보를 사용하도록 한다. 스토리지 용량을 참고한다. 자세한 내용은csi
볼륨 유형 문서를 확인한다.CSIVolumeHealth
: 노드에서의 CSI 볼륨 상태 모니터링 기능을 활성화한다.ContextualLogging
: 이 기능을 활성화하면, 컨텍스츄얼 로깅을 지원하는 쿠버네티스 구성 요소가 로그 출력에 추가 상세를 추가한다.ControllerManagerLeaderMigration
:kube-controller-manager
및cloud-controller-manager
에 대한 리더 마이그레이션을 지원한다.CronJobTimeZone
: 크론잡의 선택적timeZone
필드 사용을 허용한다.CustomCPUCFSQuotaPeriod
: kubelet config에서cpuCFSQuotaPeriod
를 노드가 변경할 수 있도록 한다.CustomResourceValidationExpressions
:x-kubernetes-validations
확장 기능으로 작성된 검증 규칙을 기반으로 커스텀 리소스를 검증하는 표현 언어 검증(expression language validation)을 CRD에 활성화한다.DaemonSetUpdateSurge
: 노드당 업데이트 중 가용성을 유지하도록 데몬셋 워크로드를 사용하도록 설정한다. 데몬셋에서 롤링 업데이트 수행을 참고한다.DefaultPodTopologySpread
:PodTopologySpread
스케줄링 플러그인을 사용하여 기본 분배를 수행한다.DelegateFSGroupToCSIDriver
: CSI 드라이버가 지원할 경우, NodeStageVolume 및 NodePublishVolume CSI 호출을 통해fsGroup
를 전달하여 파드의securityContext
에서fsGroup
를 드라이브에 적용하는 역할을 위임한다.DevicePlugins
: 노드에서 장치 플러그인 기반 리소스 프로비저닝을 활성화한다.DisableAcceleratorUsageMetrics
: kubelet이 수집한 액셀러레이터 지표 비활성화.DisableCloudProviders
:kube-apiserver
,kube-controller-manager
,--cloud-provider
컴포넌트 플래그와 관련된kubelet
의 모든 기능을 비활성화한다.DisableKubeletCloudCredentialProviders
: 이미지 풀 크리덴셜을 위해 클라우드 프로바이더 컨테이너 레지스트리에 인증을 수행하는 kubelet 내부(in-tree) 기능을 비활성화한다.DownwardAPIHugePages
: 다운워드 API에서 hugepages 사용을 활성화한다.DryRun
: 서버 측의 dry run 요청을 요청을 활성화하여 커밋하지 않고 유효성 검사, 병합 및 변화를 테스트할 수 있다.DynamicKubeletConfig
: kubelet의 동적 구성을 활성화한다. 이 기능은 지원하는 버전 차이(supported skew policy) 바깥에서는 더 이상 지원되지 않는다. 이 기능 게이트는 1.24에 kubelet에서 제거되었다. kubelet 재구성하기를 참고한다.EndpointSliceTerminatingCondition
: 엔드포인트슬라이스terminating
및serving
조건 필드를 활성화한다.EfficientWatchResumption
: 스토리지에서 생성된 북마크(진행 알림) 이벤트를 사용자에게 전달할 수 있다. 이것은 감시 작업에만 적용된다.EphemeralContainers
: 파드를 실행하기 위한 임시 컨테이너를 추가할 수 있다.EventedPLEG
: kubelet이 CRI에 대한 확장(extension)을 통해 컨테이너 런타임으로부터 컨테이너 라이프사이클 이벤트를 받을 수 있는 기능을 활성화한다(PLEG는 “Pod lifecycle event generator”의 약자). 이 기능이 효과적이려면, 클러스터에서 실행되는 각 컨테이너 런타임의 컨테이너 라이프사이클 이벤트 기능도 활성화해야 한다. 컨테이너 런타임이 컨테이너 라이프사이클 이벤트 지원 여부를 옥시하지 않으면, kubelet은 이 기능 게이트가 활성화되어 있더라도 자동으로 기존(legacy) 일반 PLEG 메커니즘으로 전환한다.ExecProbeTimeout
: kubelet이 exec 프로브 시간 초과를 준수하는지 확인한다. 이 기능 게이트는 기존 워크로드가 쿠버네티스가 exec 프로브 제한 시간을 무시한 현재 수정된 결함에 의존하는 경우 존재한다. 준비성 프로브를 참조한다.ExpandCSIVolumes
: CSI 볼륨 확장을 활성화한다.ExpandedDNSConfig
: 더 많은 DNS 검색 경로와 더 긴 DNS 검색 경로 목록을 허용하려면 kubelet과 kube-apiserver를 사용하도록 설정한다. 이 기능을 사용하려면 컨테이너 런타임이 지원해야 한다(Containerd: v1.5.6 이상, CRI-O: v1.22 이상). 확장된 DNS 구성을 참고한다.ExpandInUsePersistentVolumes
: 사용 중인 PVC를 확장할 수 있다. 사용 중인 퍼시스턴트볼륨클레임 크기 조정을 참고한다.ExpandPersistentVolumes
: 퍼시스턴트 볼륨 확장을 활성화한다. 퍼시스턴트 볼륨 클레임 확장을 참고한다.ExperimentalHostUserNamespaceDefaulting
: 사용자 네임스페이스를 호스트로 기본 활성화한다. 이것은 다른 호스트 네임스페이스, 호스트 마운트, 권한이 있는 컨테이너 또는 특정 비-네임스페이스(non-namespaced) 기능(예:MKNODE
,SYS_MODULE
등)을 사용하는 컨테이너를 위한 것이다. 도커 데몬에서 사용자 네임스페이스 재 매핑이 활성화된 경우에만 활성화해야 한다.GracefulNodeShutdown
: kubelet에서 정상 종료를 지원한다. 시스템 종료 중에 kubelet은 종료 이벤트를 감지하고 노드에서 실행 중인 파드를 정상적으로 종료하려고 시도한다. 자세한 내용은 Graceful Node Shutdown을 참조한다.GracefulNodeShutdownBasedOnPodPriority
: 그레이스풀(graceful) 노드 셧다운을 할 때 kubelet이 파드 우선순위를 체크할 수 있도록 활성화한다.GRPCContainerProbe
: 활성 프로브(Liveness Probe), 준비성 프로브(Readiness Probe), 스타트업 프로브(Startup Probe)에 대해 gRPC 프로브를 활성화한다. 활성/준비성/스타트업 프로브 구성하기를 참조한다.HonorPVReclaimPolicy
: 퍼시스턴트 볼륨 회수 정책이Delete
인 경우 PV-PVC 삭제 순서와 상관없이 정책을 준수한다. 더 자세한 정보는 퍼시스턴트볼륨 삭제 보호 파이널라이저(finalizer) 문서를 참고한다.HPAContainerMetrics
:HorizontalPodAutoscaler
를 활성화하여 대상 파드의 개별 컨테이너 메트릭을 기반으로 확장한다.HPAScaleToZero
: 사용자 정의 또는 외부 메트릭을 사용할 때HorizontalPodAutoscaler
리소스에 대해minReplicas
를 0으로 설정한다.IPTablesOwnershipCleanup
: 이를 활성화하면 kubelet이 더 이상 레거시 IPTables 규칙을 만들지 않는다.IdentifyPodOS
: 파드 OS 필드를 지정할 수 있게 한다. 이를 통해 API 서버 관리 시 파드의 OS를 정석적인 방법으로 알 수 있다. 쿠버네티스 1.30에서,pod.spec.os.name
에 사용할 수 있는 값은windows
와linux
이다.IndexedJob
: 잡 컨트롤러가 파드 완료(completion)를 완료 인덱스에 따라 관리할 수 있도록 허용한다.InTreePluginAWSUnregister
: kubelet 및 볼륨 컨트롤러에 aws-ebs 인-트리 플러그인의 등록을 중지한다.InTreePluginAzureDiskUnregister
: kubelet 및 볼륨 컨트롤러에 azuredisk 인-트리 플러그인의 등록을 중지한다.InTreePluginAzureFileUnregister
: kubelet 및 볼륨 컨트롤러에 azurefile 인-트리 플러그인의 등록을 중지한다.InTreePluginGCEUnregister
: kubelet 및 볼륨 컨트롤러에 gce-pd 인-트리 플러그인의 등록을 중지한다.InTreePluginOpenStackUnregister
: kubelet 및 볼륨 컨트롤러에 오픈스택 cinder 인-트리 플러그인의 등록을 중지한다.InTreePluginPortworxUnregister
: kubelet 및 볼륨 컨트롤러에 Portworx 인-트리 플러그인의 등록을 중지한다.InTreePluginRBDUnregister
: kubelet 및 볼륨 컨트롤러에 RBD 인-트리 플러그인의 등록을 중지한다.InTreePluginvSphereUnregister
: kubelet 및 볼륨 컨트롤러에 vSphere 인-트리 플러그인의 등록을 중지한다.JobMutableNodeSchedulingDirectives
: 잡의 파드 템플릿에 있는 노드 스케줄링 지시를 업데이트할 수 있게 한다.JobPodFailurePolicy
: 사용자가 컨테이너의 종료 코드나 파드 상태에 따라 파드의 장애를 처리할 수 있도록 한다.JobReadyPods
: 파드 컨디션이Ready
인 파드의 수를 추적하는 기능을 활성화한다.Ready
인 파드의 수는 잡 상태의 status 필드에 기록된다.JobTrackingWithFinalizers
: 클러스터에 무제한으로 남아 있는 파드에 의존하지 않고 잡의 완료를 추적할 수 있다. 잡 컨트롤러는 완료된 파드를 추적하기 위해 완료된 파드의 잡 상태 필드를 사용한다.KMSv2
: 저장 데이터 암호화(encryption at rest)를 위한 KMS v2 API를 활성화한다. 더 자세한 정보는 KMS 공급자를 사용하여 데이터 암호화하기를 참고한다.KubeletCredentialProviders
: 이미지 풀 자격 증명에 대해 kubelet exec 자격 증명 공급자를 활성화한다.KubeletInUserNamespace
: user namespace에서 kubelet 실행을 활성화한다. 루트가 아닌 유저로 쿠버네티스 노드 컴포넌트 실행을 참고한다.KubeletPodResources
: kubelet의 파드 리소스 gPRC 엔드포인트를 활성화한다. 자세한 내용은 장치 모니터링 지원을 참고한다.KubeletPodResourcesGetAllocatable
: kubelet의 파드 리소스GetAllocatableResources
기능을 활성화한다. 이 API는 클라이언트가 노드의 여유 컴퓨팅 자원을 잘 파악할 수 있도록, 할당 가능 자원에 대한 정보를 자원 할당 보고한다.KubeletTracing
: kubelet에 분산 추적에 대한 지원을 추가한다. 활성화된 경우, kubelet CRI 인터페이스와 인증된 http 서버들은 OpenTelemetry 추적 범위를 형성하는 데 도움을 준다. 자세한 내용은 쿠버네티스 시스템 컴포넌트에 대한 추적 페이지를 확인한다.LegacyServiceAccountTokenNoAutoGeneration
: 시크릿 기반 서비스 어카운트 토큰의 자동 생성을 중단한다.LegacyServiceAccountTokenTracking
: 시크릿 기반 서비스 어카운트 토큰의 사용을 추적한다.LocalStorageCapacityIsolation
: 로컬 임시 스토리지와 emptyDir 볼륨의sizeLimit
속성을 사용할 수 있게 한다.LocalStorageCapacityIsolationFSQuotaMonitoring
: 로컬 임시 스토리지에LocalStorageCapacityIsolation
이 활성화되고 emptyDir 볼륨의 백업 파일시스템이 프로젝트 쿼터를 지원하고 활성화된 경우, 파일시스템 사용보다는 프로젝트 쿼터를 사용하여 emptyDir 볼륨 스토리지 사용을 모니터링하여 성능과 정확성을 향상시킨다.LogarithmicScaleDown
: 컨트롤러 스케일 다운 시에 파드 타임스탬프를 로그 스케일로 버켓화하여 축출할 파드를 반-랜덤하게 선택하는 기법을 활성화한다.MatchLabelKeysInPodTopologySpread
: 파드 토폴로지 분배 제약 조건의matchLabelKeys
필드를 활성화한다.MaxUnavailableStatefulSet
: 스테이트풀셋의 롤링 업데이트 전략에 대해maxUnavailable
필드를 설정할 수 있도록 한다. 이 필드는 업데이트 동안 사용 불가능(unavailable) 상태의 파드를 몇 개까지 허용할지를 정한다.MemoryManager
: NUMA 토폴로지를 기반으로 컨테이너에 대한 메모리 어피니티를 설정할 수 있다.MemoryQoS
: cgroup v2 메모리 컨트롤러를 사용하여 파드/컨테이너에서 메모리 보호 및 사용 제한을 사용하도록 설정한다.MinDomainsInPodTopologySpread
: 파드 토폴로지 분배 제약 조건 내의minDomains
사용을 활성화한다.MixedProtocolLBService
: 동일한 로드밸런서 유형 서비스 인스턴스에서 다른 프로토콜 사용을 활성화한다.MultiCIDRRangeAllocator
: MultiCIDR 범위 할당기를 활성화한다.NetworkPolicyEndPort
: 네트워크폴리시(NetworkPolicy) 오브젝트에서 단일 포트를 지정하는 것 대신에 포트 범위를 지정할 수 있도록,endPort
필드의 사용을 활성화한다.NetworkPolicyStatus
: 네트워크폴리시 오브젝트에 대해status
서브리소스를 활성화한다.NodeInclusionPolicyInPodTopologySpread
: 파드 토폴로지 분배 비대칭도를 계산할 때 파드 토폴로지 분배 제약 조건의nodeAffinityPolicy
와nodeTaintsPolicy
를 활성화한다.NodeOutOfServiceVolumeDetach
: 노드가node.kubernetes.io/out-of-service
테인트를 사용하여 서비스 불가(out-of-service)로 표시되면, 노드에 있던 이 테인트를 허용하지 않는 파드는 강제로 삭제되며, 종료되는 파드에 대한 볼륨 해제(detach) 동작도 즉시 수행된다. 이로 인해 삭제된 파드가 다른 노드에서 빠르게 복구될 수 있다.NodeSwap
: 노드의 쿠버네티스 워크로드용 스왑 메모리를 할당하려면 kubelet을 활성화한다. 반드시KubeletConfiguration.failSwapOn
를 false로 설정한 후 사용해야 한다. 더 자세한 정보는 스왑 메모리를 참고한다.NonPreemptingPriority
: 프라이어리티클래스(PriorityClass)와 파드에preemptionPolicy
필드를 활성화한다.OpenAPIEnums
: API 서버로부터 리턴된 스펙 내 OpenAPI 스키마의 "enum" 필드 채우기를 활성화한다.OpenAPIV3
: API 서버의 OpenAPI v3 발행을 활성화한다.PDBUnhealthyPodEvictionPolicy
:PodDisruptionBudget
의unhealthyPodEvictionPolicy
필드를 활성화한다. 비정상(unhealthy) 파드가 어느 시점에 축출 대상이 될지를 이 필드에 명시한다. 더 자세한 정보는 비정상 파드 축출 정책을 참고한다.PodDeletionCost
: 레플리카셋 다운스케일 시 삭제될 파드의 우선순위를 사용자가 조절할 수 있도록, 파드 삭제 비용 기능을 활성화한다.PodAffinityNamespaceSelector
: 파드 어피니티 네임스페이스 셀렉터 기능과 CrossNamespacePodAffinity 쿼터 범위 기능을 활성화한다.PodAndContainerStatsFromCRI
: kubelet이 컨테이너와 파드에 대한 통계치들을 cAdvisor가 아닌 CRI 컨테이너 런타임으로부터 수집하도록 설정한다.PodDisruptionConditions
: 중단(disruption)으로 인해 파드가 삭제되고 있음을 나타내는 파드 컨디션을 추가하도록 지원한다.PodHasNetworkCondition
: kubelet이 파드에 파드 네트워크 준비성 컨디션을 표시하도록 지원한다.PodSchedulingReadiness
: 파드의 스케줄링 준비성을 제어할 수 있도록schedulingGates
필드를 활성화한다.PodSecurity
:PodSecurity
어드미션 플러그인을 사용하도록 설정한다.PreferNominatedNode
: 이 플래그는 클러스터에 존재하는 다른 노드를 반복해서 검사하기 전에 지정된 노드를 먼저 검사할지 여부를 스케줄러에 알려준다.ProbeTerminationGracePeriod
: 파드의 프로브-수준terminationGracePeriodSeconds
설정하기 기능을 활성화한다. 더 자세한 사항은 기능개선 제안을 참고한다.ProcMountType
: SecurityContext의procMount
필드를 설정하여 컨테이너의 proc 타입의 마운트를 제어할 수 있다.ProxyTerminatingEndpoints
:ExternalTrafficPolicy=Local
일 때 종료 엔드포인트를 처리하도록 kube-proxy를 활성화한다.QOSReserved
: QoS 수준에서 리소스 예약을 허용하여 낮은 QoS 수준의 파드가 더 높은 QoS 수준에서 요청된 리소스로 파열되는 것을 방지한다 (현재 메모리만 해당).ReadWriteOncePod
:ReadWriteOncePod
퍼시스턴트 볼륨 엑세스 모드를 사용한다.RecoverVolumeExpansionFailure
: 이전에 실패했던 볼륨 확장으로부터 복구할 수 있도록, 사용자가 PVC를 더 작은 크기로 변경할 수 있도록 한다. 볼륨 확장 시 오류 복구에서 자세한 사항을 확인한다.RemainingItemCount
: API 서버가 청크(chunking) 목록 요청에 대한 응답에서 남은 항목 수를 표시하도록 허용한다.RemoveSelfLink
: 모든 오브젝트와 콜렉션에 대해.metadata.selfLink
필드를 빈 칸(빈 문자열)으로 설정한다. 이 필드는 쿠버네티스 v1.16에서 사용 중단되었다. 이 기능을 활성화하면,.metadata.selfLink
필드는 쿠버네티스 API에 존재하지만, 항상 빈 칸으로 유지된다.RetroactiveDefaultStorageClass
: 연결이 해제된(unbound) PVC에 스토리지클래스를 소급적으로 할당하는 것을 허용한다.RotateKubeletServerCertificate
: kubelet에서 서버 TLS 인증서의 로테이션을 활성화한다. 자세한 사항은 kubelet 구성을 확인한다.SELinuxMountReadWriteOncePod
: kubelet으로 하여금, 볼륨에 있는 모든 파일에 대해 SELinux 레이블을 재귀적으로 적용하는 대신 올바른 SELinux 레이블을 가지고 볼륨을 마운트할 수 있도록 한다.SeccompDefault
: 모든 워크로드의 기본 구분 프로파일로RuntimeDefault
을 사용한다. seccomp 프로파일은 파드 및 컨테이너securityContext
에 지정되어 있다.SELinuxMountReadWriteOncePod
: kubelet으로 하여금, 볼륨에 있는 모든 파일에 대해 SELinux 레이블을 재귀적으로 적용하는 대신 올바른 SELinux 레이블을 가지고 볼륨을 마운트할 수 있도록 한다.ServerSideApply
: API 서버에서 SSA(Sever Side Apply) 경로를 활성화한다.ServerSideFieldValidation
: 서버-사이드(server-side) 필드 검증을 활성화한다. 이는 리소스 스키마의 검증이 클라이언트 사이드(예:kubectl create
또는kubectl apply
명령줄)가 아니라 API 서버 사이드에서 수행됨을 의미한다.ServiceInternalTrafficPolicy
: 서비스에서internalTrafficPolicy
필드를 활성화한다.ServiceLBNodePortControl
: 서비스에서allocateLoadBalancerNodePorts
필드를 활성화한다.ServiceLoadBalancerClass
: 서비스에서loadBalancerClass
필드를 활성화한다. 자세한 내용은 로드밸런서 구현체의 종류 확인하기를 참고한다.ServiceIPStaticSubrange
: ClusterIP 범위를 분할하는 서비스 ClusterIP 할당 전략을 활성화한다. ClusterIP 동적 할당을 주로 상위 범위에서 수행하여, 사용자가 고정 ClusterIP를 하위 범위에서 할당하는 상황에서도 충돌 확률을 낮출 수 있다. 더 자세한 사항은 충돌 방지를 참고한다.SizeMemoryBackedVolumes
: memory-backed 볼륨(보통emptyDir
볼륨)의 크기 상한을 지정할 수 있도록 kubelets를 활성화한다.StatefulSetMinReadySeconds
: 스테이트풀셋 컨트롤러가minReadySeconds
를 반영할 수 있다.StatefulSetStartOrdinal
: 스테이트풀셋 내에서 시작 서수(start ordinal)를 설정할 수 있도록 한다. 더 자세한 내용은 시작 서수를 확인한다.StorageVersionAPI
: 스토리지 버전 API를 활성화한다.StorageVersionHash
: API 서버가 디스커버리에서 스토리지 버전 해시를 노출하도록 허용한다.SuspendJob
: 잡 중지/재시작 기능을 활성화한다. 자세한 내용은 잡 문서를 참고한다.TopologyAwareHints
: 엔드포인트슬라이스(EndpointSlices)에서 토폴로지 힌트 기반 토폴로지-어웨어 라우팅을 활성화한다. 자세한 내용은 토폴로지 인지 힌트 를 참고한다.TopologyManager
: 쿠버네티스의 다른 컴포넌트에 대한 세분화된 하드웨어 리소스 할당을 조정하는 메커니즘을 활성화한다. 노드의 토폴로지 관리 정책 제어를 참고한다.TopologyManagerPolicyAlphaOptions
: 토폴로지 매니저 폴리시(topology manager policy)의 실험적이고 알파 품질인 옵션의 미세 조정 기능을 활성화한다. 이 기능 게이트는 품질 수준이 알파 상태인 토폴로지 매니저 옵션 군을 제어한다. 이 기능 게이트는 앞으로도 베타 또는 안정 상태로 승급되지 않는다.TopologyManagerPolicyBetaOptions
: 토폴로지 매니저 폴리시(topology manager policy)의 실험적이고 베타 품질인 옵션의 미세 조정 기능을 활성화한다. 이 기능 게이트는 품질 수준이 베타 상태인 토폴로지 매니저 옵션 군을 제어한다. 이 기능 게이트는 앞으로도 안정 상태로 승급되지 않는다.TopologyManagerPolicyOptions
: 토폴로지 매니저 폴리시(topology manager policy)의 미세 조정 기능을 활성화한다.UserNamespacesStatelessPodsSupport
: 스테이트리스(stateless) 파드에 대한 유저 네임스페이스 지원 기능을 활성화한다.ValidatingAdmissionPolicy
: 어드미션 컨트롤에 CEL(Common Expression Language) 검증을 사용할 수 있도록 하는 ValidatingAdmissionPolicy 지원 기능을 활성화한다.VolumeCapacityPriority
: 가용 PV 용량을 기반으로 여러 토폴로지에 있는 노드들의 우선순위를 정하는 기능을 활성화한다.WatchBookmark
: 감시자 북마크(watch bookmark) 이벤트 지원을 활성화한다.WinDSR
: kube-proxy가 윈도우용 DSR 로드 밸런서를 생성할 수 있다.WinOverlay
: kube-proxy가 윈도우용 오버레이 모드에서 실행될 수 있도록 한다.WindowsHostProcessContainers
: 윈도우 HostProcess 컨테이너에 대한 지원을 사용하도록 설정한다.
다음 내용
- 사용 중단 정책은 쿠버네티스에 대한 기능과 컴포넌트를 제거하는 프로젝트의 접근 방법을 설명한다.
- 쿠버네티스 1.24부터, 새로운 베타 API는 기본적으로 활성화되어 있지 않다.
베타 기능을 활성화하려면, 연관된 API 리소스도 활성화해야 한다.
예를 들어,
storage.k8s.io/v1beta1/csistoragecapacities
와 같은 특정 리소스를 활성화하려면,--runtime-config=storage.k8s.io/v1beta1/csistoragecapacities
를 설정한다. 명령줄 플래그에 대한 상세 사항은 API 버전 규칙을 참고한다.
최종 수정 December 19, 2023 at 6:00 PM PST: Move feature gates pages (ba2e2c2146)