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 -
CertificateSigningCertificateSubjectRestrictionDefaultIngressClassRuntimeClassDenyServiceExternalIPs
- Feature-Gates
-
Siehe Feature-Gates
- TLS-Verschlüsselungsunterstützung
-
TLS Version 1.2:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
-
TLS Version 1.3:
TLS_AES_128_GCM_SHA256TLS_CHACHA20_POLY1305_SHA256TLS_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_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
-
TLS Version 1.3:
TLS_AES_128_GCM_SHA256TLS_CHACHA20_POLY1305_SHA256TLS_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/kubeletruntime-cgroups=/podruntime/runtime- Containerprotokolle
containerLogMaxSize: 100MicontainerLogMaxFiles: 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 flavorsystemReserved 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_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
-
TLS Version 1.3:
TLS_AES_128_GCM_SHA256TLS_CHACHA20_POLY1305_SHA256TLS_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_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
-
TLS Version 1.3:
TLS_AES_128_GCM_SHA256TLS_CHACHA20_POLY1305_SHA256TLS_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=trueDisableNodeKubeProxyVersion=false- 1.34
CustomCPUCFSQuotaPeriod=trueDisableNodeKubeProxyVersion=false- 1.33
CustomCPUCFSQuotaPeriod=trueDisableNodeKubeProxyVersion=false- 1.32
CustomCPUCFSQuotaPeriod=true- 1.31
CustomCPUCFSQuotaPeriod=trueStrictCostEnforcementForVAP=trueStrictCostEnforcementForWebhooks=true- 1.30
CustomCPUCFSQuotaPeriod=trueStrictCostEnforcementForVAP=trueStrictCostEnforcementForWebhooks=true