Kubernetes

開発元Google
公式サイトhttps://github.com/GoogleCloudPlatform/kubernetes
ライセンスApache License 2.0
提供開始2014/06/10
最新バージョン0.4.3

Kubernetesは、現在もっとも注目されているDockerの周辺技術だろう。開発はGoogleが主導となっており、Microsoft、Red Hat、Docker、CoreOS、Saltstack、Mesosphere、IBM等の有名企業がこぞって開発に参加している。Kubernetesは全ての環境上(「全て」が何を指すかは、まだ発表がない)で動くことを目標としているDockerコンテナのオーケストレーションツールだ。GCP上での利用であれば、とても短い作業ステップで利用を開始出来るが、自前で環境を構築する場合は若干導入難度が高くなる。もっともこの点は、これから洗練されていくことだろう。

メリット

Kubernetesの最大のメリットと言えば、複数ホストでのDockerの利用が容易になる点だろう。Docker単体では、複数ホストにまたがったコンテナ間での管理をしようとすると複雑になりやすいが、Kubernetesならば一括で管理できる。

デメリット

一方デメリットとしては、利用難度が高い点が挙げられる。後述するがKubernetesには独自の概念があり、それらを理解しKubernetesとDocker双方のコマンドに精通している必要がある。

Kubernetes独自の「用語」

Kubernetesには、独自の用語(概念)があるので、これらのイメージを把握しておこう。

Pod

複数コンテナの集まりを、Podという単位で扱う、Pod内のコンテナは、同一ホスト上にデプロイされる。

Label

LabelはPodに任意の名前をつける機能で、Podに対するホスト名のようなものである。Labelは、1つのPodに対して複数付与することも可能である。

Minion

複数のPodの集まりを、Minionという単位で扱う。

Replica

Podの複製を作る仕組みのこと。この機能を応用することで、Pod単位でのオートスケールや障害時のPodの復旧といった使い方が考えられる。

Service

L3プロキシのようなネットワークを司る役割を持つ。設定したPodに対して、ラウンドロビンでのアクセス分配が可能である。

Kubernetesの機能

現状のKubernetesが備える機能については、DesignOverviewの記載が一次情報となる。現在できることは、以下の通りだ。

  • 複数のコンテナをPodという単位で管理できる。ただしPodで管理するコンテナ群は、同一ホスト上である必要がある
  • Podに対してLabelを付与し(複数可)、付与したLabelでPodを参照出来る
  • PodはReplica機能を使って、手動で複製が可能である
  • 複数のPodをMinionという単位で管理できる。MinionはホストをまたいだPod群をまとめることが出来る
  • Serviceというネットワーク管理ツールによって、PodやMinionをどのネットワークへ接続させるかを管理する

これらの機能を組み合わせることによって、Kubernetesを用いたコンテナシステムのクラスタリングが可能となる(図5)。

Kubernetesによるクラスタリングのイメージ

図5:Kubernetesによるクラスタリングのイメージ(クリックで拡大)

現在の主な機能は上述の通りだが、この後も様々な機能が追加されることだろう。今後についてはKubernetesのロードマップを参照してほしい。

Kubernetesの評価

これからの発展に期待が持てるKubernetesだが、今の時点では足りない機能や設定が複雑な部分も多々あると感じられた。たとえばPodの手動複製は可能だが、Replication機能を使って自動でスケールアウトやフェイルオーバーまで考えるとKubernetesだけで全てを実現するのは難しいだろうと考えられる。

しかしGoogleは、Google App Engine(GAE)のように背後でコンテナ技術を使っていると想像されるサービスも提供している。もしKubernetesを使うことによって、GAEのようにセキュアでマルチテナンシーが確立されたコンテナ環境が実現出来るとしたら、Dockerコンテナの普及は爆発的に進むことが予想される。

Docker関連ツールの今後

Dockerをより良くするツールとして、基盤となるCoreOS、オーケストレーションであるKubernetes、そして視認性・操作性を向上させるPanamaxを中心に、2回にわたって紹介した。記事の冒頭に掲載した表でもわかるように、Dockerの周辺技術は紹介しきれないほど増えてきている。

GUI管理ツールだけ見ても、ShipYardやDockerUI、そして今回ご紹介したPanamax等が挙げられるが、それぞれUIの構成や実現出来ることに違いがあるので、それぞれ用途にあったツールを選択してほしい。なかでも、詳細説明を行ったCoreOS、Panamax、Kubernetesの3製品は、利便性も高く推奨できる。

次回は、Dockerを注視している各企業の動向とこれからについて説明したい。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30