Rancher の Vagrant Quick Start が起動しなくなったけど直した話
どうした
以前紹介した、Rancher の Vagrant Quick Start が凄く楽なので、今日も気分良くk8s触ろうとと思って vagrant up
したら、
こんなログがずーーーーーっと出続けて上がらないんですわ。
server-01: 6dbf555297f9: Pull complete server-01: Digest: sha256:09e1bef888ef4e1119eb6aa9a95413c7b0fecc7512700b8546502933a2eaa22b server-01: Status: Downloaded newer image for rancher/rancher:latest server-01: + sleep 2 server-01: + docker inspect rancher/rancher:latest server-01: + docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher rancher/rancher:latest server-01: 273a7a2cfca60eb322727ea3ab66073e1267a86484cd496f5cf59c84d3deee39 server-01: + true server-01: + docker run --rm --net=host appropriate/curl -sLk https://127.0.0.1/ping server-01: + sleep 5 server-01: + true server-01: + docker run --rm --net=host appropriate/curl -sLk https://127.0.0.1/ping server-01: + sleep 5 server-01: + true server-01: + docker run --rm --net=host appropriate/curl -sLk https://127.0.0.1/ping server-01: + sleep 5 server-01: + true server-01: + docker run --rm --net=host appropriate/curl -sLk https://127.0.0.1/ping server-01: + sleep 5 server-01: + true
どうしたオイ。上がらなくなってもうた
ログ見る限りは、 server-01 内で自分にcurlして失敗してるように見える。
調べよう
VMはどうなってるんだ
$ vagrant status Config: {"admin_password"=>"admin", "version"=>"latest", "ROS_version"=>"1.5.1", "k8s_version"=>"", "server"=>{"cpus"=>1, "memory"=>2048}, "node"=>{"count"=>4, "cpus"=>2, "memory"=>4096}, "ip"=>{"master"=>"172.22.101.100", "server"=>"172.22.101.101", "node"=>"172.22.101.111"}, "linked_clones"=>true, "net"=>{"private_nic_type"=>"82545EM", "network_type"=>"private_network"}} Current machine states: server-01 running (virtualbox) node-01 not created (virtualbox) node-02 not created (virtualbox) node-03 not created (virtualbox) node-04 not created (virtualbox)
多分 server-01 が出来上がってから node ができる仕様なんだろうな。
server-01 にログインしてみる。
$ vagrant ssh server-01 $ uname -a Linux server-01 4.14.85-rancher #1 SMP Sat Dec 1 12:40:08 UTC 2018 x86_64 GNU/Linux $ docker -v Docker version 18.06.1-ce, build e68fc7a $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 273a7a2cfca6 rancher/rancher:latest "entrypoint.sh" About an hour ago Restarting (1) 36 seconds
rancher コンテナが動いてると見せかけて、なんか再起動しまくってないか君?
コンテナのログ見てみると
$ docker logs -f 273a7a2cfca6 ERROR: Rancher must be ran with the --privileged flag when running outside of Kubernetes
ほうほう。 privileged フラグがないよダメだよと言ってるな。
前は動いてたのにな…何もしてないのに壊れた…
とりあえず調べてみると、 configure_rancher_server.sh
ていうのでコンテナを起動してるみたいで、以下の部分で失敗してるっぽい
確かに privileged フラグはついてない。
for image in $curlimage $jqimage "rancher/rancher:${rancher_version}"; do until docker inspect $image > /dev/null 2>&1; do docker pull $image sleep 2 done done docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher rancher/rancher:${rancher_version} # wait until rancher server is ready while true; do docker run --rm --net=host $curlimage -sLk https://127.0.0.1/ping && break sleep 5 done
とりあえず privileged フラグをつけるように修正すると無事に上がった。
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged -v /opt/rancher:/var/lib/rancher rancher/rancher:${rancher_version}
てか privileged フラグて何?
privileged フラグをつけると、コンテナが特権モードで起動し、ホストマシンのデバイスにアクセスが可能になったりします。
Rancherは最近v2.5.0が出たので、そこから privileged フラグが必須になった?
issue をあげた
とりあえず中学生並みの英語で issue を上げてみた。
とりあえずissueを上げたので様子を見ようと思います。
お読み頂き有難うございました。