Rancher インストール


概要

  • k8sテスト環境構築
    Rancher インストール

構築目次

環境

  • Rancher: v2.6.3
  • kubernetes(Client): v1.22.4
  • kubernetes(Server): v1.22.4

構成図

詳細

Name Role IP(192.168.245.0/24) OS
Rancher01 Rancher Server \
NTP
192.168.245.101 CentOS 7.9
Master01 Master Node 192.168.245.102 CentOS 7.9
Worker01,2,3 (3台) Worker Node 192.168.245.103,
192.168.245.104,
192.168.245.105
CentOS 7.9
ClientPC Client DHCP Ubuntu Desktop v20.04

OSバージョンについて:
CentOS stream 8に変更したが、Rnacher起動に失敗したため、7.9を選択
→ 最新kernelで失敗するとの記事を見たが、リンクを忘れた。

サーバ環境構築

対象サーバ:

  • Rancher01
  • Master01
  • Worker01,2,3

OS設定

Rancher 環境構築

Rancher Server インストール

  • 作業場所: Rancher01
$ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher

## 確認 ##
$ sudo docker ps
CONTAINER ID   IMAGE             COMMAND           CREATED        STATUS          PORTS                                                                      NAMES
f23b05b51ac6   rancher/rancher   "entrypoint.sh"   25 hours ago   Up 51 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   relaxed_faraday

## 初期パスワード確認 ##
$ docker logs f23b05b51ac6 2>&1 | grep "Bootstrap Password:"
2021/12/29 04:10:18 [INFO] Bootstrap Password: xxxxxxxxxxxxxxxxxxxx

Cluster作成

  • 作業場所: ClientPC
  1. ブラウザを起動 → Rancher Serverにアクセス
    https://192.168.245.101

  2. Rancher Server インストールで確認した初期パスワードを入力し、[Log in with Local User]クリック

  3. 以下のように設定し、[Continue]クリック

    ・[Set a specific password to use]選択 → パスワード設定
    ・[I agree to the Terms...]チェック

  4. [Create]クリック

  5. [RKE2/K3s]を有効 > [Custom]クリック

  6. 以下ように設定し、[Create]クリック

    ・[Cluster Name]設定
    ・[NGINX Ingress]チェックを外す
    → Ingressは手動設定するため、外したが、デフォルトIngressを使う場合はインストールしても良い。

  7. Master Node用コマンド作成: [etcd]と[Control Plane]のみチェック → コマンドをメモ帳へコピペ
    ※同じ手順でWorker Node用コマンド作成: [Worker]のみチェック → コマンドをメモ帳へコピペ

Master Node 構築

  • 作業場所: Master01
    メモ帳へコピペしておいたMaster Node用コマンドを実行
Master01
$ curl -fL https://192.168.245.101/system-agent-install.sh | sudo  sh -s - --server https://192.168.245.101 --label 'cattle.io/os=linux' --token xxxxxxxxxxxx --ca-checksum xxxxxxxxxxxxxxxxxx --etcd --controlplane

Worker Node 構築

  • 作業場所: Worker01,2,3
    メモ帳へコピペしておいたWorker Node用コマンドを実行
Worker01,2,3
$ curl -fL https://192.168.245.101/system-agent-install.sh | sudo  sh -s - --server https://192.168.245.101 --label 'cattle.io/os=linux' --token xxxxxxxxxxxxxxxxxx --ca-checksum xxxxxxxxxxxxxxxxxxxxxx --worker

Node 構築完了確認

  • 作業場所: ClientPC
  1. メニューから自分が作成したクラスタを選択

  2. [Nodes]クリック → 全ノードがActiveであることを確認

ClientPC(作業端末)設定

$ curl -LO https://dl.k8s.io/release/v1.22.4/bin/linux/amd64/kubectl
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/
$ kubectl version --short
Client Version: v1.22.4
..........

Kubeconfigファイルを保存

  1. メニューから自分が作成したクラスタを選択

  2. [Copy KubeConfig to Clipboard]クリック

  3. config作成
    コピーした設定をconfigファイルに貼り付け

$ mkdir ~/.kube
$ vi .kube/config
$ cat .kube/config
apiVersion: v1
kind: Config
clusters:
- name: "obi-cluster"
  cluster:
    server: "https://192.168.245.101/k8s/clusters/c-m-ltmgdtdx"

..........省略..........

contexts:
- name: "obi-cluster"
  context:
    user: "obi-cluster"
    cluster: "obi-cluster"

current-context: "obi-cluster"
  • 確認
$ kubectl version --short
Client Version: v1.22.4
Server Version: v1.22.4+rke2r2

$ kubectl get nodes -owide
NAME       STATUS   ROLES                       AGE   VERSION          INTERNAL-IP       EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION                CONTAINER-RUNTIME
master01   Ready    control-plane,etcd,master   24h   v1.22.4+rke2r2   192.168.245.102   <none>        CentOS Linux 7 (Core)   3.10.0-1160.49.1.el7.x86_64   containerd://1.5.8-k3s1
worker01   Ready    worker                      23h   v1.22.4+rke2r2   192.168.245.103   <none>        CentOS Linux 7 (Core)   3.10.0-1160.49.1.el7.x86_64   containerd://1.5.8-k3s1
worker02   Ready    worker                      23h   v1.22.4+rke2r2   192.168.245.104   <none>        CentOS Linux 7 (Core)   3.10.0-1160.49.1.el7.x86_64   containerd://1.5.8-k3s1
worker03   Ready    worker                      23h   v1.22.4+rke2r2   192.168.245.105   <none>        CentOS Linux 7 (Core)   3.10.0-1160.49.1.el7.x86_64   containerd://1.5.8-k3s1