要件

RKE2は非常に軽量ですが、以下に示す最小要件があります。

前提条件

2つのRKE2ノードは同じノード名を持つことはできません。デフォルトでは、ノード名はマシンのホスト名から取得されます。

2台以上のマシンが同じホスト名を持つ場合は、次のいずれかを行う必要があります:

  • ホスト名を一意の値に更新してください。

  • 設定ファイルの`node-name`パラメータを一意の値に設定してください。

  • 設定ファイルの`with-node-id`パラメータを`true`に設定して、ホスト名にランダムに生成されたID番号を追加してください。

コントロールプレーンノード間の往復時間(RTT)が2msを超える場合は、次の ガイドを参照してください。

アーキテクチャ

RKE2はx86_64およびarm64/aarch64で利用可能です。

オペレーティングシステム

Linux

RKE2で検証されたすべてのOSバージョンについては、 RKE2サポートマトリックスを参照してください。一般的に、RKE2はsystemdとiptablesを使用する任意のLinux配布パッケージで動作するはずです。

RHEL 10

RHEL 10(およびRocky Linuxなどの派生版)では、nf_conntrackを許可するために追加のパッケージが必要です。

sudo dnf install kernel-modules-extra -y

Windows

Windowsサポートには、RKE2クラスターのCNIとしてCalicoまたはFlannelを選択する必要があります。

RKE2 Windowsエージェントが機能するためには、Windows Server Containers機能を有効にする必要があります。

RKE2 Windowsノード(ワーカー)エージェントは、以下のオペレーティングシステムおよびその後の非メジャーリリースでテストおよび検証されています:

  • Windows Server 2019 LTSC(amd64)(OSビルド17763.2061)

  • Windows Server 2022 LTSC(amd64)(OSビルド20348.169)

管理者権限で新しいPowerShellウィンドウを開いてください。

powershell -Command "Start-Process PowerShell -Verb RunAs"

新しいPowerShellウィンドウで、次のコマンドを実行します。

Enable-WindowsOptionalFeature -Online -FeatureName Containers -All

これにより、`Containers`機能が正しく動作するために再起動が必要になります。

Hardware (ハードウェア)

ハードウェア要件は、デプロイメントの規模に基づいてスケールします。最小推奨事項はここに示されています。

Linux/Windows

  • RAM:最小4GB(少なくとも8GBを推奨します)

  • CPU:最小2(少なくとも4 CPU を推奨します)

VMサイズガイド

コントロールプレーン + etcdノードのCPUとRAMが制限されている場合、標準のワークロード条件下で参加できるエージェントノードの数に制限がある可能性があります。

サーバー CPU サーバのRAM エージェントの数

2

4GB

0-225

4

8GB

226-450

8

16GB

451-1300

16+

32GB

1300+

CPUがスペースを解放できるように、エージェントノードは50以下のバッチで参加することをお勧めします。ノード参加時にスパイクが発生します。255ノード以上を希望する場合は、デフォルトの`cluster-cidr`を変更することを忘れないでください!

このデータは特定のテスト条件下で取得されました。環境やワークロードによって異なる場合があります。以下の手順は、これを取得するために実行されたテストの概要を示しています。これはv1.27.4+rke2r1で最後に実行されました。すべてのマシンは、標準の20 GiB gp3ボリュームでAWSにプロビジョニングされました。

  1. Prometheusデータソースを使用してGrafanaでリソースを監視します。

  2. 継続的なクラスター活動をシミュレートするようにワークロードをデプロイします:

    • 継続的にスケールアップおよびスケールダウンする基本的なワークロード

    • ループ内で削除され再作成されるワークロード

    • CRDを含む複数のリソースを持つ一定のワークロード。

  3. エージェントノードを一度に30~50台ずつ追加します。

ディスク

RKE2のパフォーマンスはデータベースのパフォーマンスに依存し、RKE2はetcdを組み込みで実行し、データディレクトリをディスクに保存するため、可能な限りSSDを使用して最適なパフォーマンスを確保することを推奨します。

