この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

SUSE Rancher Prime エージェント

Rancher管理のクラスター上に、2種類のエージェントリソースがデプロイされています:

Rancherサーバーがクラスターをプロビジョニングし、クラスターと通信する方法の概念的な概要については、アーキテクチャを参照してください。

cattle-cluster-agent

`cattle-cluster-agent`は、link:[Rancher Launched Kubernetes]クラスターのKubernetes APIに接続するために使用されます。`cattle-cluster-agent`は、Deploymentリソースを用いてデプロイされます。

rancher-system-agent

`rancher-system-agent`は、クラスターライフサイクル操作を実行する際に、RancherがプロビジョニングしたRKE2/K3s Kubernetesクラスター内のノードを管理するために使用されるデーモンです。クラスター操作の例には、Kubernetesバージョンのアップグレードやetcdスナップショットの作成/復元が含まれます。`rancher-system-agent`は、Rancherシステムにプランを適用するように設計されており、ローカルプランとリモートプランの両方をサポートできます。

要求

cattle-cluster-agent`ポッドは、デフォルトのCPUおよびメモリ要求値を定義していません。基準として、CPU要求を`50m、メモリ要求を`100Mi`に設定することをお勧めします。ただし、使用ケースを適切に評価し、ニーズに応じてクラスターに正しいリソースを割り当てることが重要です。

RKE2/K3sクラスターのUIを通じて要求値を構成するには:

  1. 作成または既存のクラスターを編集する際は、*クラスター構成*に移動します。

  2. *クラスターエージェント*のサブセクションを選択します。

  3. 必要に応じて、*CPU予約*および*メモリ予約*フィールドを使用して要求値を構成します。

YAMLを介して構成することを希望する場合は、次のスニペットをRKE2/K3s設定ファイルに追加してください:

spec:
  clusterAgentDeploymentCustomization:
    overrideResourceRequirements:
      requests:
        cpu: 50m
        memory: 100Mi

スケジューリングルール

`cattle-cluster-agent`は、固定された一連のトレランスを使用するか、コントロールプレーンノードに適用されたテイントに基づいて動的に追加されたトレランスを使用します。この構造により、 テイントに基づく追放が`cattle-cluster-agent`に対して適切に機能します。

クラスターにコントロールプレーンノードが存在する場合、デフォルトのトレランスはコントロールプレーンノードのテイントに一致するトレランスに置き換えられます。デフォルトのトレランスのセットは以下に説明されています。

コンポーネント nodeAffinity nodeSelectorTerms nodeSelector トレランス

cattle-cluster-agent

beta.kubernetes.io/os:NotIn:windows

none

*注意:*これらはデフォルトのトレランスであり、コントロールプレーンノードに適用されたテイントに一致するトレランスに置き換えられます。

effect:NoSchedule
key:node-role.kubernetes.io/controlplane
value:true

effect:NoSchedule
key:node-role.kubernetes.io/control-plane
operator:Exists

effect:NoSchedule
key:node-role.kubernetes.io/master
operator:Exists

cattle-cluster-agent デプロイメントは preferredDuringSchedulingIgnoredDuringExecution を使用した優先スケジューリングルールを持ち、controlplane ノードにスケジュールされることを優先します。クラスター内にコントロールプレーンノードが表示されない場合(これは通常、ホステッドKubernetesプロバイダーからのクラスターを使用しているときに発生します)、ノードにラベル cattle.io/cluster-agent=true を追加して cattle-cluster-agent ポッドをそのノードにスケジュールすることを優先できます。

スケジューリングルールに関する詳細情報を見つけるには、 Kubernetes: ポッドをノードに割り当てる を参照してください。

preferredDuringSchedulingIgnoredDuringExecution 設定は以下の表に示されています。

重要度 Expression

100

node-role.kubernetes.io/controlplane:In:"true"

100

node-role.kubernetes.io/control-plane:In:"true"

100

node-role.kubernetes.io/master:In:"true"

1

cattle.io/cluster-agent:In:"true"