4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DockerでRancher体験🤠~Rancher を立ち上げて K8sクラスタを構築するまで~

Last updated at Posted at 2025-07-21

Kubernetesを使う際、すべてCLIでもいいのだけど、全体を俯瞰して見る場合、UIがあると格段に楽です。他にもRancherのUIからPodの中にshellで実行できたりするのもちょっとした確認などにもとても便利です。

もちろん、RancherからKubernetesクラスタを作成するのもとても楽です。
特にオンプレ環境の方やお家クラスタ管理者な人ならこの楽さを感じるのではないでしょうか。

そこで、Kubernetesクラスタの管理プラットフォームであるRancherを体験出来るまでの流れを説明していきます。また、HTTP PROXYな環境を考慮して進めていきます。

本番を想定するなら、LBと最低3ノード用意してKubernetesをセットアップした後に、そこにRancherをインストールする必要がありますが、Kubernetesクラスタ管理を体験するだけならDocker化したRancherを使うだけでも十分です。

本番を意識したRancherの構成は以下を参照
Architecture Recommendations | Rancher

前提

  • Ubuntu v22以降
  • Rancher v2.11.x

今回は、全てOSはUbuntu v22.04 とし、Rancherの実行は Docker Engine v28.3.2 にて確認。

構成

  • Dockerホスト:1ノード
    • Rancherコンテナを起動するためのノード
  • Rancherから作成して管理下に置くKubernetesクラスタ
    • "etcd + control plane(システムコンポーネントのみ)" のみを 1ノード
    • "worker"のみを 5ノードとする

Rancherで管理するKubernetesノードは、1ノードでも大丈夫

やること

  1. docker stop/docker rmしても状態が消えないRancherを用意
  2. 起動したRancherからRancherと別NodeにDownstream Clusterを作成

手順

大まかな手順としては、RancherをDockerコンテナで起動し、Rancher UIを使ってRancher管理化のKubernetesクラスタを構築していきます。

Rancherのセットアップ

Rancherの起動

DockerコンテナでRancherを起動していきます。

Rancherのお試し環境を作成する際、Rancherのクイックスタートにもある様に以下で実行は出来ます。

$ sudo docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  --privileged \
  index.docker.io/rancher/rancher:v2.11.3

ただ、この場合、コンテナを削除すると中身のデータが揮発します。
そこで、コンテナを落としても復旧出来るようにデータは永続化した状態でRancherを起動します。

ポイントは /var/lib/rancher をホストディスクか名前付きボリュームなどで永続化したらOK。また、Proxy環境の場合は以下のようにProxyの環境変数の設定もお忘れなく。特にNO_PROXYは Rancher 独自の追加値が必要です(例にあるNO_PROXYの後に続けている箇所)。

$ sudo mkdir -p /opt/rancher/data
$ cd /opt/rancher/data
$ sudo docker run -d --restart=unless-stopped \
  --name rancher \
  -p 80:80 -p 443:443 \
  -v /opt/rancher/data:/var/lib/rancher \
  --privileged \
  -e HTTP_PROXY=$HTTP_PROXY \
  -e HTTPS_PROXY=$HTTPS_PROXY \
  -e NO_PROXY="${NO_PROXY},0.0.0.0,10.0.0.0/8,cattle-system.svc,.svc,.cluster.local" \
  index.docker.io/rancher/rancher:v2.11.3

参考

Rancher UIにログインする

コンテナを起動後、docker logs -f rancher でRancherコンテナのログを見てると以下のようなログが出てきます。表示されているURLにブラウザでアクセスして、管理者ユーザ admin のパスワードを設定ください。

$ sudo docker logs rancher 2>&1 | grep "Bootstrap Password:"
2025/07/16 08:59:48 [INFO] Bootstrap Password: 7lz67qmp4bhtndmphwx6gvwhb7k8jfgdsd4cf4jk2nf5skbc8zjmbf

もしくは以下のようにRancherコンテナの中に入って確認も出来ます。

$ sudo docker exec -ti rancher bash
bash-4.4# kubectl get node
NAME         STATUS   ROLES                       AGE     VERSION
local-node   Ready    control-plane,etcd,master   3h39m   v1.32.1+k3s1
bash-4.4# kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{"\n"}}'
7lz67qmp4bhtndmphwx6gvwhb7k8jfgdsd4cf4jk2nf5skbc8zjmbf
bash-4.4# exit

adminユーザーのパスワード設定後、Rancher UIで、localクラスタ(Rancher)のPodの状態が以下のようにすべて正常であればOK

rancher pods

Kubernetesクラスタの作成

Rancherで管理するKubernetesクラスタをRancherではDownstream Cluster(またはManaged cluster)と呼びます。

