第3章 専用ノードの指定


kubernetes クラスターは、多数の仮想マシンまたはノード (通常は 2 - 20 ノード) で実行します。Pod は、これらのノードのいずれかでスケジュールできます。新しい Pod を作成またはスケジュールするときは、topology_spread_constraints 設定を使用して、スケジュールまたは作成時に新しい Pod を基になるノードに分散する方法を設定します。

単一ノードで Pod をスケジュールしないでください。そのノードに障害が発生すると、それらの Pod が提供するサービスも失敗します。

自動化ジョブ Pod とは異なるノードで実行するようにコントロールプレーンノードをスケジュールします。コントロールプレーン Pod がジョブ Pod とノードを共有する場合は、コントロールプレーンがリソース不足になり、アプリケーション全体のパフォーマンスが低下する可能性があります。

3.1. 特定のノードへの Pod の割り当て

Operator が作成した Automation Controller Pod を、特定のサブセットのノードで実行するように制限できます。

  • node_selector および postgres_selector は、指定されたすべてのキー、値、またはそのペアに一致するノードでのみ実行されるように Automation Controller Pod を制限します。
  • tolerationspostgres_tolerations を使用すると、Automation Controller Pod を taint が一致するノードにスケジュールできます。詳細は、Kubernetes ドキュメントの taint と toleration 参照してください。

以下の表は、YAML の Automation Controller の仕様セクションで (または OpenShift UI フォームを使用して) 設定できる設定とフィールドを示しています。

名前説明デフォルト

postgres_image

プルするイメージのパス

postgres

postgres_image_version

プルするイメージのバージョン

13

node_selector

AutomationController Pod の nodeSelector

“”’’

topology_spread_constraints

AutomationController Pod の topologySpreadConstraints

“”’’

tolerations

AutomationController Pod の toleration

“”’’

annotations

AutomationController Pod のアノテーション

“”’’

postgres_selector

Postgres Pod の nodeSelector

“”’’

postgres_tolerations

Postgres Pod の toleration

“”’’

topology_spread_constraints は、ノードセレクターに一致するコンピュートノード全体にコントロールプレーン Pod を分散するのに役立ちます。たとえば、このオプションの maxSkew パラメーターを 100 に設定すると、使用可能なノード全体に最大限分散することを意味します。したがって、一致するコンピュートノードが 3 つと Pod が 3 つある場合、各コンピュートノードに 1 つの Pod が割り当てられます。このパラメーターは、コントロールプレーン Pod が互いにリソースをめぐって競合するのを防ぐのに役立ちます。

コントローラー Pod を特定のノードに制限するカスタム設定の例

Copy to Clipboard Toggle word wrap
spec:
  ...
  node_selector: |
    disktype: ssd
    kubernetes.io/arch: amd64
    kubernetes.io/os: linux
  topology_spread_constraints: |
    - maxSkew: 100
      topologyKey: "topology.kubernetes.io/zone"
      whenUnsatisfiable: "ScheduleAnyway"
      labelSelector:
        matchLabels:
          app.kubernetes.io/name: "<resourcename>"
  tolerations: |
    - key: "dedicated"
      operator: "Equal"
      value: "AutomationController"
      effect: "NoSchedule"
  postgres_selector: |
    disktype: ssd
    kubernetes.io/arch: amd64
    kubernetes.io/os: linux
  postgres_tolerations: |
    - key: "dedicated"
      operator: "Equal"
      value: "AutomationController"
      effect: "NoSchedule"

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.