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

SUSE® Rancher Prime: RKE2 クラスター設定リファレンス

このセクションでは、Rancherで新しいまたは既存のRKE2 Kubernetesクラスターに利用可能な設定オプションについて説明します。

概要

Kubernetesオプションは、次の2つの方法のいずれかで設定できます:

  • Rancher UI:Rancher UIを使用して、Kubernetesクラスターを設定する際に一般的にカスタマイズされるオプションを選択します。

  • クラスター設定ファイル:Rancher UIを使用してクラスターのKubernetesオプションを選択する代わりに、上級ユーザーはRKE2設定ファイルを作成できます。設定ファイルを使用すると、RKE2インストールに利用可能な多くの追加の オプションを設定できます。

Rancher UIでのクラスターの編集

Rancher UIでは、クラスターを編集するための2つの方法を提供しています:

  1. フォームを使用して。

  2. YAMLを使用して。

フォームを使用したクラスターの編集

このフォームでは、クラスターに最も頻繁に必要なオプションをカバーしています。

クラスターを編集するには、

  1. *☰ > クラスター管理*をクリックします。

  2. 構成したいクラスターに移動し、*⋮ > 設定を編集*をクリックします。

YAMLでのクラスターの編集

RKE2クラスターのYAMLでの設定可能オプションの完全なリファレンスについては、 RKE2ドキュメントを参照してください。

YAMLでクラスターを編集するには:

  1. *☰ > クラスター管理*をクリックします。

  2. 構成したいクラスターに移動し、*⋮ > YAMLとして編集*をクリックします。

  3. `rkeConfig`ディレクティブの下にRKEオプションを編集します。

Rancher UIの設定オプション

マシンプールの設定

このサブセクションでは、一般的なマシンプールの設定について説明します。特定のインフラストラクチャプロバイダーの設定については、以下を参照してください:

プール名

マシンプールの名前です。

マシン数

プール内のマシンの数です。

役割

ノードにetcd、コントロールプレーン、ワーカーの役割を割り当てるオプション。

詳細

自動置換

ノードが連絡不能状態になってから自動的に削除・置き換えられるまでの時間。

削除前の排出

ノードが削除される前に、すべてのポッドを退避させてドレインする機能を有効にします。

Kubernetesノードラベル

ノードに ラベルを追加して、整理やオブジェクト選択を助けます。

ラベルの構文要件の詳細については、 Kubernetesのドキュメントを参照してください。

Taints

ノードに テイントを追加すると、ポッドが一致するトレランスを持たない限り、ノードにスケジュールされたり実行されたりするのを防ぎます。

クラスタ設定

基本

Kubernetesバージョン

クラスターのノードにインストールされているKubernetesのバージョン。

Kubernetesのアップグレードまたはロールバックの詳細については、Kubernetesのアップグレードを参照してください。

コンテナネットワークプロバイダー

クラスターが使用する ネットワークプロバイダー

クラスターを起動した後は、ネットワークプロバイダーを変更することはできません。したがって、Kubernetesはネットワークプロバイダーの切り替えを許可しないため、使用するネットワークプロバイダーを慎重に選択してください。ネットワークプロバイダーでクラスターが作成されると、ネットワークプロバイダーを変更するには、クラスター全体とそのすべてのアプリケーションを解体する必要があります。

初期設定で、Rancherは以下のネットワークプロバイダーと互換性があります:

さまざまなネットワーキングプロバイダーとそれらの設定方法についての詳細は、 RKE2ドキュメントをご覧ください。

`cilium`または`multus,cilium`をコンテナネットワークインタフェースプロバイダーとして使用する場合は、*IPv6サポートを有効にする*オプションも有効にしてください。

クラウドプロバイダ

Kubernetesクラウドプロバイダーを設定できます。Kubernetesで動的にプロビジョニングされたボリュームとストレージを使用したい場合、通常は特定のクラウドプロバイダーを選択する必要があります。例えば、Amazon EBSを使用したい場合は、`aws`クラウドプロバイダーを選択する必要があります。

