Kubernetes コンポーネントのデフォルトのサービス設定
クラスターの作成時に IBM Cloud® Kubernetes Service によって設定される Kubernetes コンポーネント (kube-apiserver
、kubelet
、kube-scheduler
、kube-proxy
など) のデフォルト設定を以下に記載します。
kube-apiserver
IBM Cloud Kubernetes Service の kube-apiserver
マスター・コンポーネントのデフォルト設定を記載しています。
- デフォルト・ポッド容認
-
default-not-ready-toleration-seconds=600s
-
default-unreachable-toleration-seconds=600s
- 特権ポッド
-
allow-privileged=true
- 要求ヘッダーと応答ヘッダー
-
strict-transport-security-directives="max-age=31536000"
(Kubernetes バージョン 1.28 以降) -
requestheader-client-ca-file=/mnt/etc/kubernetes-cert/ca.pem
-
requestheader-username-headers=X-Remote-User
-
requestheader-group-headers=X-Remote-Group
-
requestheader-extra-headers-prefix=X-Remote-Extra-
- クライアント要求の数
-
max-requests-inflight=1600
-
max-mutating-requests-inflight=800
- アドミッション・コントローラー
-
ClusterTrustBundleAttest
(Kubernetes バージョン 1.27 以降) -
ValidatingAdmissionPolicy
(Kubernetes バージョン 1.27 以降) -
DefaultStorageClass
-
NamespaceLifecycle
-
LimitRanger
-
ServiceAccount
-
MutatingAdmissionWebhook
-
ValidatingAdmissionWebhook
-
ResourceQuota
-
DefaultTolerationSeconds
-
StorageObjectInUseProtection
-
PersistentVolumeClaimResize
-
Priority
-
PodSecurity
( Kubernetes バージョン 1.24ではオプション、バージョン 1.25 以降では有効) -
PodSecurityPolicy
(Kubernetes バージョン 1.24 以前) -
NodeRestriction
-
TaintNodesByCondition
-
CertificateApproval
-
CertificateSigning
CertificateSubjectRestriction
DefaultIngressClass
RuntimeClass
DenyServiceExternalIPs
- 機能ゲート
-
機能ゲートを参照
- TLS 暗号サポート
-
TLSバージョン 1.2:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
-
TLSバージョン 1.3:
TLS_AES_128_GCM_SHA256
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_256_GCM_SHA384
kube-controller-manager
IBM Cloud Kubernetes Service の kube-controller-manager
マスター・コンポーネントのデフォルト設定を記載しています。
- Node モニター猶予期間
-
node-monitor-grace-period=55s
(Kubernetes バージョン 1.28 以降) - 機能ゲート
-
機能ゲートを参照
- ポッドのガーベッジ・コレクションしきい値
-
terminated-pod-gc-threshold=12500
- TLS 暗号サポート
-
TLSバージョン 1.2:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
-
TLSバージョン 1.3:
TLS_AES_128_GCM_SHA256
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_256_GCM_SHA384
kubelet
IBM Cloud Kubernetes Service の kubelet
ワーカー・ノード・コンポーネントのデフォルト設定を記載しています。
imageMaximumGCAge: 336h
(Kubernetes バージョン 1.31 以降)
imageGCHighThresholdPercent: 75
(Kubernetes バージョン 1.26 以降)
imageGCLowThresholdPercent: 65
(Kubernetes バージョン 1.26 以降)
kubeAPIQPS: 50
(Kubernetes バージョン 1.27 以降)
kubeAPIBurst: 100
(Kubernetes バージョン 1.27 以降)
eventBurst: 100
(Kubernetes バージョン 1.27 以降)
eventRecordQPS: 50
(Kubernetes バージョン 1.27 以降)
serializeImagePulls: false
registryPullQPS: 5
registryBurst: 5
- cgroups
kubeletCgroups: /podruntime/kubelet
runtime-cgroups=/podruntime/runtime
- コンテナー・ログ
containerLogMaxSize: 100Mi
containerLogMaxFiles: 3
- コンテナー・ランタイムのエンドポイント
containerRuntimeEndpoint: "unix:///run/containerd/containerd.sock"
- CPU CFS 割り当て量
cpuCFSQuotaPeriod: 20ms
- 機能ゲート
- 機能ゲートを参照。
- ファイル・チェックの頻度
fileCheckFrequency: 5s
- 安全なノードのシャットダウン
shutdownGracePeriodCriticalPods: 15s
- Kubernetes およびシステムの予約
kubeReserved calculated based on worker node flavor
systemReserved calculated based on worker node flavor
ポッドの強制除去
evictionSoft:
memory.available: "100Mi"
nodefs.available: "10%"
imagefs.available: "10%"
nodefs.inodesFree: "10%"
imagefs.inodesFree: "10%"
evictionSoftGracePeriod:
memory.available: "10m"
nodefs.available: "10m"
imagefs.available: "10m"
nodefs.inodesFree: "10m"
imagefs.inodesFree: "10m"
evictionHard:
memory.available: "100Mi"
nodefs.available: "5%"
imagefs.available: "5%"
nodefs.inodesFree: "5%"
imagefs.inodesFree: "5%"
- ポッドのマニフェスト・パス
-
staticPodPath: /etc/kubernetes/manifests
- TLS 暗号サポート
-
TLSバージョン 1.2:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
-
TLSバージョン 1.3:
TLS_AES_128_GCM_SHA256
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_256_GCM_SHA384
kube-scheduler
IBM Cloud Kubernetes Service の kube-scheduler
ワーカー・ノード・コンポーネントのデフォルト設定を記載しています。
- TLS 暗号サポート
-
TLSバージョン 1.2:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
-
TLSバージョン 1.3:
TLS_AES_128_GCM_SHA256
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_256_GCM_SHA384
kube-proxy
IBM Cloud Kubernetes Service の kube-proxy
ワーカー・ノード・コンポーネントのデフォルト設定を記載しています。
- Iptable の設定
iptables-sync-period 120
(Kubernetes バージョン 1.29 以降)iptables-min-sync-period 2s
(Kubernetes バージョン 1.29 以降)iptables-sync-period 180s
(Kubernetes バージョン 1.28)iptables-min-sync-period 3s
(Kubernetes バージョン 1.28)iptables-sync-period 300s
(Kubernetes バージョン 1.27 以前)iptables-min-sync-period 5s
(Kubernetes バージョン 1.27 以前)iptables-localhost-nodeports false
(Kubernetes バージョン 1.26 以降)- プロキシー・モード
proxy-mode=iptables
- 機能ゲート
- 機能ゲートを参照
機能ゲート
IBM Cloud Kubernetes Service クラスターで、すべてのマスター・コンポーネントおよびワーカー・ノード・コンポーネントにデフォルトで適用される機能ゲートを記載しています。 これらの機能ゲートは、コミュニティーのディストリビューションにセットアップされているものとは異なります。 Kubernetesでは、ほとんどの新規ベータ機能はデフォルトで無効になっています。 アルファ機能は変更される可能性があり、すべてのバージョンで無効になっています。
このコマンドを使用して、 kubectl get --raw /metrics | grep kubernetes_feature_enabled
コマンドを使用して、機能ゲートが有効になっているか無効になっているかを判断することができます。
- 1.32
CustomCPUCFSQuotaPeriod=true
- 1.31
CustomCPUCFSQuotaPeriod=true
StrictCostEnforcementForVAP=true
StrictCostEnforcementForWebhooks=true
- 1.30
CustomCPUCFSQuotaPeriod=true
StrictCostEnforcementForVAP=true
StrictCostEnforcementForWebhooks=true
- 1.29
CustomCPUCFSQuotaPeriod=true
KMSv1=true
StructuredAuthenticationConfiguration=true
- 1.28
CustomCPUCFSQuotaPeriod=true
UnauthenticatedHTTP2DOSMitigation=true
- 1.27
CustomCPUCFSQuotaPeriod=true
UnauthenticatedHTTP2DOSMitigation=true
- 1.26
CustomCPUCFSQuotaPeriod=true
UnauthenticatedHTTP2DOSMitigation=true
- 1.25
CustomCPUCFSQuotaPeriod=true
UnauthenticatedHTTP2DOSMitigation=true
- 1.24
CustomCPUCFSQuotaPeriod=true
LegacyServiceAccountTokenNoAutoGeneration=false
PodSecurity=false
- 1.23
CustomCPUCFSQuotaPeriod=true
ServiceLBNodePortControl=false
PodSecurity=false
- 1.22
ServiceLBNodePortControl=false
CustomCPUCFSQuotaPeriod=true
IPv6DualStack=false
- 1.21
ServiceLoadBalancerClass=true
CustomCPUCFSQuotaPeriod=true
IPv6DualStack=false
- 1.20
AllowInsecureBackendProxy=false
CustomCPUCFSQuotaPeriod=true
- 1.19
RuntimeClass=false
CustomCPUCFSQuotaPeriod=true
AllowInsecureBackendProxy=false
SCTPSupport=false
ServiceAppProtocol=false
- 1.18
RuntimeClass=false
CustomCPUCFSQuotaPeriod=true
AllowInsecureBackendProxy=false