Ansibleでmasterノードが冗長化されたKubernetes1.5環境をデプロイする
masterノードが冗長化されたKubernetes環境をデプロイするためのAnsibleプレイブックを書いた。
一応ローカルの環境では動いたので、大丈夫だと思う。。。
インベントリファイル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を直していく。