インストール - Rancher Desktop

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

Rancher Desktopは、デスクトップ上でコンテナ管理、Kubernetesを提供するソフトウェアである。
Mac(Intel、Apple Siliconの両方)、Windows、Linuxで利用できる。

コンテナ管理において、Rancher Desktopでは、コンテナイメージをビルド、プッシュ、プルする機能と、コンテナを実行する機能が提供されている。
これは、Docker CLI(エンジンにMoby / dockerdを選択した場合)またはnerdctl(エンジンにcontainerdを選択した場合)の両方で提供される。
nerdctlは、containerdプロジェクトが提供するdocker-compatible CLI for containerdである。

Kubernetesにおいて、Rancher Desktopには、Kubernetesが組み込まれている。
Kubernetesは、軽量ディストリビューションであるk3sによって提供されている。
Rancher Desktopでは、Kubernetesのバージョンを選択して、Kubernetesをリセットしたり、Kubernetesとコンテナランタイム全体をボタン1つでリセットする機能等がある。

RancherとRancher Desktopは、Rancherという名前を共有しているが、それぞれ異なる動作を行う。
Rancherは、Kubernetesクラスタを管理するための強力なソリューションであり、Rancher Desktopは、ローカルのKubernetesとコンテナ管理プラットフォームを提供する。
この2つのソフトウェアは、互いに補完し合っている。

ローカルシステムでRancherを実行する場合は、Rancher DesktopにRancherをインストールすることができる。

Rancher Desktopの詳細を知りたい場合は、Rancher Desktopの公式ドキュメントを参照すること。


Rancher Desktopの動作に必要な条件

Rancher Desktopの動作に必要な条件を、以下に示す。

  • DEBパッケージ、RPMパッケージ、AppImageのいずれかをインストールできる環境
  • 持続的なインターネット接続
  • AMD-VまたはVT-xを搭載したx86_64プロセッサ
  • /dev/kvmへの読み書きアクセス
  • 8[GB]以上のRAM
  • 4CPUs

実行するワークロードによっては、追加のリソースが必要になる場合がある。

GNOMEではシステムトレイをサポートしていないため、Rancher Desktopのトレイアイコンは表示されないことに注意する。


Rancher Desktopのインストール

Rancher DesktopのGithubにアクセスして、Rancher Desktopをダウンロードする。
ダウンロードしたファイルを解凍する。

unzip rancher-desktop-<バージョン>.zip


解凍したファイルを任意のディレクトリに配置する。

Rancher Desktopのデスクトップエントリファイルを作成する。

vi ~/.local/share/applications/Ranchar_Desktop.desktop


 # ~/.local/share/applications/Ranchar_Desktop.desktopファイル
 
 [Desktop Entry]
 Type=Application
 Name=Ranchar Desktop
 GenericName=Ranchar Desktop
 Comment=Kubernetes and Docker Management
 Exec=/<Rancher Desktopのインストールディレクトリ>/rancher-desktop %F
 Icon=/<Rancher Desktopのインストールディレクトリ>/ranchar-desktop.png
 StartupNotify=false
 StartupWMClass=Rancher
 Categories=Development;
 MimeType=;
 Keywords=rancher;kubernetes;docker;


Rancher Desktopを起動すると、~/.bashrcファイル、~/.tcshrcファイル、~/.zshrcファイルの最下行に、以下に示す設定が追記される。

 ### MANAGED BY RANCHER DESKTOP START (DO NOT EDIT)
 export PATH="/home/<ユーザ名>/.rd/bin:$PATH"
 ### MANAGED BY RANCHER DESKTOP END (DO NOT EDIT)


/dev/kvmへのアクセス権を設定する。
一部の環境では、Rancher Desktopに必要な/dev/kvmを使用するための十分な権限がない。
まず、必要な権限があるかどうかを確認する。

[ -r /dev/kvm ] && [ -w /dev/kvm ] || echo 'insufficient privileges'


十分な権限が出力されない場合は、ユーザをkvmグループに追加する必要がある。

sudo usermod -a -G kvm "$USER"


設定を反映させるため、PCを再起動または再ログインする。


Rancher Desktopのアンインストール

まず、Rancher Desktopのインストールディレクトリを削除する。

