🚀

Rancher Server on Rancher Desktop

2022/12/28に公開

はじめに

以下を参考に、前回インストールしたRancher Desktopで構築したKubernetes環境に、Rancher (Rancher Server)をデプロイします。

Rancher on Rancher Desktop | Rancher Desktop Docs

デプロイ方法の選択

前回の記事でRancher Desktopをインストールした際に、docker互換のCLIであるnerdctlコマンドや、Kubernetes用パッケージマネージャーのCLIであるhelmコマンドが使えるようになっていました。

公式ドキュメントでは、以下の方法が挙げられています。

  • nerdctl
  • docker
  • helm

今回はせっかくなのでhelmコマンドを使用してRancher Serverをデプロイします。

Helmでのデプロイ

Helmは、他のパッケージマネージャーと同じように、リポジトリを追加し、そのリポジトリのパッケージ(Chart)をインストールする形で使用します。

Jetstackリポジトリの追加

まずは、Rancher Serverの構築に必要な証明書を管理してくれる「cert-manager」をインストールするため、Jetstackのリポジトリを追加します。

helm repo add jetstack https://charts.jetstack.io

Rancherリポジトリの追加

続いて、Rancher Serverをインストールするため、Rancherのリポジトリを追加します。

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

cert-manager用のnamespaceの作成

cert-manager用のnamespaceを作成します。

kubectl create namespace cert-manager

cert-managerのインストール

作成したnamespaceにcert-managerをインストールします。

記事作成時、参考にしている公式ドキュメントではv1.7.1となっていますが、現時点でv1.10.1がリリースされているようです。
Rancher Serverの醍醐味として、デプロイしたアプリケーションをGUIからアップデートすることが挙げられるため、あえてv1.7.1をデプロイして、次回の記事でGUIからアップデートしてみようと思います。

helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.7.1 --set installCRDs=true

Rancher Server用のnamespaceの作成

Rancher Server用のnamespaceの作成します。

kubectl create namespace cattle-system

Rancher Serverのインストール

作成したnamespaceにRancher Serverをインストールします。

helm install rancher rancher-latest/rancher --namespace cattle-system --set hostname=rancher.rd.localhost --wait --timeout=10m

インストール完了には数分かかりますが、これでデプロイ完了です。

Rancher ServerのWeb UIにアクセス

Rancher Serverのインストール時に--set hostnameオプションで設定したホストにhttpsでアクセスします。

記事の通りに実行した場合はhttps://rancher.rd.localhost/になります。

Passwordの入力

Web UIにアクセスするとPasswordの入力を求められます。
このパスワードは構築時に自動生成されるもので、Web UIに表示されている指示に従ってkubectlコマンドを実行し、参照・コピーします。

Passwordを入力すると、Passwordの変更を求められるので適切に設定しましょう。

以下のようにRancher Desktopインストール時に構築されたk3sクラスターが表示されればOKです。

rancher-serever-webui

おわりに

次回は、v1.7.1でデプロイしたcert-managerを、Rancher Serverを使ってGUIからアップデートしたいと思います。

Discussion