使用したいクラウドプロバイダーがオプションとしてリストされていない場合は、設定ファイルオプションを使用してクラウドプロバイダーを設定する必要があります。クラウドプロバイダーの設定ハウツーについては、 このドキュメントを参照してください。

ポッドセキュリティアドミッション設定テンプレート
ワーカーコンプライアンスプロファイル

システム設定を検証するためにコンプライアンスベンチマークを選択してください。

プロジェクトネットワークの分離

ネットワークプロバイダーがプロジェクトネットワークの分離を許可している場合、プロジェクト間の通信を有効または無効にするかを選択できます。

プロジェクトネットワークの隔離は、Kubernetesネットワークポリシーの施行をサポートする任意のRKE2ネットワークプラグインを使用している場合に利用可能です。

CoreDNS

デフォルトでは、 CoreDNSがデフォルトのDNSプロバイダーとしてインストールされます。CoreDNSがインストールされていない場合は、別のDNSプロバイダーを自分でインストールする必要があります。追加のCoreDNS設定については、 RKE2ドキュメントを参照してください。

Ingress
  • Ingress-NGINX

  • Traefik

*Ingress-NGINX EOL:*コミュニティ`ingress-nginx`コントローラーは2026年3月にサービス終了(EOL)となり、RKE2 v1.36で廃止されます。SUSE Rancher Primeが提供するRKE2バージョンは、RKE2 v1.32、v1.33、v1.34、v1.35およびv1.36のライフサイクル全体にわたって`ingress-nginx`サポートとCVE修正(8+)を受け続けます。TraefikはSUSE Rancher RKE2環境の推奨移行パスであり、できるだけ早く移行することが推奨されます。詳細については、 Rancherが提供するRKE2クラスターでのIngress NGINXからTraefikへの移行を参照してください。

これは、クラスター内でIngress-NGINXを有効にするためのレガシーなIngressオプションです。追加の設定オプションについては、 RKE2ドキュメントを参照してください。

高可用性設定でアプリケーションを公開したい場合、ネイティブの負荷分散機能を持たないクラウドプロバイダーでノードをホスティングしている場合は、このオプションを有効にしてクラスタ内でTraefik Ingressを使用してください。追加の設定オプションについては、 RKE2ドキュメントを参照してください。

メトリクスサーバー

メトリクスサーバーを有効または無効にするオプション。

RKE2を使用してクラスタを起動できる各クラウドプロバイダーは、クラスタノードのメトリクスを収集し、監視することができます。このオプションを有効にすると、クラウドプロバイダーのポータルからノードのメトリクスを表示できます。

アドオン設定

クラスタの起動時に適用する アドオンとして管理される追加のKubernetesマニフェスト。詳細については、 RKE2のドキュメントを参照してください。

エージェント環境変数

Rancherエージェントのための環境変数を設定するオプション。環境変数はキーと値のペアを使用して設定できます。詳細については、 RKE2のドキュメントを参照してください。

etcd

自動スナップショット

定期的なetcdスナップショットを有効または無効にするオプション。有効にした場合、ユーザーはスナップショットの頻度を設定するオプションがあります。詳細については、 RKE2ドキュメントを参照してください。RKE2では、スナップショットは各etcdノードに保存されることに注意してください。これは、RKE1がクラスタごとに1つのスナップショットのみを保存するのとは異なります。

Metrics

etcdメトリクスを公開するか、クラスタ内のみにするかを選択するオプション。

ネットワーキング

クラスターCIDR

ポッドIP用に使用するIPv4および/またはIPv6ネットワークCIDR(デフォルト:10.42.0.0/16)。

値の例:

  • IPv4のみ:10.42.0.0/16

  • IPv6のみ:2001:cafe:42::/56

  • デュアルスタック:10.42.0.0/16,2001:cafe:42::/56

デュアルスタックまたはIPv6専用ネットワークに関連する追加の要件と制限については、以下のリソースを参照してください:

  • クラスターを最初に作成する際にサービスCIDRを設定する必要があります。クラスターが起動した後に既存のクラスターでサービスCIDRを有効にすることはできません。

  • `cilium`または`multus,cilium`をコンテナネットワークインタフェースプロバイダーとして使用する場合は、IPv6サポートを有効にするオプションも有効にしてください。

