これは、このセクションの複数ページの印刷可能なビューです。 印刷するには、ここをクリックしてください.
コマンドラインツールのリファレンス
- 1: フィーチャーゲート
- 2: kube-scheduler
- 3: Kubelet 認証/認可
1 - フィーチャーゲート
このページでは管理者がそれぞれのKubernetesコンポーネントで指定できるさまざまなフィーチャーゲートの概要について説明しています。
各機能におけるステージの説明については、機能のステージを参照してください。
概要
フィーチャーゲートはアルファ機能または実験的機能を記述するkey=valueのペアのセットです。管理者は各コンポーネントで--feature-gatesコマンドラインフラグを使用することで機能をオンまたはオフにできます。
各コンポーネントはそれぞれのコンポーネント固有のフィーチャーゲートの設定をサポートします。すべてのコンポーネントのフィーチャーゲートの全リストを表示するには-hフラグを使用します。kubeletなどのコンポーネントにフィーチャーゲートを設定するには以下のようにリストの機能ペアを--feature-gatesフラグを使用して割り当てます。
--feature-gates="...,DynamicKubeletConfig=true"
次の表は各Kubernetesコンポーネントに設定できるフィーチャーゲートの概要です。
- 「導入開始バージョン」列は機能が導入されたとき、またはリリース段階が変更されたときのKubernetesリリースバージョンとなります。
- 「最終利用可能バージョン」列は空ではない場合はフィーチャーゲートを使用できる最後のKubernetesリリースバージョンとなります。
- アルファまたはベータ状態の機能はAlphaまたはBetaのフィーチャーゲートに載っています。
- 安定している機能は、graduatedまたはdeprecatedのフィーチャーゲートに載っています。
- graduatedまたはdeprecatedのフィーチャーゲートには、非推奨および廃止された機能もリストされています。
AlphaまたはBetaのフィーチャーゲート
| 機能名 | デフォルト値 | ステージ | 導入開始バージョン | 最終利用可能バージョン |
|---|---|---|---|---|
APIListChunking |
false |
Alpha | 1.8 | 1.8 |
APIListChunking |
true |
Beta | 1.9 | |
APIPriorityAndFairness |
false |
Alpha | 1.18 | 1.19 |
APIPriorityAndFairness |
true |
Beta | 1.20 | |
APIResponseCompression |
false |
Alpha | 1.7 | 1.15 |
APIResponseCompression |
true |
Beta | 1.16 | |
APISelfSubjectReview |
false |
Alpha | 1.26 | |
APIServerIdentity |
false |
Alpha | 1.20 | 1.25 |
APIServerIdentity |
true |
Beta | 1.26 | |
APIServerTracing |
false |
Alpha | 1.22 | |
AggregatedDiscoveryEndpoint |
false |
Alpha | 1.26 | |
AnyVolumeDataSource |
false |
Alpha | 1.18 | 1.23 |
AnyVolumeDataSource |
true |
Beta | 1.24 | |
AppArmor |
true |
Beta | 1.4 | |
CheckpointContainer |
false |
Alpha | 1.25 | |
CPUManagerPolicyAlphaOptions |
false |
Alpha | 1.23 | |
CPUManagerPolicyBetaOptions |
true |
Beta | 1.23 | |
CPUManagerPolicyOptions |
false |
Alpha | 1.22 | 1.22 |
CPUManagerPolicyOptions |
true |
Beta | 1.23 | |
CSIMigrationPortworx |
false |
Alpha | 1.23 | 1.24 |
CSIMigrationPortworx |
false |
Beta | 1.25 | |
CSIMigrationRBD |
false |
Alpha | 1.23 | |
CSINodeExpandSecret |
false |
Alpha | 1.25 | |
CSIVolumeHealth |
false |
Alpha | 1.21 | |
ComponentSLIs |
false |
Alpha | 1.26 | |
ContainerCheckpoint |
false |
Alpha | 1.25 | |
ContextualLogging |
false |
Alpha | 1.24 | |
CronJobTimeZone |
false |
Alpha | 1.24 | 1.24 |
CronJobTimeZone |
true |
Beta | 1.25 | |
CrossNamespaceVolumeDataSource |
false |
Alpha | 1.26 | |
CustomCPUCFSQuotaPeriod |
false |
Alpha | 1.12 | |
CustomResourceValidationExpressions |
false |
Alpha | 1.23 | 1.24 |
CustomResourceValidationExpressions |
true |
Beta | 1.25 | |
DisableCloudProviders |
false |
Alpha | 1.22 | |
DisableKubeletCloudCredentialProviders |
false |
Alpha | 1.23 | |
DownwardAPIHugePages |
false |
Alpha | 1.20 | 1.20 |
DownwardAPIHugePages |
false |
Beta | 1.21 | 1.21 |
DownwardAPIHugePages |
true |
Beta | 1.22 | |
DynamicResourceAllocation |
false |
Alpha | 1.26 | |
EventedPLEG |
false |
Alpha | 1.26 | - |
ExpandedDNSConfig |
false |
Alpha | 1.22 | 1.25 |
ExpandedDNSConfig |
true |
Beta | 1.26 | |
ExperimentalHostUserNamespaceDefaulting |
false |
Beta | 1.5 | |
GRPCContainerProbe |
false |
Alpha | 1.23 | 1.23 |
GRPCContainerProbe |
true |
Beta | 1.24 | |
GracefulNodeShutdown |
false |
Alpha | 1.20 | 1.20 |
GracefulNodeShutdown |
true |
Beta | 1.21 | |
GracefulNodeShutdownBasedOnPodPriority |
false |
Alpha | 1.23 | 1.23 |
GracefulNodeShutdownBasedOnPodPriority |
true |
Beta | 1.24 | |
HPAContainerMetrics |
false |
Alpha | 1.20 | |
HPAScaleToZero |
false |
Alpha | 1.16 | |
HonorPVReclaimPolicy |
false |
Alpha | 1.23 | |
IPTablesOwnershipCleanup |
false |
Alpha | 1.25 | |
InTreePluginAWSUnregister |
false |
Alpha | 1.21 | |
InTreePluginAzureDiskUnregister |
false |
Alpha | 1.21 | |
InTreePluginAzureFileUnregister |
false |
Alpha | 1.21 | |
InTreePluginGCEUnregister |
false |
Alpha | 1.21 | |
InTreePluginOpenStackUnregister |
false |
Alpha | 1.21 | |
InTreePluginPortworxUnregister |
false |
Alpha | 1.23 | |
InTreePluginRBDUnregister |
false |
Alpha | 1.23 | |
InTreePluginvSphereUnregister |
false |
Alpha | 1.21 | |
JobMutableNodeSchedulingDirectives |
true |
Beta | 1.23 | |
JobPodFailurePolicy |
false |
Alpha | 1.25 | 1.25 |
JobPodFailurePolicy |
true |
Beta | 1.26 | |
JobReadyPods |
false |
Alpha | 1.23 | 1.23 |
JobReadyPods |
true |
Beta | 1.24 | |
KMSv2 |
false |
Alpha | 1.25 | |
KubeletInUserNamespace |
false |
Alpha | 1.22 | |
KubeletPodResources |
false |
Alpha | 1.13 | 1.14 |
KubeletPodResources |
true |
Beta | 1.15 | |
KubeletPodResourcesGetAllocatable |
false |
Alpha | 1.21 | 1.22 |
KubeletPodResourcesGetAllocatable |
true |
Beta | 1.23 | |
KubeletTracing |
false |
Alpha | 1.25 | |
LegacyServiceAccountTokenTracking |
false |
Alpha | 1.26 | 1.26 |
LegacyServiceAccountTokenTracking |
true |
Beta | 1.27 | |
LocalStorageCapacityIsolationFSQuotaMonitoring |
false |
Alpha | 1.15 | - |
LogarithmicScaleDown |
false |
Alpha | 1.21 | 1.21 |
LogarithmicScaleDown |
true |
Beta | 1.22 | |
LoggingAlphaOptions |
false |
Alpha | 1.24 | - |
LoggingBetaOptions |
true |
Beta | 1.24 | - |
MatchLabelKeysInPodTopologySpread |
false |
Alpha | 1.25 | |
MaxUnavailableStatefulSet |
false |
Alpha | 1.24 | |
MemoryManager |
false |
Alpha | 1.21 | 1.21 |
MemoryManager |
true |
Beta | 1.22 | |
MemoryQoS |
false |
Alpha | 1.22 | |
MinDomainsInPodTopologySpread |
false |
Alpha | 1.24 | 1.24 |
MinDomainsInPodTopologySpread |
false |
Beta | 1.25 | |
MinimizeIPTablesRestore |
false |
Alpha | 1.26 | - |
MultiCIDRRangeAllocator |
false |
Alpha | 1.25 | |
NetworkPolicyStatus |
false |
Alpha | 1.24 | |
NodeInclusionPolicyInPodTopologySpread |
false |
Alpha | 1.25 | 1.25 |
NodeInclusionPolicyInPodTopologySpread |
true |
Beta | 1.26 | |
NodeOutOfServiceVolumeDetach |
false |
Alpha | 1.24 | 1.25 |
NodeOutOfServiceVolumeDetach |
true |
Beta | 1.26 | |
NodeSwap |
false |
Alpha | 1.22 | |
OpenAPIEnums |
false |
Alpha | 1.23 | 1.23 |
OpenAPIEnums |
true |
Beta | 1.24 | |
OpenAPIV3 |
false |
Alpha | 1.23 | 1.23 |
OpenAPIV3 |
true |
Beta | 1.24 | |
PDBUnhealthyPodEvictionPolicy |
false |
Alpha | 1.26 | |
PodAndContainerStatsFromCRI |
false |
Alpha | 1.23 | |
PodDeletionCost |
false |
Alpha | 1.21 | 1.21 |
PodDeletionCost |
true |
Beta | 1.22 | |
PodDisruptionConditions |
false |
Alpha | 1.25 | 1.25 |
PodDisruptionConditions |
true |
Beta | 1.26 | |
PodHasNetworkCondition |
false |
Alpha | 1.25 | |
PodSchedulingReadiness |
false |
Alpha | 1.26 | |
ProbeTerminationGracePeriod |
false |
Alpha | 1.21 | 1.21 |
ProbeTerminationGracePeriod |
false |
Beta | 1.22 | 1.24 |
ProbeTerminationGracePeriod |
true |
Beta | 1.25 | |
ProcMountType |
false |
Alpha | 1.12 | |
ProxyTerminatingEndpoints |
false |
Alpha | 1.22 | 1.25 |
ProxyTerminatingEndpoints |
true |
Beta | 1.26 | |
QOSReserved |
false |
Alpha | 1.11 | |
ReadWriteOncePod |
false |
Alpha | 1.22 | |
RecoverVolumeExpansionFailure |
false |
Alpha | 1.23 | |
RemainingItemCount |
false |
Alpha | 1.15 | 1.15 |
RemainingItemCount |
true |
Beta | 1.16 | |
RetroactiveDefaultStorageClass |
false |
Alpha | 1.25 | 1.25 |
RetroactiveDefaultStorageClass |
true |
Beta | 1.26 | |
RotateKubeletServerCertificate |
false |
Alpha | 1.7 | 1.11 |
RotateKubeletServerCertificate |
true |
Beta | 1.12 | |
SELinuxMountReadWriteOncePod |
false |
Alpha | 1.25 | |
SeccompDefault |
false |
Alpha | 1.22 | 1.24 |
SeccompDefault |
true |
Beta | 1.25 | |
ServerSideFieldValidation |
false |
Alpha | 1.23 | 1.24 |
ServerSideFieldValidation |
true |
Beta | 1.25 | |
SizeMemoryBackedVolumes |
false |
Alpha | 1.20 | 1.21 |
SizeMemoryBackedVolumes |
true |
Beta | 1.22 | |
StatefulSetAutoDeletePVC |
false |
Alpha | 1.22 | |
StatefulSetStartOrdinal |
false |
Alpha | 1.26 | |
StorageVersionAPI |
false |
Alpha | 1.20 | |
StorageVersionHash |
false |
Alpha | 1.14 | 1.14 |
StorageVersionHash |
true |
Beta | 1.15 | |
TopologyAwareHints |
false |
Alpha | 1.21 | 1.22 |
TopologyAwareHints |
false |
Beta | 1.23 | 1.23 |
TopologyAwareHints |
true |
Beta | 1.24 | |
TopologyManager |
false |
Alpha | 1.16 | 1.17 |
TopologyManager |
true |
Beta | 1.18 | |
TopologyManagerPolicyAlphaOptions |
false |
Alpha | 1.26 | |
TopologyManagerPolicyBetaOptions |
false |
Beta | 1.26 | |
TopologyManagerPolicyOptions |
false |
Alpha | 1.26 | |
UserNamespacesStatelessPodsSupport |
false |
Alpha | 1.25 | |
ValidatingAdmissionPolicy |
false |
Alpha | 1.26 | |
VolumeCapacityPriority |
false |
Alpha | 1.21 | - |
WinDSR |
false |
Alpha | 1.14 | |
WinOverlay |
false |
Alpha | 1.14 | 1.19 |
WinOverlay |
true |
Beta | 1.20 | |
WindowsHostNetwork |
false |
Alpha | 1.26 |
GraduatedまたはDeprecatedのフィーチャーゲート
| 機能名 | デフォルト値 | ステージ | 導入開始バージョン | 最終利用可能バージョン |
|---|---|---|---|---|
AdvancedAuditing |
false |
Alpha | 1.7 | 1.7 |
AdvancedAuditing |
true |
Beta | 1.8 | 1.11 |
AdvancedAuditing |
true |
GA | 1.12 | - |
CPUManager |
false |
Alpha | 1.8 | 1.9 |
CPUManager |
true |
Beta | 1.10 | 1.25 |
CPUManager |
true |
GA | 1.26 | - |
CSIInlineVolume |
false |
Alpha | 1.15 | 1.15 |
CSIInlineVolume |
true |
Beta | 1.16 | 1.24 |
CSIInlineVolume |
true |
GA | 1.25 | - |
CSIMigration |
false |
Alpha | 1.14 | 1.16 |
CSIMigration |
true |
Beta | 1.17 | 1.24 |
CSIMigration |
true |
GA | 1.25 | - |
CSIMigrationAWS |
false |
Alpha | 1.14 | 1.16 |
CSIMigrationAWS |
false |
Beta | 1.17 | 1.22 |
CSIMigrationAWS |
true |
Beta | 1.23 | 1.24 |
CSIMigrationAWS |
true |
GA | 1.25 | - |
CSIMigrationAzureDisk |
false |
Alpha | 1.15 | 1.18 |
CSIMigrationAzureDisk |
false |
Beta | 1.19 | 1.22 |
CSIMigrationAzureDisk |
true |
Beta | 1.23 | 1.23 |
CSIMigrationAzureDisk |
true |
GA | 1.24 | |
CSIMigrationAzureFile |
false |
Alpha | 1.15 | 1.20 |
CSIMigrationAzureFile |
false |
Beta | 1.21 | 1.23 |
CSIMigrationAzureFile |
true |
Beta | 1.24 | 1.25 |
CSIMigrationAzureFile |
true |
GA | 1.26 | |
CSIMigrationGCE |
false |
Alpha | 1.14 | 1.16 |
CSIMigrationGCE |
false |
Beta | 1.17 | 1.22 |
CSIMigrationGCE |
true |
Beta | 1.23 | 1.24 |
CSIMigrationGCE |
true |
GA | 1.25 | - |
CSIMigrationvSphere |
false |
Alpha | 1.18 | 1.18 |
CSIMigrationvSphere |
false |
Beta | 1.19 | 1.24 |
CSIMigrationvSphere |
true |
Beta | 1.25 | 1.25 |
CSIMigrationvSphere |
true |
GA | 1.26 | - |
CSIStorageCapacity |
false |
Alpha | 1.19 | 1.20 |
CSIStorageCapacity |
true |
Beta | 1.21 | 1.23 |
CSIStorageCapacity |
true |
GA | 1.24 | - |
ConsistentHTTPGetHandlers |
true |
GA | 1.25 | - |
ControllerManagerLeaderMigration |
false |
Alpha | 1.21 | 1.21 |
ControllerManagerLeaderMigration |
true |
Beta | 1.22 | 1.23 |
ControllerManagerLeaderMigration |
true |
GA | 1.24 | - |
DaemonSetUpdateSurge |
false |
Alpha | 1.21 | 1.21 |
DaemonSetUpdateSurge |
true |
Beta | 1.22 | 1.24 |
DaemonSetUpdateSurge |
true |
GA | 1.25 | - |
DelegateFSGroupToCSIDriver |
false |
Alpha | 1.22 | 1.22 |
DelegateFSGroupToCSIDriver |
true |
Beta | 1.23 | 1.25 |
DelegateFSGroupToCSIDriver |
true |
GA | 1.26 | - |
DevicePlugins |
false |
Alpha | 1.8 | 1.9 |
DevicePlugins |
true |
Beta | 1.10 | 1.25 |
DevicePlugins |
true |
GA | 1.26 | - |
DisableAcceleratorUsageMetrics |
false |
Alpha | 1.19 | 1.19 |
DisableAcceleratorUsageMetrics |
true |
Beta | 1.20 | 1.24 |
DisableAcceleratorUsageMetrics |
true |
GA | 1.25 | - |
DryRun |
false |
Alpha | 1.12 | 1.12 |
DryRun |
true |
Beta | 1.13 | 1.18 |
DryRun |
true |
GA | 1.19 | - |
EfficientWatchResumption |
false |
Alpha | 1.20 | 1.20 |
EfficientWatchResumption |
true |
Beta | 1.21 | 1.23 |
EfficientWatchResumption |
true |
GA | 1.24 | - |
EndpointSliceTerminatingCondition |
false |
Alpha | 1.20 | 1.21 |
EndpointSliceTerminatingCondition |
true |
Beta | 1.22 | 1.25 |
EndpointSliceTerminatingCondition |
true |
GA | 1.26 | |
EphemeralContainers |
false |
Alpha | 1.16 | 1.22 |
EphemeralContainers |
true |
Beta | 1.23 | 1.24 |
EphemeralContainers |
true |
GA | 1.25 | - |
ExecProbeTimeout |
true |
GA | 1.20 | - |
ExpandCSIVolumes |
false |
Alpha | 1.14 | 1.15 |
ExpandCSIVolumes |
true |
Beta | 1.16 | 1.23 |
ExpandCSIVolumes |
true |
GA | 1.24 | - |
ExpandInUsePersistentVolumes |
false |
Alpha | 1.11 | 1.14 |
ExpandInUsePersistentVolumes |
true |
Beta | 1.15 | 1.23 |
ExpandInUsePersistentVolumes |
true |
GA | 1.24 | - |
ExpandPersistentVolumes |
false |
Alpha | 1.8 | 1.10 |
ExpandPersistentVolumes |
true |
Beta | 1.11 | 1.23 |
ExpandPersistentVolumes |
true |
GA | 1.24 | - |
JobTrackingWithFinalizers |
false |
Alpha | 1.22 | 1.22 |
JobTrackingWithFinalizers |
false |
Beta | 1.23 | 1.24 |
JobTrackingWithFinalizers |
true |
Beta | 1.25 | 1.25 |
JobTrackingWithFinalizers |
true |
GA | 1.26 | - |
KubeletCredentialProviders |
false |
Alpha | 1.20 | 1.23 |
KubeletCredentialProviders |
true |
Beta | 1.24 | 1.25 |
KubeletCredentialProviders |
true |
GA | 1.26 | - |
LegacyServiceAccountTokenNoAutoGeneration |
true |
Beta | 1.24 | 1.25 |
LegacyServiceAccountTokenNoAutoGeneration |
true |
GA | 1.26 | - |
LocalStorageCapacityIsolation |
false |
Alpha | 1.7 | 1.9 |
LocalStorageCapacityIsolation |
true |
Beta | 1.10 | 1.24 |
LocalStorageCapacityIsolation |
true |
GA | 1.25 | - |
MixedProtocolLBService |
false |
Alpha | 1.20 | 1.23 |
MixedProtocolLBService |
true |
Beta | 1.24 | 1.25 |
MixedProtocolLBService |
true |
GA | 1.26 | - |
NetworkPolicyEndPort |
false |
Alpha | 1.21 | 1.21 |
NetworkPolicyEndPort |
true |
Beta | 1.22 | 1.24 |
NetworkPolicyEndPort |
true |
GA | 1.25 | - |
PodSecurity |
false |
Alpha | 1.22 | 1.22 |
PodSecurity |
true |
Beta | 1.23 | 1.24 |
PodSecurity |
true |
GA | 1.25 | |
RemoveSelfLink |
false |
Alpha | 1.16 | 1.19 |
RemoveSelfLink |
true |
Beta | 1.20 | 1.23 |
RemoveSelfLink |
true |
GA | 1.24 | - |
ServerSideApply |
false |
Alpha | 1.14 | 1.15 |
ServerSideApply |
true |
Beta | 1.16 | 1.21 |
ServerSideApply |
true |
GA | 1.22 | - |
ServiceIPStaticSubrange |
false |
Alpha | 1.24 | 1.24 |
ServiceIPStaticSubrange |
true |
Beta | 1.25 | 1.25 |
ServiceIPStaticSubrange |
true |
GA | 1.26 | - |
ServiceInternalTrafficPolicy |
false |
Alpha | 1.21 | 1.21 |
ServiceInternalTrafficPolicy |
true |
Beta | 1.22 | 1.25 |
ServiceInternalTrafficPolicy |
true |
GA | 1.26 | - |
StatefulSetMinReadySeconds |
false |
Alpha | 1.22 | 1.22 |
StatefulSetMinReadySeconds |
true |
Beta | 1.23 | 1.24 |
StatefulSetMinReadySeconds |
true |
GA | 1.25 | - |
WatchBookmark |
false |
Alpha | 1.15 | 1.15 |
WatchBookmark |
true |
Beta | 1.16 | 1.16 |
WatchBookmark |
true |
GA | 1.17 | - |
WindowsHostProcessContainers |
false |
Alpha | 1.22 | 1.22 |
WindowsHostProcessContainers |
true |
Beta | 1.23 | 1.25 |
WindowsHostProcessContainers |
true |
GA | 1.26 | - |
機能を使用する
機能のステージ
機能にはAlpha 、Beta 、GA の段階があります。Alpha 機能とは:
- デフォルトでは無効になっています。
- バグがあるかもしれません。機能を有効にするとバグが発生する可能性があります。
- 機能のサポートは予告無しにいつでも削除される場合があります。
- APIは今後のソフトウェアリリースで予告なく互換性の無い変更が行われる場合があります。
- バグが発生するリスクが高く長期的なサポートはないため、短期間のテストクラスターでのみ使用することをお勧めします。
Beta 機能とは:
- デフォルトで有効になっています。
- この機能は十分にテストされていて、有効にすることは安全と考えられます。
- 詳細は変更される可能性がありますが、機能全体のサポートは削除されません。
- オブジェクトのスキーマやセマンティックは、その後のベータ版または安定版リリースで互換性の無い変更が行われる場合があります。互換性の無い変更が行われた場合には次のバージョンへの移行手順を提供します。これにはAPIオブジェクトの削除、編集、および再作成が必要になる場合があります。バージョンアップにはいくつかの対応が必要な場合があります。これには機能に依存するアプリケーションのダウンタイムが発生する場合があります。
- 今後のリリースで互換性の無い変更が行われる可能性があるため、ビジネスクリティカルでない使用のみが推奨されます。個別にアップグレードできる複数のクラスターがある場合はこの制限を緩和できる場合があります。
備考:
ベータ版 の機能を試してフィードバックをお寄せください! GAになってからさらなる変更を加えることは現実的ではない場合があります。GA 機能とは(GA 機能は安定版 機能とも呼ばれます):
- 機能は常に有効となり、無効にすることはできません。
- フィーチャーゲートの設定は不要になります。
- 機能の安定版は後続バージョンでリリースされたソフトウェアで使用されます。
フィーチャーゲート
各フィーチャーゲートは特定の機能を有効/無効にするように設計されています。
Accelerators: DockerでのNvidia GPUのサポートを有効にします。AdvancedAuditing: 高度な監査機能を有効にします。AffinityInAnnotations(非推奨): Podのアフィニティまたはアンチアフィニティを有効にします。AnyVolumeDataSource: PVCのDataSourceとしてカスタムリソースの使用を有効にします。AllowExtTrafficLocalEndpoints: サービスが外部へのリクエストをノードのローカルエンドポイントにルーティングできるようにします。APIListChunking: APIクライアントがAPIサーバーからチャンク単位で(LISTやGETの)リソースを取得できるようにします。APIPriorityAndFairness: 各サーバーで優先順位付けと公平性を備えた要求の並行性を管理できるようにします(RequestManagementから名前が変更されました)。APIResponseCompression:LISTやGETリクエストのAPIレスポンスを圧縮します。AppArmor: Dockerを使用する場合にLinuxノードでAppArmorによる強制アクセスコントロールを有効にします。詳細はAppArmorチュートリアルで確認できます。ContainerCheckpoint: kubeletチェックポイントAPIを有効にします。詳細はKubeletチェックポイントAPIで確認できます。AttachVolumeLimit: ボリュームプラグインを有効にすることでノードにアタッチできるボリューム数の制限を設定できます。BalanceAttachedNodeVolumes: スケジューリング中にバランスのとれたリソース割り当てを考慮するノードのボリュームカウントを含めます。判断を行う際に、CPU、メモリー使用率、およびボリュームカウントが近いノードがスケジューラーによって優先されます。BlockVolume: PodでRawブロックデバイスの定義と使用を有効にします。詳細はRawブロックボリュームのサポートで確認できます。BoundServiceAccountTokenVolume: ServiceAccountTokenVolumeProjectionによって構成される計画ボリュームを使用するにはServiceAccountボリュームを移行します。詳細はService Account Token Volumesで確認できます。ConfigurableFSGroupPolicy: Podにボリュームをマウントするときに、ユーザーがfsGroupsのボリューム権限変更ポリシーを設定できるようにします。詳細については、Podのボリューム権限と所有権変更ポリシーの設定をご覧ください。CPUManager: コンテナレベルのCPUアフィニティサポートを有効します。CPUマネジメントポリシーを見てください。CRIContainerLogRotation: criコンテナランタイムのコンテナログローテーションを有効にします。CSIBlockVolume: 外部CSIボリュームドライバーを有効にしてブロックストレージをサポートします。詳細はcsiRawブロックボリュームのサポートで確認できます。CSIDriverRegistry: csi.storage.k8s.ioのCSIDriver APIオブジェクトに関連するすべてのロジックを有効にします。CSIInlineVolume: PodのCSIインラインボリュームサポートを有効にします。CSIMigration: シムと変換ロジックを有効にしてボリューム操作をKubernetesリポジトリー内のプラグインから対応した事前インストール済みのCSIプラグインにルーティングします。CSIMigrationAWS: シムと変換ロジックを有効にしてボリューム操作をKubernetesリポジトリー内のAWS-EBSプラグインからEBS CSIプラグインにルーティングします。ノードにEBS CSIプラグインがインストールおよび設定されていない場合、ツリー内のEBSプラグインへのフォールバックをサポートします。CSIMigration機能フラグを有効にする必要があります。CSIMigrationAWSComplete: EBSツリー内プラグインのkubeletおよびボリュームコントローラーへの登録を停止し、シムと変換ロジックを有効にして、AWS-EBSツリー内プラグインからEBS CSIプラグインにボリューム操作をルーティングします。CSIMigrationおよびCSIMigrationAWS機能フラグを有効にし、クラスター内のすべてのノードにEBS CSIプラグインをインストールおよび設定する必要があります。CSIMigrationAzureDisk: シムと変換ロジックを有効にしてボリューム操作をKubernetesリポジトリー内のAzure-DiskプラグインからAzure Disk CSIプラグインにルーティングします。ノードにAzureDisk CSIプラグインがインストールおよび設定されていない場合、ツリー内のAzureDiskプラグインへのフォールバックをサポートします。CSIMigration機能フラグを有効にする必要があります。CSIMigrationAzureDiskComplete: Azure-Diskツリー内プラグインのkubeletおよびボリュームコントローラーへの登録を停止し、シムと変換ロジックを有効にして、Azure-Diskツリー内プラグインからAzureDisk CSIプラグインにボリューム操作をルーティングします。CSIMigrationおよびCSIMigrationAzureDisk機能フラグを有効にし、クラスター内のすべてのノードにAzureDisk CSIプラグインをインストールおよび設定する必要があります。CSIMigrationAzureFile: シムと変換ロジックを有効にしてボリューム操作をKubernetesリポジトリー内のAzure-FileプラグインからAzure File CSIプラグインにルーティングします。ノードにAzureFile CSIプラグインがインストールおよび設定されていない場合、ツリー内のAzureFileプラグインへのフォールバックをサポートします。CSIMigration機能フラグを有効にする必要があります。CSIMigrationAzureFileComplete: Azure-Fileツリー内プラグインのkubeletおよびボリュームコントローラーへの登録を停止し、シムと変換ロジックを有効にして、Azure-Fileツリー内プラグインからAzureFile CSIプラグインにボリューム操作をルーティングします。CSIMigrationおよびCSIMigrationAzureFile機能フラグを有効にし、クラスター内のすべてのノードにAzureFile CSIプラグインをインストールおよび設定する必要があります。CSIMigrationGCE: シムと変換ロジックを有効にしてボリューム操作をKubernetesリポジトリー内のGCE-PDプラグインからPD CSIプラグインにルーティングします。ノードにPD CSIプラグインがインストールおよび設定されていない場合、ツリー内のGCEプラグインへのフォールバックをサポートします。CSIMigration機能フラグを有効にする必要があります。CSIMigrationGCEComplete: GCE-PDのツリー内プラグインのkubeletおよびボリュームコントローラーへの登録を停止し、シムと変換ロジックがGCE-PDのツリー内プラグインからPD CSIプラグインにボリューム操作をルーティングできるようにします。CSIMigrationおよびCSIMigrationGCE機能フラグを有効にし、クラスター内のすべてのノードにPD CSIプラグインをインストールおよび設定する必要があります。CSIMigrationOpenStack: シムと変換ロジックを有効にしてボリューム操作をKubernetesリポジトリー内のCinderプラグインからCinder CSIプラグインにルーティングします。ノードにCinder CSIプラグインがインストールおよび設定されていない場合、ツリー内のCinderプラグインへのフォールバックをサポートします。CSIMigration機能フラグを有効にする必要があります。CSIMigrationOpenStackComplete: Cinderのツリー内プラグインのkubeletおよびボリュームコントローラーへの登録を停止し、シムと変換ロジックがCinderのツリー内プラグインからCinder CSIプラグインにボリューム操作をルーティングできるようにします。CSIMigrationおよびCSIMigrationOpenStack機能フラグを有効にし、クラスター内のすべてのノードにCinder CSIプラグインをインストールおよび設定する必要があります。CSINodeInfo: csi.storage.k8s.ioのCSINodeInfo APIオブジェクトに関連するすべてのロジックを有効にします。CSIPersistentVolume: CSI(Container Storage Interface)互換のボリュームプラグインを通してプロビジョニングされたボリュームの検出とマウントを有効にします。 詳細についてはcsiボリュームタイプドキュメントを確認してください。CustomCPUCFSQuotaPeriod: ノードがCPUCFSQuotaPeriodを変更できるようにします。CustomPodDNS:dnsConfigプロパティを使用したPodのDNS設定のカスタマイズを有効にします。詳細はPodのDNS構成で確認できます。CustomResourceDefaulting: OpenAPI v3バリデーションスキーマにおいて、デフォルト値のCRDサポートを有効にします。CustomResourcePublishOpenAPI: CRDのOpenAPI仕様での公開を有効にします。CustomResourceSubresources: CustomResourceDefinitionから作成されたリソースの/statusおよび/scaleサブリソースを有効にします。CustomResourceValidation: CustomResourceDefinitionから作成されたリソースのスキーマによる検証を有効にします。CustomResourceWebhookConversion: CustomResourceDefinitionから作成されたリソースのWebhookベースの変換を有効にします。DevicePlugins: device-pluginsによるノードでのリソースプロビジョニングを有効にします。DryRun: サーバーサイドでのdry runリクエストを有効にします。DynamicKubeletConfig: kubeletの動的構成を有効にします。kubeletの再設定を参照してください。DynamicProvisioningScheduling: デフォルトのスケジューラーを拡張してボリュームトポロジーを認識しPVプロビジョニングを処理します。この機能は、v1.12のVolumeScheduling機能に完全に置き換えられました。DynamicVolumeProvisioning(非推奨): Podへの永続ボリュームの動的プロビジョニングを有効にします。EnableAggregatedDiscoveryTimeout(非推奨): 集約されたディスカバリーコールで5秒のタイムアウトを有効にします。EnableEquivalenceClassCache: Podをスケジュールするときにスケジューラーがノードの同等をキャッシュできるようにします。EphemeralContainers: 稼働するPodにephemeral containersを追加する機能を有効にします。EvenPodsSpread: Podをトポロジードメイン全体で均等にスケジュールできるようにします。Even Pods Spreadをご覧ください。ExpandInUsePersistentVolumes: 使用中のPVCのボリューム拡張を有効にします。使用中のPersistentVolumeClaimのサイズ変更を参照してください。ExpandPersistentVolumes: 永続ボリュームの拡張を有効にします。永続ボリューム要求の拡張を参照してください。ExperimentalCriticalPodAnnotation: スケジューリングが保証されるように特定のPodへの クリティカル の注釈を加える設定を有効にします。ExperimentalHostUserNamespaceDefaultingGate: ホストするデフォルトのユーザー名前空間を有効にします。これは他のホストの名前空間やホストのマウントを使用しているコンテナ、特権を持つコンテナ、または名前空間のない特定の機能(たとえばMKNODE、SYS_MODULEなど)を使用しているコンテナ用です。これはDockerデーモンでユーザー名前空間の再マッピングが有効になっている場合にのみ有効にすべきです。EndpointSlice: よりスケーラブルで拡張可能なネットワークエンドポイントのエンドポイントスライスを有効にします。Enabling Endpoint Slicesをご覧ください。EndpointSliceProxying: このフィーチャーゲートを有効にすると、kube-proxyはエンドポイントの代わりにエンドポイントスライスをプライマリデータソースとして使用し、スケーラビリティとパフォーマンスの向上を実現します。Enabling Endpoint Slices.をご覧ください。GCERegionalPersistentDisk: GCEでリージョナルPD機能を有効にします。HugePages: 事前に割り当てられたhuge pagesの割り当てと消費を有効にします。HugePageStorageMediumSize: 事前に割り当てられた複数のサイズのhuge pagesのサポートを有効にします。HyperVContainer: WindowsコンテナのHyper-Vによる分離を有効にします。HPAScaleToZero: カスタムメトリクスまたは外部メトリクスを使用するときに、HorizontalPodAutoscalerリソースのminReplicasを0に設定できるようにします。ImmutableEphemeralVolumes: 安全性とパフォーマンスを向上させるために、個々のSecretとConfigMapが不変となるように指定できるようにします。KubeletConfigFile: 設定ファイルを使用して指定されたファイルからのkubelet設定の読み込みを有効にします。詳細は設定ファイルによるkubeletパラメーターの設定で確認できます。KubeletPluginsWatcher: 調査ベースのプラグイン監視ユーティリティを有効にしてkubeletがCSIボリュームドライバーなどのプラグインを検出できるようにします。KubeletPodResources: kubeletのPodのリソースgrpcエンドポイントを有効にします。詳細はデバイスモニタリングのサポートで確認できます。LegacyNodeRoleBehavior: 無効にすると、サービスロードバランサーの従来の動作とノードの中断により機能固有のラベルが優先され、node-role.kubernetes.io/masterラベルが無視されます。LocalStorageCapacityIsolation: ローカルの一時ストレージの消費を有効にして、emptyDirボリュームのsizeLimitプロパティも有効にします。LocalStorageCapacityIsolationFSQuotaMonitoring:LocalStorageCapacityIsolationがローカルの一時ストレージで有効になっていて、emptyDirボリュームのbacking filesystemがプロジェクトクォータをサポートし有効になっている場合、プロジェクトクォータを使用して、パフォーマンスと精度を向上させるために、ファイルシステムへのアクセスではなくemptyDirボリュームストレージ消費を監視します。MountContainers: ホスト上のユーティリティコンテナをボリュームマウンターとして使用できるようにします。MountPropagation: あるコンテナによってマウントされたボリュームを他のコンテナまたはPodに共有できるようにします。詳細はマウントの伝播で確認できます。NodeDisruptionExclusion: ノードラベルnode.kubernetes.io/exclude-disruptionの使用を有効にします。これにより、ゾーン障害時にノードが退避するのを防ぎます。NodeLease: 新しいLease APIを有効にしてノードヘルスシグナルとして使用できるノードのハートビートをレポートします。NonPreemptingPriority: PriorityClassとPodのNonPreemptingオプションを有効にします。PersistentLocalVolumes: Podでlocalボリュームタイプの使用を有効にします。localボリュームを要求する場合、Podアフィニティを指定する必要があります。PodOverhead: PodOverhead機能を有効にして、Podのオーバーヘッドを考慮するようにします。PodDisruptionBudget: PodDisruptionBudget機能を有効にします。PodPriority: 優先度に基づいてPodの再スケジューリングとプリエンプションを有効にします。PodReadinessGates: Podのreadinessの評価を拡張するためにPodReadinessGateフィールドの設定を有効にします。詳細はPod readiness gateで確認できます。PodShareProcessNamespace: Podで実行されているコンテナ間で単一のプロセス名前空間を共有するには、PodでshareProcessNamespaceの設定を有効にします。詳細については、Pod内のコンテナ間でプロセス名前空間を共有するをご覧ください。ProcMountType: コンテナのProcMountTypeの制御を有効にします。PVCProtection: 永続ボリューム要求(PVC)がPodでまだ使用されているときに削除されないようにします。詳細はここで確認できます。QOSReserved: QoSレベルでのリソース予約を許可して、低いQoSレベルのポッドが高いQoSレベルで要求されたリソースにバーストするのを防ぎます(現時点ではメモリのみ)。ResourceLimitsPriorityFunction: 入力したPodのCPU制限とメモリ制限の少なくとも1つを満たすノードに対して最低スコアを1に割り当てるスケジューラー優先機能を有効にします。その目的は同じスコアを持つノード間の関係を断つことです。ResourceQuotaScopeSelectors: リソース割当のスコープセレクターを有効にします。RotateKubeletClientCertificate: kubeletでクライアントTLS証明書のローテーションを有効にします。詳細はkubeletの設定で確認できます。RotateKubeletServerCertificate: kubeletでサーバーTLS証明書のローテーションを有効にします。詳細はkubeletの設定で確認できます。RunAsGroup: コンテナの初期化プロセスで設定されたプライマリグループIDの制御を有効にします。RuntimeClass: コンテナのランタイム構成を選択するにはRuntimeClass機能を有効にします。ScheduleDaemonSetPods: DaemonSetのPodをDaemonSetコントローラーではなく、デフォルトのスケジューラーによってスケジュールされるようにします。SCTPSupport:Service、Endpoints、NetworkPolicy、Podの定義でprotocolの値としてSCTPを使用できるようにしますServerSideApply: APIサーバーでサーバーサイドApply(SSA)のパスを有効にします。ServiceAccountIssuerDiscovery: APIサーバーにてサービスアカウント発行者のOIDC検出エンドポイント(発行者とJWKS URL)を有効にします。詳細については、Podのサービスアカウント設定をご覧ください。ServiceAppProtocol: サービスとエンドポイントでAppProtocolフィールドを有効にします。ServiceLoadBalancerFinalizer: サービスロードバランサーのファイナライザー保護を有効にします。ServiceNodeExclusion: クラウドプロバイダーによって作成されたロードバランサーからのノードの除外を有効にします。"alpha.service-controller.kubernetes.io/exclude-balancer"キーまたはnode.kubernetes.io/exclude-from-external-load-balancersでラベル付けされている場合ノードは除外の対象となります。ServiceTopology: クラスターのノードトポロジーに基づいてトラフィックをルーティングするサービスを有効にします。詳細については、Serviceトポロジーを参照してください。StartupProbe: kubeletでstartupプローブを有効にします。StorageObjectInUseProtection: PersistentVolumeまたはPersistentVolumeClaimオブジェクトがまだ使用されている場合、それらの削除を延期します。StorageVersionHash: apiserversがディスカバリーでストレージのバージョンハッシュを公開できるようにします。StreamingProxyRedirects: ストリーミングリクエストのバックエンド(kubelet)からのリダイレクトをインターセプト(およびフォロー)するようAPIサーバーに指示します。ストリーミングリクエストの例にはexec、attach、port-forwardリクエストが含まれます。SupportIPVSProxyMode: IPVSを使用したクラスター内サービスの負荷分散の提供を有効にします。詳細はサービスプロキシで確認できます。SupportPodPidsLimit: PodのPID制限のサポートを有効にします。Sysctls: 各Podに設定できる名前空間付きのカーネルパラメーター(sysctl)のサポートを有効にします。詳細はsysctlsで確認できます。TaintBasedEvictions: ノードのTaintとPodのTolerationに基づいてノードからPodを排除できるようにします。。詳細はTaintとTolerationで確認できます。TaintNodesByCondition: ノードの条件に基づいてノードの自動Taintを有効にします。TokenRequest: サービスアカウントリソースでTokenRequestエンドポイントを有効にします。TokenRequestProjection: Projectedボリュームを使用したPodへのサービスアカウントのトークンの注入を有効にします。TTLAfterFinished: TTLコントローラーが実行終了後にリソースをクリーンアップできるようにします。VolumePVCDataSource: 既存のPVCをデータソースとして指定するサポートを有効にします。VolumeScheduling: ボリュームトポロジー対応のスケジューリングを有効にし、PersistentVolumeClaim(PVC)バインディングにスケジューリングの決定を認識させます。またPersistentLocalVolumesフィーチャーゲートと一緒に使用するとlocalボリュームタイプの使用が可能になります。VolumeSnapshotDataSource: ボリュームスナップショットのデータソースサポートを有効にします。VolumeSubpathEnvExpansion: 環境変数をsubPathに展開するためのsubPathExprフィールドを有効にします。WatchBookmark: ブックマークイベントの監視サポートを有効にします。WindowsGMSA: GMSA資格仕様をPodからコンテナランタイムに渡せるようにします。WindowsRunAsUserName: デフォルト以外のユーザーでWindowsコンテナアプリケーションを実行するためのサポートを有効にします。詳細については、RunAsUserNameの設定を参照してください。WinDSR: kube-proxyがWindows用のDSRロードバランサーを作成できるようにします。WinOverlay: kube-proxyをWindowsのオーバーレイモードで実行できるようにします。
次の項目
- Kubernetesの非推奨ポリシーでは、機能とコンポーネントを削除するためのプロジェクトのアプローチを説明しています。
2 - kube-scheduler
概要
Kubernetesスケジューラーは、Podをノードに割り当てるコントロールプレーンのプロセスです。 スケジューラーは、制約条件と利用可能なリソースに基づいて、スケジューリングキュー内の各Podに対して適切なノードを決定します。 その後、スケジューラーは有効な各ノードを優先順位付けし、適切なノードにPodを割り当てます。 クラスター内では複数の異なるスケジューラーを使用することが可能であり、kube-schedulerが標準実装として提供されています。 スケジューリングの詳細およびkube-schedulerコンポーネントについては、スケジューリングのセクションをご覧ください。
kube-scheduler [flags]
オプション
| --allow-metric-labels stringToString デフォルト値: [] | |
メトリックラベルに対し、許可される値のリストを指定するマップです。キーは <MetricName>,<LabelName> の形式で、値は <allowed_value>,<allowed_value>... の形式となります。例えば、metric1,label1='v1,v2,v3', metric1,label2='v1,v2,v3' metric2,label1='v1,v2,v3'のように指定します。 |
|
| --allow-metric-labels-manifest string | |
許可リストのマッピング情報を含むマニフェストファイルのパスです。ファイルの形式は--allow-metric-labelsフラグと同じであり、--allow-metric-labelsフラグが指定されている場合はファイルの設定が上書きされる点に注意してください。 |
|
| --authentication-kubeconfig string | |
tokenreviews.authentication.k8s.ioを作成するための十分な権限を持つコアKubernetesサーバーを指すkubeconfigファイルです。省略可能であり、空の場合はすべてのトークン要求が匿名として扱われ、クラスター内でクライアント証明書の検索は行われません。 |
|
| --authentication-skip-lookup | |
falseに設定した場合、authentication-kubeconfigを使用してクラスターから不足している認証設定を参照します。 |
|
| --authentication-token-webhook-cache-ttl duration デフォルト値: 10s | |
webhook token authenticatorからのレスポンスをキャッシュする期間を指定します。 |
|
| --authentication-tolerate-lookup-failure デフォルト値: true | |
trueの場合、クラスターから認証設定を参照できなくても致命的な失敗とはみなされません。ただし、すべてのリクエストを匿名として扱う認証モードになる可能性があります。 |
|
| --authorization-always-allow-paths strings デフォルト値: "/healthz,/readyz,/livez" | |
認可処理をスキップするHTTPパスのリストです。これらのパスはコアKubernetesサーバーに問い合わせることなく許可されます。 |
|
| --authorization-kubeconfig string | |
subjectaccessreviews.authorization.k8s.io を作成するための十分な権限を持つコアKubernetesサーバーを指すkubeconfigファイルです。この設定はオプショナルです。省略した場合、認可でスキップされないすべてのリクエストは拒否されます。 |
|
| --authorization-webhook-cache-authorized-ttl duration デフォルト値: 10s | |
webhook authorizerからの許可レスポンスをキャッシュする期間です。 |
|
| --authorization-webhook-cache-unauthorized-ttl duration デフォルト値: 10s | |
webhook authorizerからの拒否レスポンスをキャッシュする期間です。 |
|
| --bind-address string デフォルト値: 0.0.0.0 | |
--secure-portでリッスンする際に使用するIPアドレスです。関連するインターフェースはクラスター内および CLI/Webクライアントから到達可能である必要があります。空または未指定アドレス(0.0.0.0 や ::)の場合は、すべてのインターフェースとIPアドレスファミリーを使用します。 |
|
| --cert-dir string | |
TLS証明書を配置するディレクトリです。--tls-cert-fileと--tls-private-key-fileが指定されている場合、このフラグは無視されます。 |
|
| --client-ca-file string | |
設定されている場合、client-ca-fileに含まれるいずれかの認証局が署名したクライアント証明書を提示したリクエストは、CommonNameに対応するIDで認証されます。 |
|
| --config string | |
設定ファイルへのパスです。 |
|
| --contention-profiling デフォルト値: true | |
非推奨: プロファイリングが有効な場合にブロックプロファイリングを有効にします。--configで設定ファイルが指定されている場合、このパラメーターは無視されます。 |
|
| --disable-http2-serving | |
trueの場合、HTTP2によるサービスが無効化されます。[デフォルト値=false] |
|
| --disabled-metrics strings | |
このフラグは、異常な動作をするメトリクスに対する回避策として機能します。無効化するには完全修飾されたメトリクス名を指定する必要があります。注意: メトリクスの無効化は非表示メトリクスを表示する設定よりも優先されます。 |
|
| --emulated-version strings | |
各コンポーネントがエミュレートする機能(API、機能など)のバージョンを示します。 |
|
| --feature-gates colonSeparatedMultimapStringString | |
アルファ版/実験的機能に関するコンポーネントごとの機能ゲート設定を、カンマ区切りの「コンポーネント:キー=値」形式で指定します。 |
|
| -h, --help | |
kube-schedulerのヘルプ情報です。 |
|
| --http2-max-streams-per-connection int | |
HTTP/2接続においてサーバーがクライアントに許可する最大ストリーム数の上限です。値が0の場合、Go言語のデフォルト値が使用されます。 |
|
| --kube-api-burst int32 デフォルト値: 100 | |
非推奨: Kubernetes APIサーバーと通信する際のバースト値です。--configで設定ファイルが指定されている場合、このパラメーターは無視されます。 |
|
| --kube-api-content-type string デフォルト値: "application/vnd.kubernetes.protobuf" | |
非推奨: APIサーバーへ送信されるリクエストのコンテンツタイプです。--configで設定ファイルが指定されている場合、このパラメーターは無視されます。 |
|
| --kube-api-qps float デフォルト値: 50 | |
非推奨: Kubernetes APIサーバーと通信するときに使用するQPSです。--configで設定ファイルが指定されている場合このパラメーターは無視されます。 |
|
| --kubeconfig string | |
非推奨: 認証情報とマスターノードの位置情報を含むkubeconfigファイルのパスです。--configで設定ファイルが指定されている場合、このパラメーターは無視されます。 |
|
| --leader-elect デフォルト値: true | |
リーダー選出クライアントを起動し、メインループを実行する前にリーダーシップを取得します。高可用性のために、コンポーネントを複数実行する場合に有効にします。 |
|
| --leader-elect-lease-duration duration デフォルト値: 15s | |
リーダー候補がリーダーシップの更新を確認した後、未更新のリーダースロットのリーダーシップ取得を試みるまで待機する時間です。実質的には、他の候補に交代されるまで既存リーダーが停止できる時間の上限です。リーダー選出を有効にしている場合のみ適用されます。 |
|
| --leader-elect-renew-deadline duration デフォルト値: 10s | |
現在のリーダーがリーダーシップを停止する前に更新を試みる間隔です。この時間はリース期間よりも短くなければなりません。リーダー選出が有効な場合のみ適用されます。 |
|
| --leader-elect-resource-lock string デフォルト値: "leases" | |
リーダー選出時のロックに使用されるリソースオブジェクトの種類です。サポートされているオプションには、 'leases'があります。 |
|
| --leader-elect-resource-name string デフォルト値: "kube-scheduler" | |
リーダー選出時のロックに使用されるリソースオブジェクト名です。 |
|
| --leader-elect-resource-namespace string デフォルト値: "kube-system" | |
リーダー選出時のロックに使用されるリソースオブジェクトの名前空間です。 |
|
| --leader-elect-retry-period duration デフォルト値: 2s | |
リーダーシップの取得や更新を試みる際にクライアントが待機すべき時間です。リーダー選出が有効な場合のみ適用されます。 |
|
| --log-flush-frequency duration デフォルト値: 5s | |
ログをフラッシュする間隔の最大秒数です。 |
|
| --log-text-info-buffer-size quantity | |
[Alpha] 分割ストリームを伴うテキスト形式で、パフォーマンス向上のためinfoレベルのメッセージを一時的にバッファリングすることができます。デフォルト値の0バイトはバッファリングを無効にします。サイズはバイト数(512)、1000の倍数(1K)、1024の倍数(2Ki)、またはそのべき乗(3M、4G、5Mi、6Gi)で指定できます。使用するにはLoggingAlphaOptionsフィーチャーゲートを有効にしてください。 |
|
| --log-text-split-stream | |
[Alpha] テキスト形式でエラーをstderr、infoをstdoutにそれぞれ出力します。デフォルトでは単一ストリームをstdoutに書き込みます。使用するにはLoggingAlphaOptionsフィーチャーゲートを有効にしてください。 |
|
| --logging-format string デフォルト値: "text" | |
ログのフォーマットを設定します。現在使用できるフォーマットは "text" です。 |
|
| --master string | |
Kubernetes APIサーバーのアドレスです。kubeconfigに設定された値を上書きします。 |
|
| --permit-address-sharing | |
trueの場合、ポートをバインドする際にSO_REUSEADDRを使用します。0.0.0.0などのワイルドカードIPと特定IPを並行してバインドでき、カーネルがTIME_WAIT状態のソケットが解放することを待つ必要がなくなります。[デフォルト値=false] |
|
| --permit-port-sharing | |
trueの場合、ポートをバインドする際にSO_REUSEPORTを使用し、同じアドレスとポートに複数のインスタンスをバインドできるようにします。[デフォルト値=false] |
|
| --pod-max-in-unschedulable-pods-duration duration デフォルト値: 5m0s | |
非推奨: PodがunschedulablePodsに留まれる最大時間です。この値を超えて滞留したPodは unschedulablePodsからbackoffQまたはactiveQに移動します。このフラグは非推奨であり、将来のバージョンで削除されます。 |
|
| --profiling デフォルト値: true | |
非推奨: host:port/debug/pprof/経由のWebインターフェースでプロファイリングを有効にします。--configで設定ファイルが指定されている場合、このパラメーターは無視されます。 |
|
| --requestheader-allowed-names strings | |
--requestheader-username-headersで指定されたヘッダーにユーザー名を設定することを許可するクライアント証明書のCommon Nameリストです。空の場合、--requestheader-client-ca-fileで指定された認証局によって検証された任意のクライアント証明書が許可されます。 |
|
| --requestheader-client-ca-file string | |
--requestheader-username-headersで指定されたヘッダー内のユーザー名を信用する前に、受信リクエストのクライアント証明書を検証するためのルート証明書バンドルです。注意: 通常、受信リクエストに対する認証処理が既に完了していることを前提としないでください。 |
|
| --requestheader-extra-headers-prefix strings デフォルト値: "x-remote-extra-" | |
検査対象とするリクエストヘッダーのプレフィックスリストです。X-Remote-Extra-が推奨されます。 |
|
| --requestheader-group-headers strings デフォルト値: "x-remote-group" | |
グループを判別するために検査するリクエストヘッダーのリストです。X-Remote-Groupが推奨されます。 |
|
| --requestheader-uid-headers strings | |
UIDを確認するために検査するリクエストヘッダーのリストです。X-Remote-Uidが推奨されます。RemoteRequestHeaderUIDフィーチャーの有効化が必要です。 |
|
| --requestheader-username-headers strings デフォルト値: "x-remote-user" | |
ユーザー名を検証するために使用されるリクエストヘッダーのリストです。一般的にはX-Remote-Userが使用されます。 |
|
| --secure-port int デフォルト値: 10259 | |
認証および認可を伴うHTTPSを提供するポートです。0の場合、HTTPSを提供しません。 |
|
| --show-hidden-metrics-for-version string | |
非表示メトリクスを表示したい直前のバージョンを指定します。直前のマイナーバージョンのみが有効で、それ以外の値は許可されていません。形式は <major>.<minor> (例: 1.16)です。このフォーマットの目的は、次のリリースで追加のメトリクスが隠されている可能性を事前に把握できるようにすることです。これにより、その次のリリースで恒久的に削除された場合に驚くことを防ぎます。 |
|
| --tls-cert-file string | |
HTTPS用のデフォルトx509証明書を含むファイルです(存在する場合はサーバー証明書の後にCA証明書を連結)。HTTPS提供が有効で、--tls-cert-fileと--tls-private-key-fileが指定されていない場合は、公開アドレス用の自己署名証明書と秘密鍵が生成され、--cert-dirで指定したディレクトリに保存されます。 |
|
| --tls-cipher-suites strings | |
サーバーで使用する暗号スイートのカンマ区切りリストです。省略した場合、デフォルトのGo暗号スイートが適用されます。 |
|
| --tls-min-version string | |
サポートされている最小TLS バージョン。有効な値: VersionTLS10、VersionTLS11、VersionTLS12、VersionTLS13 |
|
| --tls-private-key-file string | |
--tls-cert-fileと対になるx509秘密鍵を含むファイルです。 |
|
| --tls-sni-cert-key string | |
x509証明書ファイルと秘密鍵ファイルのパスを指定します。オプションで、完全修飾ドメイン名で構成されるドメイン名パターンのリストをサフィックスとして指定でき、さらにプレフィックス付きのワイルドカードセグメントを含めることも可能です。ドメインパターンにはIPアドレスも指定可能ですが、APIサーバーがクライアントから要求されたIPアドレスを認識できる場合にのみ使用してください。ドメインパターンが指定されていない場合、証明書の名称が抽出されます。ワイルドカードマッチよりも非ワイルドカードマッチが優先され、明示的に指定されたドメインパターンは抽出された名称よりも優先されます。複数のキー/証明書ペアを使用する場合は、--tls-sni-cert-keyオプションを複数回指定してください。使用例: "example.crt,example.key"、"foo.crt,foo.key:*.foo.com,foo.com"。 |
|
| -v, --v int | |
ログレベルの詳細度を示す数値です。 |
|
| --version version[=true] | |
--versionや--version=rawを指定するとバージョン情報を表示して終了します。--version=vX.Y.Z... の形式で指定すると報告されるバージョンを設定します。 |
|
| --vmodule pattern=N,... | |
ファイルベースのログフィルタリングに使用する"pattern=N"設定のカンマ区切りリストです(テキストログ形式のみで使用可能)。 |
|
| --write-config-to string | |
このパラメーターが設定されている場合、設定値をこのファイルに書き出して終了します。 |
|
3 - Kubelet 認証/認可
概要
kubeletのHTTPSエンドポイントは、さまざまな感度のデータへのアクセスを提供するAPIを公開し、 ノードとコンテナ内のさまざまなレベルの権限でタスクを実行できるようにします。
このドキュメントでは、kubeletのHTTPSエンドポイントへのアクセスを認証および承認する方法について説明します。
Kubelet 認証
デフォルトでは、他の構成済み認証方法によって拒否されないkubeletのHTTPSエンドポイントへのリクエストは
匿名リクエストとして扱われ、ユーザー名はsystem:anonymous、
グループはsystem:unauthenticatedになります。
匿名アクセスを無効にし、認証されていないリクエストに対して401 Unauthorized応答を送信するには:
--anonymous-auth=falseフラグでkubeletを開始します。
kubeletのHTTPSエンドポイントに対するX509クライアント証明書認証を有効にするには:
--client-ca-fileフラグでkubeletを起動し、クライアント証明書を確認するためのCAバンドルを提供します。--kubelet-client-certificateおよび--kubelet-client-keyフラグを使用してapiserverを起動します。- 詳細については、apiserver認証ドキュメントを参照してください。
APIベアラートークン(サービスアカウントトークンを含む)を使用して、kubeletのHTTPSエンドポイントへの認証を行うには:
- APIサーバーで
authentication.k8s.io/v1beta1グループが有効になっていることを確認します。 --authentication-token-webhookおよび--kubeconfigフラグを使用してkubeletを開始します。- kubeletは、構成済みのAPIサーバーで
TokenReviewAPIを呼び出して、ベアラートークンからユーザー情報を判別します。
Kubelet 承認
認証に成功した要求(匿名要求を含む)はすべて許可されます。デフォルトの認可モードは、すべての要求を許可するAlwaysAllowです。
kubelet APIへのアクセスを細分化するのは、次のような多くの理由が考えられます:
- 匿名認証は有効になっていますが、匿名ユーザーがkubeletのAPIを呼び出す機能は制限する必要があります。
- ベアラートークン認証は有効になっていますが、kubeletのAPIを呼び出す任意のAPIユーザー(サービスアカウントなど)の機能を制限する必要があります。
- クライアント証明書の認証は有効になっていますが、構成されたCAによって署名されたクライアント証明書の一部のみがkubeletのAPIの使用を許可されている必要があります。
kubeletのAPIへのアクセスを細分化するには、APIサーバーに承認を委任します:
- APIサーバーで
authorization.k8s.io/v1beta1APIグループが有効になっていることを確認します。 --authorization-mode=Webhookと--kubeconfigフラグでkubeletを開始します。- kubeletは、構成されたAPIサーバーで
SubjectAccessReviewAPIを呼び出して、各リクエストが承認されているかどうかを判断します。
kubeletは、apiserverと同じリクエスト属性アプローチを使用してAPIリクエストを承認します。
動詞は、受けとったリクエストのHTTP動詞から決定されます:
| HTTP動詞 | 要求 動詞 |
|---|---|
| POST | create |
| GET, HEAD | get |
| PUT | update |
| PATCH | patch |
| DELETE | delete |
リソースとサブリソースは、受けとったリクエストのパスから決定されます:
| Kubelet API | リソース | サブリソース |
|---|---|---|
| /stats/* | nodes | stats |
| /metrics/* | nodes | metrics |
| /logs/* | nodes | log |
| /spec/* | nodes | spec |
| all others | nodes | proxy |
名前空間とAPIグループの属性は常に空の文字列であり、
リソース名は常にkubeletのNode APIオブジェクトの名前です。
このモードで実行する場合は、apiserverに渡される--kubelet-client-certificateフラグと--kubelet-client-key
フラグで識別されるユーザーが次の属性に対して許可されていることを確認します:
- verb=*, resource=nodes, subresource=proxy
- verb=*, resource=nodes, subresource=stats
- verb=*, resource=nodes, subresource=log
- verb=*, resource=nodes, subresource=spec
- verb=*, resource=nodes, subresource=metrics