RancherのUIからDownstream Clusterを作成していきます。

下図の様に左のメニューの「家のアイコン」を選択し、Cluster Management UIの「Create」ボタンからDownstream Clusterを作成します。

Create Downstream Cluster 01

Create Downstream Cluster 02

作成したい環境に応じて選んでいきます。

  • Managed Kubernetesの場合 → ①
  • AWSやAzureなどのVMを作成しつつRKE2 or K3sでKubernetesを構成する場合 → ②
  • 準備済のVMインスタンス または ベアメタル環境の場合 → ③

今回はOSセットアップ済みの環境でセットアップするので ③ で進めていきます。

Create Downstream Cluster 03

下図の各項目にて必要なオプションを設定したら画面右下の「Create」ボタンを押下する。

項目
RKE2/K3s
及びK8sバージョンの選択
RKE2/K3s
CNIの選択 CNI
HTTP PROXY環境向け PROXY
⚠️NO_PROXYに CIDR/Service CIDR が含まれているかチェック

その他については以下を参照。

他にも、既存のKubernetesクラスタを後からRancher管理化にする(Import)方法もあります。状況に応じて、出来ること・出来ないことがあるので、詳しくは以下を参照。

Registrationタブにて、①のロールを選択し、②については、今回RancherをDockerコンテナ使って起動し、TLSについては自己証明書を使っているのでチェックをつけます。

ぼかしにはcurlを含むセットアップのコマンドコマンドが記載されてるので、これをコピーして、用意しているノードにコピペして実行します。

Registration

①について、今回は「自分のワークロード」と「システムコンポーネント(etcdやcontrol plane)」を分けたいので、1ノード目だけ「etcdとcontrol plane」だけチェックをいれた状態のコマンドとし、 2ノード目以降は「worker」だけチェックを入れた状態のコマンドとします。

各ノードでコマンドを実行して5分くらい暫く待つと、以下のように全てのノードがActiveになります。

image.png

初回はイメージの取得などに時間かかるので、コーヒーのおかわりでも入れにいって戻ったあたりには出来上がってます ☕

動作確認

①の様なアイコンが出来てるので、そこから作成したクラスタのダッシュボードへアクセスします。
②にて、作成したクラスタのKubeConfigがコピーまたはダウンロード出来るので、自分の環境に合わせてkubectl環境に反映。

cluster dashboard

反映したらkubectlコマンドを実行して問題がないか確認。全てのノードのSTATUSがReadyになっていたらOK。

$ k get node -o wide
NAME              STATUS   ROLES                       AGE   VERSION        INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME
yassan-test03   Ready    control-plane,etcd,master   27h   v1.32.5+k3s1   172.30.46.33   <none>        Ubuntu 22.04.5 LTS   5.15.0-144-generic   containerd://2.0.5-k3s1.32
yassan-test04   Ready    worker                      27h   v1.32.5+k3s1   172.30.46.34   <none>        Ubuntu 22.04.5 LTS   5.15.0-144-generic   containerd://2.0.5-k3s1.32
yassan-test05   Ready    worker                      27h   v1.32.5+k3s1   172.30.46.35   <none>        Ubuntu 22.04.5 LTS   5.15.0-144-generic   containerd://2.0.5-k3s1.32
yassan-test06   Ready    worker                      27h   v1.32.5+k3s1   172.30.46.36   <none>        Ubuntu 22.04.5 LTS   5.15.0-144-generic   containerd://2.0.5-k3s1.32
yassan-test07   Ready    worker                      27h   v1.32.5+k3s1   172.30.46.37   <none>        Ubuntu 22.04.5 LTS   5.15.0-144-generic   containerd://2.0.5-k3s1.32
yassan-test08   Ready    worker                      27h   v1.32.5+k3s1   172.30.46.38   <none>        Ubuntu 22.04.5 LTS   5.15.0-144-generic   containerd://2.0.5-k3s1.32

Tips(更に深堀りしたい人へ)

Rancher固有の用語について

RancherとDownstream Clusterの関係や各コンポーネントの概要は以下。

Rancherを使う場合にDownstream Clusterとの通信がどうなっているかを掴むなら以下。

おまけ1:Rancherから作成出来るKubernetes Clusterやノードについて

デフォルトはInactiveになって入るけど、下図の様に選択肢としては存在する。

Cluster Driver

Cluster Driver

Node Driver

Node Driver

おまけ2:Rancherのユーザ管理

Rancherは独自の認証もあるのだけど、Authentication Providersとして下図に対応しています。
Githubについては、Github Enterpriseにも対応している。

Authentication Providers

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?