3.7.3. 容認を使用したログコレクター Pod 配置の制御
ロギングコレクター Pod が実行するノードを確認し、Pod の容認を使用して他のワークロードがそれらのノードを使用しないようにすることができます。
容認を ClusterLogging カスタムリソース (CR) でロギングコレクター Pod に適用し、テイントをノード仕様でノードに適用します。テイントおよび容認を使用すると、Pod がメモリーや CPU などの問題によってエビクトされないようにすることができます。
デフォルトで、ロギングコレクター Pod には以下の容認があります。
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoExecute"
前提条件
- クラスターロギングおよび Elasticsearch がインストールされている。
手順
以下のコマンドを使用して、ロギングコレクター Pod がロギングコレクター Pod をスケジュールする必要のあるノードにテイントを追加します。
$ oc adm taint nodes <node-name> <key>=<value>:<effect>以下に例を示します。
$ oc adm taint nodes node1 collector=node:NoExecuteこの例では、テイントをキー
collector、値node、およびテイント effectNoExecuteのあるnode1に配置します。NoExecuteテイント effect を使用する必要があります。NoExecuteは、テイントに一致する Pod のみをスケジュールし、一致しない既存の Pod を削除します。ClusterLoggingカスタムリソース (CR) のcollectionスタンザを編集して、ロギングコレクター Pod の容認を設定します。collection: logs: type: "fluentd" fluentd: tolerations: - key: "collector"1 operator: "Exists"2 effect: "NoExecute"3 tolerationSeconds: 60004
この容認は、oc adm taint コマンドで作成されたテイントと一致します。この容認のある Pod は、node1 にスケジュールできます。