##Ubernetesとは?
#####仮想マシンで動くDockerコンテナを管理するツールの一つである「Kubernetes(以下k8s)」があり、これを複数クラスタで連携し、かつ異なるクラウド間でやり取りができるようになる仕組みとしてUbernetesが開発されています。
-
k8sを複数のクラウドプロバイダ(GCEやAWSとか)で複数のクラスタを立てている時にこれらを一括して管理したい要望が高まる
-
そこで実装が期待されているのが「Ubernetes」
-
はじめの提案はおそらくこのドキュメントから
#####この記事では「Ubernetes」を利用しようと調査した時に出てきた情報をまとめます。
##そもそも何でk8sの複数のクラスタを一元管理したがるの?
-
ひとつの回答としては、k8sで管理できるクラスター内のノードの制限数が関係
-
k8sではv1.3現在、1クラスタで最大で2000ノードほど
- クラスタを連携させればそれ以上のノードに拡張すること可能でになる
##k8sで複数のクラスタを管理する方法はどうなってる?
-
複数のKubernetesクラスタを立てて簡単にクラスタ間の通信ができるのか?
-
公式ドキュメントには、「マルチクラスタ環境を使うなら、k8sはその方法を提供してそれらを統合する」というような内容がある
-
Federating Clustersという公式ドキュメントを確認すると、フェデレーションのコントロールについて簡単に説明あり
-
詳しい説明はGithubのドキュメントに書かれていて、「別名:Ubernetes」という名前で呼ばれている
-
このドキュメントでk8sのクラスタってそもそもなんだ?っていうのも開設されている
- k8sのクラスタの概念とかがわかるので、一度目を通すことを推奨
-
##k8sを複数のzoneにて動かす方法はどうなってる?
-
k8sのv1.2から、Running in Multiple Zonesが実装された
-
これにより1つのクラスタであれば複数のzoneにノードを置いて可用性を持たせることが可能に
##Ubernetes-Liteってなんだ?
-
k8sのv1.2から実装された同一のクラウドプロバイダ内(現在はGCEとAWSのみのようです)での複数のクラスターを管理することができるもの
-
フルバージョンの実装前にお試し(α実装)で追加された機能で、ここにあるGitHubのドキュメントにその概要と使い方が詳しく載っている
##Ubernetesの実装はどうなってる?
-
GitHubのissueによると以下のものはv1.3のリリース後に行われる予定になっている
-
ドキュメント化、federated-apiserverなるものとそのetcdのH/A
-
kubectlがUbernetesをサポートするようになり、k8sに追加される予定
#結論として今はきちんとフル機能を使えるの?
-
答えは「No!」である
-
最新のリリースを見守りながらフル実装を待つべし
####最後までご覧いただきまして、ありがとうございました。