ネットワーキング

ノードにNetworkManagerがインストールされ、有効になっている場合は、それがCNI管理インターフェースを無視するように構成されていることを確認してください。ノードにWickedがインストールされ、有効になっている場合は、転送sysctl設定が有効になっていることを確認してください

RKE2サーバーは、クラスター内の他のノードからポート6443と9345にアクセスできる必要があります。

Flannel VXLANが使用されている場合、すべてのノードはUDPポート8472を介して他のノードに到達できる必要があります。

メトリクスサーバーを利用する場合は、各ノードでポート10250を開く必要があります。

ノードのVXLANポートは、クラスターネットワークが誰でもアクセスできるようになるため、外部に公開してはいけません。ポート8472へのアクセスを無効にするファイアウォール/セキュリティグループの背後でノードを実行してください。

受信ネットワークルール

ポート プロトコル ソース 宛先 説明

6443

TCP

すべてのRKE2ノード

RKE2サーバーノード

Kubernetes API

9345

TCP

すべてのRKE2ノード

RKE2サーバーノード

RKE2スーパーバイザーAPI

10250

TCP

すべてのRKE2ノード

すべてのRKE2ノード

kubeletメトリクス

2379

TCP

RKE2サーバーノード

RKE2サーバーノード

etcdクライアントポート

2380

TCP

RKE2サーバーノード

RKE2サーバーノード

etcdピアポート

2381

TCP

RKE2サーバーノード

RKE2サーバーノード

etcdメトリクスポート

30000-32767

TCP

すべてのRKE2ノード

すべてのRKE2ノード

NodePortポート範囲

CNI特有の受信ネットワークルール

  • カナル

  • Cilium

  • Calico

  • Flannel

ポート プロトコル ソース 宛先 説明

8472

UDP

すべてのRKE2ノード

すべてのRKE2ノード

VXLANを使用したCanal CNI

9099

TCP

すべてのRKE2ノード

すべてのRKE2ノード

Canal CNIヘルスチェック

51820

UDP

すべてのRKE2ノード

すべてのRKE2ノード

WireGuard IPv4を使用したCanal CNI

51821

UDP

すべてのRKE2ノード

すべてのRKE2ノード

WireGuard IPv6/デュアルスタックを使用したCanal CNI

ポート プロトコル ソース 宛先 説明

8/0

ICMP

すべてのRKE2ノード

すべてのRKE2ノード

Cilium CNIヘルスチェック

4240

TCP

すべてのRKE2ノード

すべてのRKE2ノード

Cilium CNIヘルスチェック

8472

UDP

すべてのRKE2ノード

すべてのRKE2ノード

VXLANを使用したCilium CNI

51871

UDP

すべてのRKE2ノード

すべてのRKE2ノード

WireGuardを使用したCilium CNI

ポート プロトコル ソース 宛先 説明

179

TCP

すべてのRKE2ノード

すべてのRKE2ノード

BGPを使用したCalico CNI

4789

UDP

すべてのRKE2ノード

すべてのRKE2ノード

VXLANを使用したCalico CNI

5473

TCP

すべてのRKE2ノード

すべてのRKE2ノード

Typhaを使用したCalico CNI

9098

TCP

すべてのRKE2ノード

すべてのRKE2ノード

Calico Typhaのヘルスチェック

9099

TCP

すべてのRKE2ノード

すべてのRKE2ノード

Calicoのヘルスチェック

ポート プロトコル ソース 宛先 説明

4789

UDP

すべてのRKE2ノード

すべてのRKE2ノード

VXLANを使用したFlannel CNI

Windows固有の受信ネットワークルール

プロトコル ポート ソース 宛先 説明

UDP

4789

すべてのRKE2ノード

すべてのRKE2ノード

CalicoおよびFlannel VXLANに必要です。

TCP

179

すべてのRKE2ノード

すべてのRKE2ノード

BGPを使用したCalico CNI

通常、すべてのアウトバウンドトラフィックが許可されます。