Standardserviceeinstellungen für Kubernetes-Komponenten

Überprüfen Sie die Standardeinstellungen für Kubernetes-Komponenten wie kube-apiserver, kubelet, kube-scheduler oder kube-proxy, die von IBM Cloud® Kubernetes Service festgelegt werden, wenn Sie Ihren Cluster erstellen.

kube-apiserver

Überprüfen Sie die Standardeinstellungen für die Masterkomponente kube-apiserver in IBM Cloud Kubernetes Service.

Standardpodtolerierungen

default-not-ready-toleration-seconds=600s

default-unreachable-toleration-seconds=600s

Privilegierte Pods

allow-privileged=true

Anforderungs-und Antwortheader

strict-transport-security-directives="max-age=31536000" (Kubernetes Version 1.28 und höher)

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-

Anzahl der Clientanforderungen

max-requests-inflight=1600

max-mutating-requests-inflight=800

Zugangscontroller

ClusterTrustBundleAttest (Kubernetes Version 1.27 und höher)

ValidatingAdmissionPolicy (Kubernetes Version 1.27 und höher)

DefaultStorageClass

NamespaceLifecycle

LimitRanger

ServiceAccount

MutatingAdmissionWebhook

ValidatingAdmissionWebhook

ResourceQuota

DefaultTolerationSeconds

StorageObjectInUseProtection

PersistentVolumeClaimResize

Priority

PodSecurity (optional in Kubernetes Version 1.24, aktiviert in Version 1.25 und höher)

PodSecurityPolicy (Kubernetes Version 1.24 und früher)

NodeRestriction

TaintNodesByCondition

CertificateApproval

CertificateSigning

  • CertificateSubjectRestriction
  • DefaultIngressClass
  • RuntimeClass
  • DenyServiceExternalIPs
Feature-Gates

Siehe Feature-Gates

TLS-Verschlüsselungsunterstützung

TLS Version 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 Version 1.3:

  • TLS_AES_128_GCM_SHA256
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_256_GCM_SHA384

kube-controller-manager

Überprüfen Sie die Standardeinstellungen für die Masterkomponente kube-controller-manager in IBM Cloud Kubernetes Service.

Karenzzeit für Node

node-monitor-grace-period=55s (Kubernetes Version 1.28 und höher)

Feature-Gates

Siehe Feature-Gates

Schwellenwert für Pod-Garbage-Collection

terminated-pod-gc-threshold=12500

TLS-Verschlüsselungsunterstützung

TLS Version 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 Version 1.3:

  • TLS_AES_128_GCM_SHA256
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_256_GCM_SHA384

kubelet

Überprüfen Sie die Standardeinstellungen für die Workerknotenkomponente kubelet in IBM Cloud Kubernetes Service.

imageMaximumGCAge: 336h (Kubernetes Version 1.31 und später)

imageGCHighThresholdPercent: 75 (Kubernetes Version 1.26 und höher)

imageGCLowThresholdPercent: 65 (Kubernetes Version 1.26 und höher)

kubeAPIQPS: 50 (Kubernetes Version 1.27 und höher)

kubeAPIBurst: 100 (Kubernetes Version 1.27 und höher)

eventBurst: 100 (Kubernetes Version 1.27 und höher)

eventRecordQPS: 50 (Kubernetes Version 1.27 und höher)

serializeImagePulls: false

registryPullQPS: 5

registryBurst: 5

cgroups
kubeletCgroups: /podruntime/kubelet
runtime-cgroups=/podruntime/runtime
Containerprotokolle
containerLogMaxSize: 100Mi
containerLogMaxFiles: 3
Endpunkt für Containerlaufzeit
containerRuntimeEndpoint: "unix:///run/containerd/containerd.sock"
CPU-CFS-Kontingent
cpuCFSQuotaPeriod: 20ms
Feature-Gates
Siehe Feature-Gates.
Häufigkeit der Dateiprüfung
fileCheckFrequency: 5s
Ordnungsgemäße Beendigung des Knotens
shutdownGracePeriodCriticalPods: 15s
Kubernetes- und Systemreserven
kubeReserved calculated based on worker node flavor
systemReserved calculated based on worker node flavor

Podentfernung

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%"
Pfad zum Podmanifest

staticPodPath: /etc/kubernetes/manifests

TLS-Verschlüsselungsunterstützung

TLS Version 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 Version 1.3:

  • TLS_AES_128_GCM_SHA256
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_256_GCM_SHA384

kube-scheduler

Überprüfen Sie die Standardeinstellungen für die Workerknotenkomponente kube-scheduler in IBM Cloud Kubernetes Service.

TLS-Verschlüsselungsunterstützung

TLS Version 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 Version 1.3:

  • TLS_AES_128_GCM_SHA256
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_256_GCM_SHA384

kube-proxy

Überprüfen Sie die Standardeinstellungen für die Workerknotenkomponente kube-proxy in IBM Cloud Kubernetes Service.

Einstellungen für Iptable
iptables-sync-period 120 (Kubernetes Version 1.29 und höher)
iptables-min-sync-period 2s (Kubernetes Version 1.29 und höher)
iptables-sync-period 180s (Kubernetes Version 1.28)
iptables-min-sync-period 3s (Kubernetes Version 1.28)
iptables-sync-period 300s (Kubernetes Version 1.27 und früher)
iptables-min-sync-period 5s (Kubernetes Version 1.27 und früher)
iptables-localhost-nodeports false (Kubernetes Version 1.26 und höher)
Proxy-Modus
proxy-mode=iptables
Feature-Gates
Siehe Feature-Gates

Feature-Gates

Überprüfen Sie die Feature-Gates, die in IBM Cloud Kubernetes Service-Clustern standardmäßig auf alle Masterkomponenten und Workerknotenkomponenten angewendet werden. Diese Feature-Gates unterscheiden sich von denen, die in Community-Distributionen eingerichtet werden. In sind Kubernetes die meisten neuen Beta-Funktionen standardmäßig deaktiviert. Alpha-Funktionen, die sich noch ändern können, sind in allen Versionen deaktiviert.

Sie können den kubectl get --raw /metrics | grep kubernetes_feature_enabled befehl verwenden, um festzustellen, ob ein Feature-Gate aktiviert oder deaktiviert ist.

1.36
UnauthenticatedHTTP2DOSMitigation=true
1.35
UnauthenticatedHTTP2DOSMitigation=true
DisableNodeKubeProxyVersion=false
1.34
CustomCPUCFSQuotaPeriod=true
DisableNodeKubeProxyVersion=false
1.33
CustomCPUCFSQuotaPeriod=true
DisableNodeKubeProxyVersion=false
1.32
CustomCPUCFSQuotaPeriod=true
1.31
CustomCPUCFSQuotaPeriod=true
StrictCostEnforcementForVAP=true
StrictCostEnforcementForWebhooks=true
1.30
CustomCPUCFSQuotaPeriod=true
StrictCostEnforcementForVAP=true
StrictCostEnforcementForWebhooks=true