サービスCIDR

サービスIP用に使用するIPv4/IPv6ネットワークCIDR(デフォルト:10.43.0.0/16)。

値の例:

  • IPv4のみ:10.43.0.0/16

  • IPv6のみ:2001:cafe:43::/112

  • デュアルスタック:10.43.0.0/16,2001:cafe:43::/112

デュアルスタックまたはIPv6専用ネットワークに関連する追加の要件と制限については、以下のリソースを参照してください:

  • クラスターを最初に作成する際にサービスCIDRを設定する必要があります。クラスターが起動した後に既存のクラスターでサービスCIDRを有効にすることはできません。

  • `cilium`または`multus,cilium`をコンテナネットワークインタフェースプロバイダーとして使用する場合は、IPv6サポートを有効にするオプションも有効にしてください。

クラスターDNS

corednsサービスのIPv4クラスターIP。サービスCIDR範囲内である必要があります(デフォルト:10.43.0.10)。

クラスター ドメイン

クラスターのドメインを選択してください。デフォルトは`cluster.local`です。

NodePort Service Port Range

NodePortサービスに使用できるポートの範囲を変更するオプション。デフォルトは`30000-32767`です。

ホスト名を切り捨てる

ホスト名を15文字以下に切り捨てるオプション。このフィールドはクラスターの初期作成時にのみ設定できます。クラスター作成後に15文字の制限を有効または無効にすることはできません。

この設定は、マシンプロビジョニングされたクラスターにのみ影響します。カスタムクラスターは、Rancherの外部でノード作成プロセス中にホスト名を設定するため、このフィールドはカスタムクラスターのホスト名の長さを制限しません。

クラスター内のホスト名を切り捨てることで、Windowsベースのシステムとの互換性が向上します。Kubernetesはホスト名を最大63文字まで許可していますが、NetBIOSを使用するシステムはホスト名を15文字以下に制限します。

TLS代替名

サーバーのTLS証明書にSubject Alternative Namesとしてホスト名またはIPv4/IPv6アドレスを追加します。

スタックの優先設定

クラスターのネットワーキングスタックを選択します。このオプションは次のことに影響します:

  • Calico、etcd、kube-apiserver、kube-scheduler、kube-controller-manager、kubeletなどのコンポーネントのヘルスおよびレディネスプローブに使用されるアドレス。

  • 認可されたクラスターエンドポイントの`authentication-token-webhook-config-file`内のサーバーURL。

  • スナップショット復元中のetcdの`advertise-client-urls`設定。

オプションは`ipv4`、ipv6、`dual`です:

  • `ipv4`に設定すると、クラスターは`127.0.0.1`を使用します。

  • ipv6`に設定すると、クラスターは[::1]`を使用します。

  • `dual`に設定すると、クラスターは`localhost`を使用します。

スタックの優先設定は、クラスターのネットワーキング構成と一致する必要があります:

  • IPv4専用クラスターの場合は`ipv4`に設定します。

  • IPv6専用クラスターの場合は`ipv6`に設定します。

  • デュアルスタッククラスターの場合は`dual`に設定します。

ループバックアドレスの設定が正しいことを確認することは、クラスターのプロビジョニングを成功させるために重要です。 詳細については、ノード要件ページを参照してください。

認可されたクラスターエンドポイント

認可されたクラスターエンドポイントは、Rancherを介さずにKubernetes APIサーバーに直接アクセスするために使用できます。

これは、Rancherが起動したKubernetesクラスタではデフォルトで有効になっており、`controlplane`ロールを持つノードのIPとデフォルトのKubernetes自己署名証明書を使用します。

認可されたクラスターエンドポイントの動作とその使用理由の詳細については、アーキテクチャセクションを参照してください。

認可されたクラスターエンドポイントにはロードバランサーの使用を推奨します。詳細については、推奨アーキテクチャセクションを参照してください。

レジストリ

