Ansibleでmasterノードが冗長化されたKubernetes1.5環境をデプロイする

masterノードが冗長化されたKubernetes環境をデプロイするためのAnsibleプレイブックを書いた。

github.com

一応ローカルの環境では動いたので、大丈夫だと思う。。。


インベントリファイルhostsに複数masterホストを指定してmngipと一緒に書いておけば、それらで冗長化される。
フロントにNginxをロードバランサとして置く。
masterにはetcdクラスタとflanneldとkube-apiserverとkube-schedulerとkube-controller-managerが入る。


本当はKubernetes1.6でやりたかったけど、kubeadmから入れるとetcdの設定とかが見張られてて、いじれなかった。
kubeadmを使わずに入れれば良かったのかもしれないけど。。。 今後、ロールベースのシステムを管理していくのに、kubeadmが推奨されていくっぽいので、 kubeadmから無理に逸脱するのもあまり旨くないかなぁ、と思ってやめた。
いずれは1.6用に直そうと思う。


次は、Nginxを冗長化させるか、KubernetesのバックエンドにKeystoneを使うようにするか、Playbookを直していく。