rm -r <Rancher Desktopのインストールディレクトリ>


次に、Rancher Desktopの設定ファイルおよびディレクトリを削除する。

rm -r ~/.config/"Rancher Desktop"
rm -r ~/.local/share/rancher-desktop
rm -r ~/.rd
rm -r .tcshrc
rm -r ~/.local/share/applications/Ranchar_Desktop.desktop


~/.bashrcファイル、~/.tcshrcファイル、~/.zshrcファイルの最下行にある、以下に示す設定を削除する。

 ### MANAGED BY RANCHER DESKTOP START (DO NOT EDIT)
 export PATH="/home/<ユーザ名>/.rd/bin:$PATH"
 ### MANAGED BY RANCHER DESKTOP END (DO NOT EDIT)



Rancher Desktopの設定

pass

docker loginコマンド、nerdctl loginコマンドを使用しない場合は、passの設定は不要である。
デフォルトでは、Rancher Desktopは、passを使用してdocker loginコマンドとnerdctl loginコマンド経由で渡された認証情報を安全に保存する。

まず、passをインストールする。

# RHEL
sudo dnf install pass

# SUSE
sudo zypper install password-store


Rancher Desktopをインストールした後、GPGキーを作成する。
これはpassが秘密を保護するために使用する。

gpg --generate-key

# 出力例
8D818FB37A9279E341F01506ED96AD27A40C9C73


上記の出力例が、ユーザのキーIDである。
このキーIDを渡すことで、passを初期化することができる。

pass init <キーID>


passの詳細を知りたい場合は、passの公式Webサイトを参照すること。

Kubernetesの有効 / 無効

このオプションでは、Kubernetesの有効または無効にすることができる。
Kubernetesを無効にすることにより、containerdやdockerdだけを単体で動作させて、リソースの消費を抑えることができる。
初期設定では、Kubernetesは有効化されている。

Kubernetesの有効 / 無効を切り替える場合、[Enable Kubernetes]チェックボックスをオン / オフする。
有効 / 無効に切り替えると、Rancher Desktopは自動的に再起動される。

Kubernetesを無効にしても既存のリソースは削除されずに、Kubernetesを有効に戻すと再び利用可能になる。

Traefikを有効にする

このオプションでは、Traefikを有効または無効にすることができる。
Traefikを無効にすることにより、80番ポートと443番ポートを別のイングレス設定用に解放することができる。
初期設定では、Traefikは有効化されている。

Traefikを有効 / 無効に切り替える場合、[Enable Traefik]チェックボックスをオン / オフする。
有効 / 無効に切り替えると、Rancher Desktopを手動で再起動する必要がある。

この動作は今後のリリースで変更される予定である。(プロンプトが表示されて、Rancher Desktopが自動的に再起動する)

Traefikを無効にしても既存のリソースは削除されずに、Traefikを有効に戻すと再び利用可能になる。

Traefikポートバインディングアクセス

Rancher Desktopは、デフォルトのイングレスコントローラとしてTraefikを使用している。
Traefik ingressのポートアクセスが制限されているため、Rancher Desktopのデプロイ後に権限エラーに遭遇する可能性がある。

多くのLinuxディストリビューションでは、非スーパーユーザが1024以下のTCPおよびUDPポートをリッスンすることを許可していない。
そのため、Traefikがローカルホストの特権ポートをリッスンできるようにする。

sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80


これにより、80番以上の全てのポートが非特権となり、Traefikは当該ポートに正常にアクセスできるようになる。

再起動後も、この変更をカスタムカーネルパラメータとして設定を維持する場合、上記と同じコマンドを/etc/sysctl.confファイル内に追記する。


コンテナランタイム

Rancher Desktopのコンテナランタイムを設定することができる。

ユーザは、コンテナの名前空間を提供して、Docker APIとDocker CLIの使用を可能にするnerdctlまたはdockerd(moby)の使用を提供するcontainerdのオプションがある。 1度に動作できるコンテナランタイムは1つだけであることに注意する。

別のコンテナランタイムに切り替える場合、以下に示す制約がある。

  • Kubernetesの再起動が必要である。
  • 既存のコンテナランタイムを使用してビルドまたはプルされたワークロードおよびイメージは、切り替え先のコンテナランタイムでは使用できない。