檢視次數:
設定檔適用性:等級 1
請勿關閉串流連線的逾時設定。
設定閒置超時可確保您免受拒絕服務攻擊、非活動連接和耗盡臨時端口的影響。
注意
注意
默認情況下,--streaming-connection-idle-timeout 設置為 4 小時,這對於您的環境來說可能過高。適當設置此參數將確保在完成合法使用情況後,這類串流連接會超時。
注意
注意
預設情況下,streamingConnectionIdleTimeout 設定為 4 小時。

影響

長時間連線可能會中斷。

稽核

OpenShift 使用 Kubernetes 預設的 4 小時作為 streaming-connection-idle-timeout 參數。除非叢集管理員已將該值添加到節點配置中,否則將使用預設值。該值是通過 kubelet 進行的 HTTP 串流會話的超時時間,例如 port-forward、exec 或 attach pod 操作。不應將 streaming-connection-idle-timeout 設為零來禁用,但可以降低該值。
注意
注意
如果設定值過低,使用這些功能的用戶可能會因為超時而遇到服務中斷。
kubelet 配置目前被序列化為 ignition 配置,因此可以直接編輯。不過,Machine Config Controller 中也新增了一個 kubelet-config-controller。這允許您創建一個 KubeletConfig 自定義資源來編輯 kubelet 參數。
執行以下命令以查看每個節點的串流連接超時:
for node in $(oc get nodes -ojsonpath='{.items[*].metadata.name}'); do
oc get --raw /api/v1/nodes/$node/proxy/configz | jq
'.kubeletconfig.streamingConnectionIdleTimeout'
done
驗證每個節點返回的值不為 0。

補救措施

按照 OpenShift 文件 中的說明,創建 kubeletconfig 自定義資源,並將 streamingConnectionIdleTimeout 設置為所需的值。不要將值設置為 0。