Kubernetesクラスタのデプロイツールまとめ

a.k.a Kubernetesクラスタのプロビジョニングツール

- [eksctl](https://github.com/weaveworks/eksctl) [![GitHub last commit](https://img.shields.io/github/last-commit/weaveworks/eksctl.svg)]()
  - AWS EKSのコントロールプレーン（マネージド）とノードグループ（こちらは自分で用意しなければならない）を合わせてInfra as Code的に管理できる
- [bcwaldon/klondike](https://github.com/bcwaldon/klondike) [![GitHub last commit](https://img.shields.io/github/last-commit/planetlabs/klondike.svg)]()
    - AWS
    - CloudFormation, cfssl, ansible, awscli, kube-datadog, journalbeat, farva(という同じ作者のvhost用ingress controller)
    - ノード、コントロールプレーンともにSingle AZ
    - [planetlabs/klondike](https://github.com/planetlabs/klondike)に移転
- [kubernetes/kubernetes-anywhere](https://github.com/kubernetes/kubernetes-anywhere) [![GitHub last commit](https://img.shields.io/github/last-commit/kubernetes/kubernetes-anywhere.svg)]()
    - Azure, GCE, AWS(はゴールに入ってるけど、まだ実装されてない)
    - Terraform, jsonnet, kconfig-frontends(対話的な設定に使ってる [リンク](https://github.com/colemickens/kconfig-frontends))
- [kube-aws @ coreos/coreos-kubernetes](https://github.com/coreos/coreos-kubernetes/tree/master/multi-node/aws) → 移行先[coreos/kube-aws](https://github.com/coreos/kube-aws) → 移転先 [kubernetes-incubator/kube-aws](https://github.com/kubernetes-incubator/kube-aws) [![GitHub last commit](https://img.shields.io/github/last-commit/kubernetes-incubator/kube-aws.svg)]()
    - AWS
    - CloudFormation, golang
    - golang製アプリでCloudFormationテンプレートを出力し、それをkube-awsが自動的に実行するか、ユーザがaws-cli経由で実行するかを選べる
    - Multi AZ対応
- [kubernetes/kops](https://github.com/kubernetes/kops) [![GitHub last commit](https://img.shields.io/github/last-commit/kubernetes/kops.svg)]()
    - AWS, GCE
    - golang, aws-sdk-go, Terraform
    - AWS, GCEにbuiltinライブラリのcloudupで直接プロビジョニングできるほか、Terraformテンプレート+cloud-init設定ファイルを出力できる([ドキュメント](https://github.com/kubernetes/kops/blob/36df0753d9fb33975a8fe50e61dd27029183e3fc/docs/terraform.md))
- * [k8s v1.3のマイルストンに含まれているk8sのkube-up次期バージョン](https://github.com/kubernetes/kubernetes/issues/23478)(2016/04/28現在、まだ実態はない)
* [kopeio/kope](https://github.com/kopeio/kope) [![GitHub last commit](https://img.shields.io/github/last-commit/kopeio/kope.svg)]()
  * AWS
  * GoでAWS APIを叩いてCloudFormation的なことをしている?
* [tomdee/kube-cluster](https://github.com/tomdee/kube-cluster) [![GitHub last commit](https://img.shields.io/github/last-commit/tomdee/kube-cluster.svg)]()
  * GCE, CoreOS
- [upmc-enterprises/kubeadm-aws](https://github.com/upmc-enterprises/kubeadm-aws) [![GitHub last commit](https://img.shields.io/github/last-commit/upmc-enterprises/kubeadm-aws.svg)]()
  - AWS
  - Terraform + kubeadm
- [att-comdev/halcyon-kubernetes](https://github.com/att-comdev/halcyon-kubernetes) [![GitHub last commit](https://img.shields.io/github/last-commit/att-comdev/halcyon-kubernetes.svg)]()
  - Virtualbox, Openstack
  - Ansible + kubeadm
- [kz8s/tack](https://github.com/kz8s/tack) [![GitHub last commit](https://img.shields.io/github/last-commit/kz8s/tack.svg)]()
  - AWS, CoreOS
  - Terraform, Bash
  - EtcdはSingle AZで3+ノード作成してH/A(作者がSingle Multi-AZ Kubernetes Clusterより、AZ毎に１クラスタのパターンを好んでいるため https://github.com/kz8s/tack/pull/82
  - WorkerはMulti-AZ対応
- [closeio/devops k8s](https://github.com/closeio/devops/tree/master/scripts/k8s)
  - kops + pykube + python scripts
  - H/A, Private Subnet対応
* まだ見ぬ何か
  * ここに書かれてないツールが今後登場するかもしれませんが、それがMasterやNodeのH/A構成、Auto-Scalingに対応しているかどうかは最低限見ておいたほうがよいです（大体はこれが抜けてるからです)
  * 関連Issueはk8s本家の[issues/23479： AWS Feature: HA master](https://github.com/kubernetes/kubernetes/issues/23479)など