ビュー:
プロファイルの適用範囲: レベル 1
ストリーミング接続のタイムアウトを無効にしないでください。
アイドルタイムアウトを設定することで、サービス拒否攻撃、非アクティブな接続、および一時的なポートの枯渇から保護されます。
注意
注意
デフォルトでは、--streaming-connection-idle-timeout は4時間に設定されていますが、これはお使いの環境には高すぎるかもしれません。適切に設定することで、そのようなストリーミング接続が正当な使用ケースを提供した後にタイムアウトすることを確実にします。
注意
注意
デフォルトでは、streamingConnectionIdleTimeout は4時間に設定されています。

影響

長時間接続が中断される可能性があります。

監査

OpenShift は、streaming-connection-idle-timeout 引数に対して Kubernetes のデフォルトである 4 時間を使用します。クラスタ管理者がノード構成に値を追加していない限り、デフォルトが使用されます。この値は、ポートフォワード、exec、またはアタッチポッド操作のように、kubelet を通過する HTTP ストリーミングセッションのタイムアウトです。streaming-connection-idle-timeout をゼロに設定して無効にするべきではありませんが、値を下げることはできます。
注意
注意
値が低すぎると、これらの機能を使用しているユーザはタイムアウトによるサービス中断を経験する可能性があります。
kubelet の構成は現在、イグニッション構成としてシリアル化されているため、直接編集できます。ただし、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 に設定しないでください。