Profilanwendbarkeit: Stufe 1
Deaktivieren Sie keine Timeouts bei Streaming-Verbindungen.
Das Festlegen von Leerlauf-Timeouts stellt sicher, dass Sie vor Denial-of-Service-Angriffen,
inaktiven Verbindungen und dem Erschöpfen von temporären Ports geschützt sind.
![]() |
HinweisStandardmäßig ist
--streaming-connection-idle-timeout auf 4 Stunden eingestellt, was für Ihre Umgebung möglicherweise zu hoch ist. Eine
entsprechende Anpassung dieser Einstellung würde zusätzlich sicherstellen, dass solche
Streaming-Verbindungen nach dem Bedienen legitimer Anwendungsfälle beendet werden. |
![]() |
HinweisStandardmäßig ist
streamingConnectionIdleTimeout auf 4 Stunden eingestellt. |
Auswirkung
Langfristige Verbindungen könnten unterbrochen werden.
Prüfung
OpenShift verwendet den Kubernetes-Standard von 4 Stunden für das Argument
streaming-connection-idle-timeout
. Sofern der Cluster-Administrator den Wert nicht zur Knoten-Konfiguration hinzugefügt
hat, wird der Standardwert verwendet. Der Wert ist ein Timeout für HTTP-Streaming-Sitzungen,
die über einen Kubelet laufen, wie die Port-Weiterleitung, Exec- oder Anfüge-Pod-Operationen.
Das streaming-connection-idle-timeout
sollte nicht deaktiviert werden, indem es auf Null gesetzt wird, aber es kann verringert
werden.![]() |
HinweisWenn der Wert zu niedrig eingestellt ist, können Benutzer, die diese Funktionen verwenden,
aufgrund des Timeouts eine Dienstunterbrechung erleben.
|
Die Kubelet-Konfiguration wird derzeit als Ignition-Konfiguration serialisiert, sodass
sie direkt bearbeitet werden kann. Es wurde jedoch auch ein neuer
kubelet-config-controller
zum Machine Config Controller hinzugefügt. Dies ermöglicht es Ihnen, eine KubeletConfig
benutzerdefinierte Ressource zu erstellen, um die Kubelet-Parameter zu bearbeiten.Führen Sie den folgenden Befehl aus, um das Streaming-Verbindungstimeout für jeden
Knoten anzuzeigen:
for node in $(oc get nodes -ojsonpath='{.items[*].metadata.name}'); do oc get --raw /api/v1/nodes/$node/proxy/configz | jq '.kubeletconfig.streamingConnectionIdleTimeout' done
Überprüfen Sie, ob die für jeden Knoten zurückgegebenen Werte nicht 0 sind.
Wiederherstellung
Befolgen Sie die Anweisungen in der OpenShift-Dokumentation, um eine benutzerdefinierte Ressource
kubeletconfig
zu erstellen und den streamingConnectionIdleTimeout
auf den gewünschten Wert festzulegen. Setzen Sie den Wert nicht auf 0.