‫Kubernetesは､ コンテナオーケストレーターとして有名です｡
‫オーケストレーションとは何か､ 少なくともコンテナについて言及する場合､
‫前のセクションの元の定義に戻ろう｡
‫オーケストレーターとは､ 実行を依頼されたコンテナを受け取り､
‫一連のサーバ､ つまりノードを受け取り､ それらのノード間でコンテナのワークロードをどのように実行するかを決定するものです｡
‫Kubernetesは､ Googleが2015年に発表したオーケストレーターで､
‫数あるオーケストレーターのうちの1つです｡
‫現在では､ Googleも参加している世界中のオープンソースコミュニティによって維持されています｡
‫Kubernetesが何をしているのか､ Dockerとどう関係しているのか不思議に思うかもしれませんが､
‫Kubernetesは基本的に､ コンテナ内のアプリ上で動作するAPIのセットで､ サーバーのセットを管理し､ コンテナをデフォルトでDocker上で実行するものなのです｡
‫containerdのようなDocker以外のコンテナランタイムを実行することができます｡
‫今はデフォルトで､ Dockerの上で動いています｡
‫つまり､ コンテナランタイムを解消しているわけではないのです｡
‫その上に､ 制御しているマルチノードシステムを管理するコンテナが連なっているだけです｡
‫そして､ それらのAPIとコマンドラインツールのセットを提供し､
‫Swarmと同様のサーバーインフラをデプロイして維持することができます｡
‫この講座の前に､ あなたはDockerコマンドをよく使っていましたね｡
‫Kubernetesでは､ 主に使用するツールの1つにkube control､
‫またはkubectlがあります｡
‫他の人がそのツールを､ kube controlとか､
‫kube cuddleとか､ koob controlとか､ 別の名前で呼んでいるのを聞いたことがあるかもしれませんが､
‫これらはすべて別の名前なのです｡
‫しかし､ 今は公式レポから標準的な命名がされているので､
‫kube controlと呼ばれています｡
‫Kubernetesとそれをどのように入手するかということになると､
‫そこには膨大な数の選択肢が存在します｡
‫Kubernetesを利用する最も一般的な方法は､
‫クラウドベンダーがコンテナを実行するためのサービスとしてKubernetesを提供するものです｡
‫他のクラウドサービスと同様に､
‫Kubernetesのエンドポイント､ APIを提供し､
‫ローカルでツールや､ クラウドインターフェースに組み込まれたGUIを使って､ Kubernetes制御コンテナのデプロイと保守を行うことができます｡
‫それから､ 他のベンダー､ その多くはインフラベンダーですが､
‫独自のKubernetesもパッケージ化しています｡
‫Linuxのディストリビューションと同じような概念で､
‫Kubernetesのディストリビューションと呼ぶことにしています｡
‫Linuxの世界では､
‫これらすべての異なるディストリビューションで同じLinuxカーネルが動作しています｡
‫それらのカーネルは､ ちょっとずつ作りが違ったり､ バージョンが違ったりすることもありますが､
‫基本的には同じものです｡
‫それから､ Ubuntuなのか､ CentOSなのか､ Amazon Linuxなのか､
‫ディストリビューションですね｡
‫これらの異なるディストリビューションは､ それぞれ独自のツールセットをパッケージングしており､
‫私たちの多くは､ どちらかを好んで使っています｡
‫それは､ 今のKubernetesも同じです｡
‫Kubernetesのクラウド型ディストリビューションかオンプレミス型データセンター型ディストリビューションかは､
‫要件に応じて､ 既存のベンダーとの契約に基づいて､
‫あるいはOSやベンダーに対する好みで選ぶことになります｡
‫理由はたくさんあるんです｡
‫しかし､ これらはすべて､ 純粋なオープンソースKubernetesのアップストリームバージョンと呼ばれるものを提供しています｡
‫そして､
‫その上に自分たちの余計なものをすべて重ねて､ あなたの利益を図るのです｡