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.
