2018年9月13日木曜日

Rancher2.0 をインストールしてみた

概要

過去に 1.6 を触ったのですが 2.0 が登場したので触ってみました
とりあえず環境を構築するところまでです

環境

サーバ

  • rancher/rancher (2.0.8)
  • macOS 10.13.6

ワーカ

  • Ubuntu 16.04
  • docker 18.03.1-ce
  • rancher/rancher-agent:v2.0.8

Rancher 起動

今回はサーバは Mac 上で起動します

  • docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

https://172.28.128.1/ で管理画面を表示します (vboxnet0)
admin パスワードの設定と URL の設定をします

クラスタ作成

Rancher はクラスタを作成するのインフラとなるサービスをいろいろと選択できます
今回は VirtualBox をインフラとするので CUSTOM を選択します
Cluster Options でいろいろ設定できますがとりあえずそのままいきます
rancher2_1.png

ワーカとして登録するノードで実行するコマンドが表示されるのでコピーしておきます
etcd, Control Plane, Worker すべてにチェックを入れておきます
rancher2_2.png

ワーカノードの登録

VirtualBox で適当に VM を作成します
今回は Ubuntu16.04 を作成しました
あとは docker もインストールします
そして以下のコマンドを登録してノードをワーカとして登録します

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.0.8 --server https://172.28.128.1 --token 6q8j6x969mzwdh8929vb5gkjkq7fjstxsvklqmvc7qtmbtlc8zpchf --ca-checksum 4b443b81b26d0c70a9a832544dd7eb4ae40f39a7147410d9220a547148386eda --etcd --controlplane --worker

必要なノードは worker, etcd, Control Plane になります
それぞれ別のコンテナで起動しても良いですが面倒なので今回は 1 つのコンテナとして起動しています
初めにエージェントが起動しその後 kubernetes に必要なコンテナ (dns, ingress, canal etc) が次々と起動します
rancher2_3.png

上記のようにクラスタの作成が完了したらワーカノード上で docker ps でも実行してみるとわかると思います

kubectl でクラスタにアクセスしてみる

クラスタの画面から kubernetes 用の config ファイルが取得できるのでダウンロードしましょう
あとは kubectl コマンドでファイルを指定すればアクセスできます

  • kubectl --kubeconfig=kubeconfig get nodes
NAME            STATUS    ROLES                      AGE       VERSION
ubuntu-xenial   Ready     controlplane,etcd,worker   1h        v1.11.2

最後に

Rancher を使って k8s 環境を構築してみました
今回はノードが 1 台しかなく etcd, Control Plane, worker がすべて 1 台のマシン上で動作している環境にしました
これでも問題なくコンテナは動作します

しかし実際は etcd, Control Plane は別ノードで動かしましょう
そして worker も別ノードとして動かしてコンテナは worker ノードだけで動作させます
なので本来は最低でも 2 ノード必要になります
(Rancher サーバ自体が動作しているノードも含めると 3 台)
k8s 自体そうなっているのでまぁ当然かなと思います

参考サイト

0 件のコメント:

コメントを投稿