aokabin / rancher-practice

0 stars 0 forks source link

VagrantでRancher+Kubernetes環境を作成する #1

Open aokabin opened 5 years ago

aokabin commented 5 years ago

まずはこの辺を参考に作ってみようかな

Rancher2.0を使って超高速にkubernetesクラスタを構築した時のメモ - Qiita

aokabin commented 5 years ago

構成はこう

コアの割り当て不安だけど、動くかな...?

aokabin commented 5 years ago

Vagrantfileがこんな感じ

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network "private_network", ip: "192.233.233.11"
end

ipが11と12と13になる感じ

sudo yum update -y 
sudo yum install docker -y 
sudo systemctl enable docker
sudo systemctl start docker

こうやって

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

こうの

https://192.233.233.11/

こうで動いた!すごい体験!

aokabin commented 5 years ago

2018-12-12 21 45 44

PWを入力したら、こんな画面に 2018-12-12 21 46 58

とりあえずそのままにした

aokabin commented 5 years ago

custom選んで cluster nameをsandbox2018-12-12 21 50 49 あとは上記のような感じ

aokabin commented 5 years ago

2018-12-12 21 51 41 一応AdvancedOptionはこんな感じだった

aokabin commented 5 years ago

NodeのOptionを設定、etcdとControl Planeにチェック、Workerは外した あと、ラベルが追加できたので、NameをMasterに 2018-12-12 21 53 28

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.1.3 --server https://192.233.233.11 --token htppgr8zwxskpr8znvdvv2nznnf424knp7nmppwnbgnzjrq22vqpqm --ca-checksum 72fcf4f85820d0976d257a677df45a97d8c415e6c71cb57bfbab4ab264edfe99 --etcd --controlplane --label Name=Master

こんなコマンドを、Masterのターミナルで入力

aokabin commented 5 years ago

叩いたら、こんなの出てきた 2018-12-12 21 55 01

そしてこういう結果

Unable to find image 'rancher/rancher-agent:v2.1.3' locally
Trying to pull repository docker.io/rancher/rancher-agent ...
v2.1.3: Pulling from docker.io/rancher/rancher-agent
32802c0cfa4d: Pull complete
da1315cffa03: Pull complete
fa83472a3562: Pull complete
f85999a86bef: Pull complete
5bf53f7eb665: Pull complete
b6dee6425e98: Pull complete
15612bde45d1: Pull complete
5bb137229af3: Pull complete
72fc31ea0fd1: Pull complete
Digest: sha256:c0c15e3fb32d516a16889765fe9ce62713617dc2f599a516c7d66620c737b705
Status: Downloaded newer image for docker.io/rancher/rancher-agent:v2.1.3
d122a75c22c798777fbe0d8d78e38b2595c217358c40f314d936c9f43075e66f
aokabin commented 5 years ago

次のページに行くと、sandboxクラスタがProvisioning中だという表示が出る そしてその下に、今何してるかが表示される、便利ーw

でもなんかfailしたっぽい? internal ipを指定するところがあったから、それかな?と思ったので、 masterのip 192.233.233.12 を指定してみた

10.0.2.15 みたいなのがちょっと気になるんだよな...

aokabin commented 5 years ago

10.0.2.15はnatっぽい、Vagrant特有の何かって感じだよな... そのIPアドレスのまま登録されちゃっていいのかな...本当はprivate ipが登録されて欲しいんだけど...

aokabin commented 5 years ago

public addressの方にipを追加してみた

2018-12-12 22 39 07

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.1.3 --server https://192.233.233.11 --token x4m8b5lkj28kbfvl44l5dzfbrgnnn28gbdkr6zfkh5fpkkrpghzcsb --ca-checksum 72fcf4f85820d0976d257a677df45a97d8c415e6c71cb57bfbab4ab264edfe99 --node-name master --address 192.233.233.12 --etcd --controlplane
aokabin commented 5 years ago

お、できてそうだー

[healthcheck] Start Healthcheck on service [kube-apiserver] on host [192.233.233.12]

aokabin commented 5 years ago

だめだーw Failed to generate kube-etcd certificate: x509: cannot parse IP address of length 0

というか、VagrantをCentOSにしてRancherをコンテナで起動してしまうのはあんまり良くないっぽい https://www.slideshare.net/ttyno/rancher-meetuptokyo-4-vagrant-rancher-ha

RancherサーバーはVagrantの時点でRancherOSにしてしまおうかな

aokabin commented 5 years ago

RancherOS自体は、Docker利用に特化させたOSってだけで、Rancherが走るOSというわけではなさそう Dockerコンテナに特化した「RancherOS」正式版リリース。Linuxカーネル上でDockerを実行、システムもユーザーもすべてをコンテナ空間に - Publickey

RancherOS上で docker run -d --restart=always -p 8080:8080 rancher/server を実行、しばらくしたら https://192.233.233.11:8080 にて、ページが確認できたけど 上のようなものではなかった...!

とりあえず、stackとやらを作ってみて こんな感じでサービスを追加してみた

2018-12-13 13 54 58

aokabin commented 5 years ago

serverはもしかしたら古いのかも?? rancher/rancherでいいかも

そして、rancherが動く最小のスペックは rancher/rancher: Complete container management platform

4GBメモリらしい...

aokabin commented 5 years ago

結局RancherOSを使うとしても、同じCertificate的な問題は解決しないといけなさそう なので、OSはCentOSを使って、そのOSの中でDocker突っ込んで、rancherコンテナを動かす。

構成はデフォルトでいいんだけど、ストレージだけは永続化しておく必要があるので、その辺りは設定が必要だと思うけど、あとでやる

再度CentOSで起動して、https://vagrant.rancher で登録してみた

aokabin commented 5 years ago

Masterの/etc/hosts

192.233.233.11 vagrant.rancher

を追加

やっぱりデフォルトネットワークアドレスが 10.0.2.15 なのがよくない気がする デフォルトを192.233.233.12として使いたい

vi /etc/sysconfig/network-scripts/ifcfg-eth1 あたりに設定がありそう デフォルトゲートウェイを設定し直すと良さそう

デフォルトゲートウェイを何にしたらいいのか判断する材料が手元にない... ちょっと調査してみる

aokabin commented 5 years ago

現状を確認するためにrouteコマンドを使いたいんだけど、デフォルトでないみたい ルーティングテーブルの確認コマンドまとめ - Qiita なのでインストールする

sudo yum -y install net-tools

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.233.233.0   0.0.0.0         255.255.255.0   U     101    0        0 eth1

192のipをgatewayにするのがいいと思っているんだけど、どうなんだろう

subnetmaskが255.255.255.0になっているから、同じようにするなら 192.233.233.2 とか?

試しに192.233.233.1にping打ったら通ったので、これかも、というわけで設定してみる

aokabin commented 5 years ago

い、一ヶ月くらい触ってないのか。。。やばすぎる。。。 やりたかったのは、rancher serverからmaster serverに接続する、みたいなことなのだけど とりあえず、現状確認のために、サーバーを起動する

もしかしてRancher側にメモリが少ない...?ちょっと4GBiという記述があったので、参考にしながらやってみる

aokabin commented 5 years ago

Failed to reconcile etcd plane: Failed to add etcd member [etcd-master] to etcd cluster というエラーが出るなぁ

そしてmasterに接続できないという、、、一度消して、再度立ててみる

...どうも、nodeで起動するためのコンテナが再起動しまくるな。。。

aokabin commented 5 years ago

メモリが少ないのかな?と思って2GBi割り当てたけど起動しないなぁ...

もうしょうがないので、VM大学のVMで起動することにした