概要
過去に 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 でいろいろ設定できますがとりあえずそのままいきます
ワーカとして登録するノードで実行するコマンドが表示されるのでコピーしておきます
etcd, Control Plane, Worker すべてにチェックを入れておきます
ワーカノードの登録
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) が次々と起動します
上記のようにクラスタの作成が完了したらワーカノード上で 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 件のコメント:
コメントを投稿