Rancherのイメージをプルするためのイメージリポジトリを選択してください。詳細および設定オプションについては、 RKE2ドキュメントを参照してください。

アップグレード戦略

コントロールプレーンの同時実行

同時にアップグレードできるノードの数を選択してください。固定数または割合で指定できます。

ワーカーの同時実行

同時にアップグレードできるノードの数を選択してください。固定数または割合で指定できます。

ノードを排出する(コントロールプレーン)

アップグレード前にノードからすべてのポッドを削除するオプション。

ノードを排出する(ワーカーノード)

アップグレード前にノードからすべてのポッドを削除するオプション。

詳細

異なるノードのためのkubeletオプションを設定するオプション。利用可能なオプションについては、 Kubernetesドキュメントを参照してください。

クラスター構成ファイルリファレンス

YAMLでクラスタを編集すると、RKE2インストールで利用可能な オプションを設定でき、Rancher UIの設定オプションに既にリストされているものや、Rancher固有のパラメータを設定できます。

例:クラスタ構成ファイルのスニペット yaml apiVersion: provisioning.cattle.io/v1 kind:クラスタ仕様:cloudCredentialSecretName: cattle-global-data:cc-s879v kubernetesVersion: v1.25.12+rke2r1 localClusterAuthEndpoint: {} rkeConfig: additionalManifest: "" chartValues: rke2-calico: {} etcd: snapshotRetention:5 snapshotScheduleCron:0 */5 * * * machineGlobalConfig: cni: calico disable-kube-proxy: false etcd-expose-metrics: false profile: null kube-apiserver-arg: - audit-policy-file=/etc/rancher/rke2/user-audit-policy.yaml - audit-log-path=/etc/rancher/rke2/user-audit.logs machinePools: - controlPlaneRole: true etcdRole: true machineConfigRef: kind:Amazonec2Config name: nc-test-pool1-pwl5h name: pool1 quantity:1 unhealthyNodeTimeout:0s workerRole: true machineSelectorConfig: - config: protect-kernel-defaults: false machineSelectorFiles: - fileSources: - configMap: name: '' secret: name: audit-policy items: - key: audit-policy path: /etc/rancher/rke2/user-audit-policy.yaml machineLabelSelector: matchLabels: rke.cattle.io/control-plane-role: 'true' registries: {} upgradeStrategy: controlPlaneConcurrency:"1" controlPlaneDrainOptions: deleteEmptyDirData: true enabled: true gracePeriod: -1 ignoreDaemonSets: true timeout:120 workerConcurrency:"1" workerDrainOptions: deleteEmptyDirData: true enabled: true gracePeriod: -1 ignoreDaemonSets: true timeout:120

additionalManifest

制御プレーンノードに配信する追加のマニフェストを指定します。

値は文字列で、ターゲットノードのパス`/var/lib/rancher/rke2/server/manifests/rancher/addons.yaml`に配置されます。

例:

additionalManifest: |-
  apiVersion: v1
  kind: Namespace
  metadata:
    name: name-xxxx

システムチャートをカスタマイズしたい場合は、以下に説明する`chartValues`フィールドを使用する必要があります。

`additionalManifest`を介してシステムチャートをカスタマイズするためにHelmChartConfigを使用するなどの代替手段は、同じチャートに対して複数のHelmChartConfigが存在するため、予期しない動作を引き起こす可能性があります。

chartValues

RKE2によってインストールされたシステムチャートの値を指定します。

RKE2がパッケージ化されたコンポーネントを管理する方法についての詳細は、 RKE2のドキュメントを参照してください。

例:

chartValues:
    chart-name:
        key: value

machineGlobalConfig

RKE2の設定を指定します。ここで行った設定変更は、すべてのノードに適用されます。RKE2の スタンドアロンバージョンで利用可能な設定オプションは、ここに適用できます。

例:

machineGlobalConfig:
    etcd-arg:
        - key1=value1
        - key2=value2

Rancherを介してプロビジョニングする際に変更できない設定オプションがあります:

  • data-dir(状態を保持するフォルダー)、デフォルトは`/var/lib/rancher/rke2`です。

