このページの目次
ランチャーRKE2クラスターを作成する
概要 ランチャーRKE2クラスターを作成する方法の例を参照してください.
Rancher RKE2 クラスタを作成するには、この手順例を使用します。
この手順では、1 つのサーバ ノードと 2 つのエージェント ノードを設定します。Rancherでは、サーバーノードはコントロールプレーンノードとして機能し、エージェントノードはワーカーノードとして機能します。この手順は、クラスター内のノード数に合わせて調整します。
この例のプロシージャは、情報提供のみを目的としています。
RKE2クラスターの作成の詳細については、Rancherの公式ドキュメントを参照してください: https://docs.rke2.io/install/quickstart。
開始する前に、クラスター ノードに使用する予定のサーバーまたは VM が起動していることを確認します。
以下のコマンドラインの例では、常に絶対ディレクトリパスが表示されるとは限りません。これらのコマンドをディレクトリ構造内に適用するのはあなたに任せます。
サーバ ノードの設定
サーバ ノードを設定するには、この手順を使用します。
サーバー ノードは、RKE2 のコントロール プレーン ノードとして機能します。単一クラスタの例で使用されているサーバ ノードは、IP アドレス 172.16.0.11 で到達可能な Ubuntu ホストです。
- ローカル コンピューターから、root ユーザーとしてサーバー ノードに SSH で接続します。
config.yaml
/etc/rancher/rke2
次の内容のファイルを作成します。cni: - none
- サービスをインストール、有効化、および開始します
rke2-server
。- RKE2 インストール スクリプトをダウンロードします。
curl -sfL https://get.rke2.io -o install.sh
- インストールスクリプトを実行可能にします。
chmod +x install.sh
- 目的のリリースを指すようにインストール変数を設定します。
INSTALL_RKE2_CHANNEL=latest
INSTALL_RKE2_CHANNEL_URL=https://github.com/rancher/rke2/releases
- インストールスクリプトを実行します。
./install.sh
このスクリプトは、rke2-server
サービスをインストールします。 - サービスを有効にして開始します
rke2-server
。systemctl enable rke2-server.service
systemctl start rke2-server.service
- サービスの状態
rke2-server
を確認します。systemctl status rke2-server
● rke2-server.service - Rancher Kubernetes Engine v2 (server) Loaded: loaded (/usr/local/lib/systemd/system/rke2-server.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2023-06-06 17:37:38 UTC; 1 day 22h ago
- RKE2 インストール スクリプトをダウンロードします。
- kubeconfig ファイルを既定の kubeconfig ディレクトリにコピーします。
mkdir ~/.kube
cp /etc/rancher/rke2/rke2.yaml ~/.kube/config
- kubectl を既定のパスにコピーします。便宜上、ランチャーは示されている場所にkubectlバイナリを提供します。
cp /var/lib/rancher/rke2/bin/kubectl /usr/local/bin
- ポッドのステータスを表示します。
kubectl get pods -A -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system cloud-controller-manager-rke2-s1 1/1 Running 0 11m 172.16.0.11 rke2-s1 <none> <none> kube-system etcd-rke2-s1 1/1 Running 0 11m 172.16.0.11 rke2-s1 <none> <none> kube-system helm-install-rke2-coredns-trcjf 0/1 Completed 0 10m 172.16.0.11 rke2-s1 <none> <none> kube-system helm-install-rke2-ingress-nginx-jghfq 0/1 Pending 0 10m <none> <none> <none> <none> kube-system helm-install-rke2-metrics-server-nvcp6 0/1 Pending 0 10m <none> <none> <none> <none> kube-system helm-install-rke2-snapshot-controller-9gbf7 0/1 Pending 0 10m <none> <none> <none> <none> kube-system helm-install-rke2-snapshot-controller-crd-l5wnn 0/1 Pending 0 10m <none> <none> <none> <none> kube-system helm-install-rke2-snapshot-validation-webhook-kqmnp 0/1 Pending 0 10m <none> <none> <none> <none> kube-system kube-apiserver-rke2-s1 1/1 Running 0 11m 172.16.0.11 rke2-s1 <none> <none> kube-system kube-controller-manager-rke2-s1 1/1 Running 0 11m 172.16.0.11 rke2-s1 <none> <none> kube-system kube-proxy-rke2-s1 1/1 Running 0 11m 172.16.0.11 rke2-s1 <none> <none> kube-system kube-scheduler-rke2-s1 1/1 Running 0 11m 172.16.0.11 rke2-s1 <none> <none> kube-system rke2-coredns-rke2-coredns-6b9548f79f-snzl4 0/1 Pending 0 10m <none> <none> <none> <none> kube-system rke2-coredns-rke2-coredns-autoscaler-57647bc7cf-dc2gx 0/1 Pending 0 10m <none> <none> <none> <none>
CN2がまだインストールされていないため、一部のポッドが実行されていません。 - CNIプラグインをダウンロードしてインストールします。
- CNI プラグイン用に次のディレクトリを作成します。
mkdir -p /opt/cni/bin
- CNIプラグインをダウンロードします。
cd /opt/cni/bin/
wget 'https://github.com/containernetworking/plugins/releases/download/v1.1.1/cni-plugins-linux-amd64-v1.1.1.tgz'
- .tgz ファイルを解凍して圧縮します。
tar -xzvf cni-plugins-linux-amd64-v1.1.1.tgz
- CNI プラグイン用に次のディレクトリを作成します。
エージェントノードの設定
エージェント・ノードを構成するには、この手順を使用します。
エージェントノードは、RKE2 のワーカーノードとして機能します。単一のクラスターの例で使用されるエージェント ノードは、IP アドレス 172.16.0.12 および 172.16.0.13 で到達可能な Ubuntu ホストです。
必要な数のエージェント ノードに対して、これらの手順を繰り返します。
- ルートユーザーとしてエージェントノードにSSH接続します。
config.yaml
ディレクトリに/etc/rancher/rke2
次の内容のファイルを作成します。server: https://<server_node_IP>:9345 token: <server_node_token>
はserver_node_IP
、サーバー(コントロールプレーン)ノードのIPアドレスです。はserver_node_token
、サーバ ノードで見つかった/var/lib/rancher/rke2/server/node-token
トークンです。- サービスをインストール、有効化、および開始します
rke2-agent
。- RKE2 インストール スクリプトをダウンロードします。
curl -sfL https://get.rke2.io -o install.sh
- インストールスクリプトを実行可能にします。
chmod +x install.sh
- インストールの種類を設定します。
INSTALL_RKE2_TYPE="agent"
- インストールスクリプトを実行します。
./install.sh
このスクリプトは、rke2-agent
サービスをインストールします。
- サービスを有効にして開始します
rke2-agent
。systemctl enable rke2-agent.service
systemctl start rke2-agent.service
- サービスの状態
rke2-agent
を確認します。systemctl status rke2-agent
● rke2-agent.service - Rancher Kubernetes Engine v2 (agent) Loaded: loaded (/usr/local/lib/systemd/system/rke2-agent.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2023-06-12 17:36:21 UTC; 3min 6s ago
- RKE2 インストール スクリプトをダウンロードします。
- ポッドのステータスを表示します。
1 つのエージェント ノードが稼働している場合の出力例を次に示します。このコマンドは必ずサーバ ノードから発行してください。
kubectl get pods -A -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system cloud-controller-manager-rke2-s1 1/1 Running 0 21m 172.16.0.11 rke2-s1 <none> <none> kube-system etcd-rke2-s1 1/1 Running 0 21m 172.16.0.11 rke2-s1 <none> <none> kube-system helm-install-rke2-coredns-trcjf 0/1 Completed 0 20m 172.16.0.11 rke2-s1 <none> <none> kube-system helm-install-rke2-ingress-nginx-jghfq 0/1 Pending 0 20m <none> <none> <none> <none> kube-system helm-install-rke2-metrics-server-nvcp6 0/1 Pending 0 20m <none> <none> <none> <none> kube-system helm-install-rke2-snapshot-controller-9gbf7 0/1 Pending 0 20m <none> <none> <none> <none> kube-system helm-install-rke2-snapshot-controller-crd-l5wnn 0/1 Pending 0 20m <none> <none> <none> <none> kube-system helm-install-rke2-snapshot-validation-webhook-kqmnp 0/1 Pending 0 20m <none> <none> <none> <none> kube-system kube-apiserver-rke2-s1 1/1 Running 0 21m 172.16.0.11 rke2-s1 <none> <none> kube-system kube-controller-manager-rke2-s1 1/1 Running 0 21m 172.16.0.11 rke2-s1 <none> <none> kube-system kube-proxy-rke2-a1 1/1 Running 0 10m 172.16.0.12 rke2-a1 <none> <none> kube-system kube-proxy-rke2-s1 1/1 Running 0 21m 172.16.0.11 rke2-s1 <none> <none> kube-system kube-scheduler-rke2-s1 1/1 Running 0 21m 172.16.0.11 rke2-s1 <none> <none> kube-system rke2-coredns-rke2-coredns-6b9548f79f-snzl4 0/1 Pending 0 20m <none> <none> <none> <none> kube-system rke2-coredns-rke2-coredns-autoscaler-57647bc7cf-dc2gx 0/1 Pending 0 20m <none> <none> <none> <none>
- CNIプラグインをダウンロードしてインストールします。
- CNI プラグイン用に次のディレクトリを作成します。
mkdir -p /opt/cni/bin
- CNIプラグインをダウンロードします。
cd /opt/cni/bin/
wget 'https://github.com/containernetworking/plugins/releases/download/v1.1.1/cni-plugins-linux-amd64-v1.1.1.tgz'
- .tgz ファイルを解凍して圧縮します。
tar -xzvf cni-plugins-linux-amd64-v1.1.1.tgz
- CNI プラグイン用に次のディレクトリを作成します。