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 Ausgehen 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
angemessene 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
streaming-connection-idle-timeout-Argument. Sofern der Cluster-Administrator den Wert nicht zur Knotenkonfiguration
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 Attach-Pod-Operationen.
Das streaming-connection-idle-timeout sollte nicht durch Setzen auf Null deaktiviert werden, kann jedoch verringert werden.
HinweisWenn der Wert zu niedrig eingestellt ist, können Benutzer, die diese Funktionen verwenden,
aufgrund des Zeitlimits eine Dienstunterbrechung erleben.
|
Die Kubelet-Konfiguration wird derzeit als Ignition-Konfiguration serialisiert, sodass
sie direkt bearbeitet werden kann. Es wurde jedoch auch ein neues
kubelet-config-controller zum Machine Config Controller hinzugefügt. Dies ermöglicht 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 zurückgegebenen Werte für jeden Knoten nicht 0 sind.
Wiederherstellung
Befolgen Sie die Anweisungen in der OpenShift-Dokumentation, um eine
kubeletconfig benutzerdefinierte Ressource zu erstellen und setzen Sie streamingConnectionIdleTimeout auf den gewünschten Wert. Setzen Sie den Wert nicht auf 0.