事前にノードにファイルを配置しやすくするために、Rancherは設定に以下の値が含まれることを期待しており、RKE2は値をファイルパスとして入力することを期待しています:

  • audit-policy-file

  • cloud-provider-config

  • プライベートレジストリ

Rancherは、ターゲットノードのパス`/var/lib/rancher/rke2/etc/config-files/<option>`にファイルを配信し、RKE2サーバーに適切なオプションを設定します。

例:

apiVersion: provisioning.cattle.io/v1
kind: Cluster
spec:
  rkeConfig:
    machineGlobalConfig:
      audit-policy-file:
        apiVersion: audit.k8s.io/v1
        kind: Policy
        rules:
        - level: RequestResponse
          resources:
          - group: ""
            resources:
            - pods

machineSelectorConfig

machineSelectorConfig`は`machineGlobalConfigと同じですが、設定にラベルセレクターを指定できます。設定は、提供されたラベルセレクターに一致するノードにのみ適用されます。

複数の`config`エントリが許可されており、それぞれが独自の`machineLabelSelector`を指定します。ユーザーは`matchExpressions`、matchLabels、両方、またはどちらも指定できます。このフィールドの`machineLabelSelector`セクションを省略すると、設定を`machineGlobalConfig`セクションに置くのと同じ効果があります。

例:

machineSelectorConfig
  - config:
      config-key: config-value
    machineLabelSelector:
      matchExpressions:
        - key: example-key
          operator: string # Valid operators are In, NotIn, Exists and DoesNotExist.
          values:
            - example-value1
            - example-value2
      matchLabels:
        key1: value1
        key2: value2

machineSelectorFiles

この機能はRancher v2.7.2以降で利用可能です。

ノードにファイルを配信し、RKE2サーバーまたはエージェントプロセスを開始する前に、ファイルが配置されるようにします。 ファイルの内容は、シークレットまたはコンフィグマップのいずれかから取得されます。ターゲットノードは`machineLabelSelector`によってフィルタリングされます。

例:

machineSelectorFiles:
  - fileSources:
      - secret:
          items:
            - key: example-key
              path: path-to-put-the-file-on-nodes
              permissions: 644 (optional)
              hash: base64-encoded-hash-of-the-content (optional)
          name: example-secret-name
    machineLabelSelector:
      matchExpressions:
        - key: example-key
          operator: string # Valid operators are In, NotIn, Exists and DoesNotExist.
          values:
            - example-value1
            - example-value2
      matchLabels:
        key1: value1
        key2: value2
  - fileSources:
      - configMap:
          items:
            - key: example-key
              path: path-to-put-the-file-on-nodes
              permissions: 644 (optional)
              hash: base64-encoded-hash-of-the-content (optional)
          name: example-configmap-name
    machineLabelSelector:
      matchExpressions:
        - key: example-key
          operator: string # Valid operators are In, NotIn, Exists and DoesNotExist.
          values:
            - example-value1
            - example-value2
      matchLabels:
        key1: value1
        key2: value2

シークレットまたはコンフィグマップは、以下の要件を満たす必要があります:

  1. それは、Clusterオブジェクトが存在する`fleet-default`ネームスペースにある必要があります。

  2. ターゲットクラスターが使用できるようにするアノテーション`rke.cattle.io/object-authorized-for-clusters: cluster-name1,cluster-name2`を必ず備えていなければなりません。

Rancher Dashboardは、シークレットまたはコンフィグマップを作成するための使いやすいフォームを提供します。

例:

apiVersion: v1
data:
  audit-policy: >-
    IyBMb2cgYWxsIHJlcXVlc3RzIGF0IHRoZSBNZXRhZGF0YSBsZXZlbC4KYXBpVmVyc2lvbjogYXVkaXQuazhzLmlvL3YxCmtpbmQ6IFBvbGljeQpydWxlczoKLSBsZXZlbDogTWV0YWRhdGE=
kind: Secret
metadata:
  annotations:
    rke.cattle.io/object-authorized-for-clusters: cluster1
  name: name1
  namespace: fleet-default