Kubernetesとは
コンテナのメリットに潜む、運用管理の課題
仮想化技術の1つであるコンテナは、開発者にとってこれまでにないメリットをもたらしました。「軽量性」「俊敏性」そして「可搬性」をもったコンテナ技術は、同一カーネル上であれば、いかなる環境であっても簡単にアプリケーションを動かすことができます。仮想マシンと比較してオーバーヘッドが小さく、起動も早いため、開発に無駄が生じません。(※)
※コンテナ技術の基本的な概要は、以下のユニットも参考にしてください。
第1回 コンテナ仮想化とは?モダンアプリケーションへの最適なアプローチ
一方で、運用管理の観点からみると、課題が多いのも事実です。急なトラフィック増加のためのコンテナオートスケールの仕組み、新バージョンのコンテナをどのホストに配置し、いつ動作させるか、旧バージョンのコンテナの削除、あるいは、どのようにして同一カーネル上のセキュリティインシデントを回避させるかなど、ざっと挙げただけでもさまざまな管理内容が考えられます。特に、エンタープライズなど、マルチホスト構成のクラスタ環境である場合、管理はより煩雑になります。コンテナ技術の恩恵を享受するには、一定の課題をクリアしなければなりません。
Kubernetesを利用することで、煩雑なコンテナ管理から解放される
そこで登場したのが、コンテナオーケストレーション(コンテナ管理の自動化)ツールである「Kubernetes」です。Kubernetesを利用すれば、コンテナのデファクトスタンダードであるDockerコンテナに関して、自分たちで仕組みを構築することなく、複数のDockerホストを管理したり、オートスケールしたりするなど、その運用を任せることができます。
Dockerにも「Docker Swarm」と呼ばれるコンテナ管理機能がありますが、大規模なコンテナ管理では、Kubernetesに一歩及びません。KubernetesはDockerコンテナを管理する専用ツールとして急速に成長し、注目を集めています。
Kubernetesが提供する主な機能
Kubernetesが提供する主な機能は、以下が挙げられます。
・複数コンテナをデプロイ
ポリシー準拠で、複数のコンテナをデプロイします。
・負荷分散
負荷分散機能により、ネットワークトラフィックを振り分けることができます。結果的に、デプロイの安定を実現します。
・オートスケーリング
需要に基づいて、コンテナを自動でスケーリングしてくれます。
・障害発生時にセルフヒーリングを実施
たとえば、サーバの不具合でコンテナが損壊した場合でも、Kubernetesが自動的に別のサーバでコンテナを復旧してくれます。
Kubernetesの基本的なアーキテクチャ
では、なぜKubernetesは複数のコンテナを管理できるのでしょうか?Kubernetesでは、上図のように、クラスタ環境が構築されていきます。Kubernetesアーキテクチャを構成する主な3つのコンポーネントを見ていきましょう。
・Control plane(コントロールプレーン)
コンテナ管理を担う部分です。デプロイを実行したり、各コンテナの死活状況を監視したりします。
・Node(ノード)
コンテナの実行環境です。
・Pod(ポッド)
Kubernetesにおける最小単位です。Podは、1つあるいは複数のコンテナで構成されています。作成されたPodにはIPアドレスが割り当てられるため、Pod間で通信を行うことも可能です。
ただし、Pod間の通信は、同一のNode内でのみ有効です。Dockerの場合、LinuxのNATを経由することで通信を制御していましたが、限界があります。では、どのようにしてコンテナネットワークの課題は解決されるのか?
そのあたりを次のユニットで解説していきます。
- 第1回 コンテナ仮想化とは?モダンアプリケーションへの最適なアプローチ
- 第2回「コンテナ管理自動化」を現実のものにするKubernetes(現在表示)
- 第3回 Kubernetesのネットワーク~クラスタ環境でコンテナネットワークを構築する方法~
- 第4回 VMware Tanzuの成り立ち~年表から見る、No.1エンタープライズKubernetesベンダーへの道~
- 第5回「VMware Tanzu」に内包されるVMwareのマルチクラウド戦略
- 第6回 Tanzu Kubernetes Gridとは? VMwareが提供するコンテナランタイムのメリット
- 第7回 Tanzu Kubernetes Clusterとは?従来のvSphereインフラに構築されるKubernetes環境
- 第8回 Tanzu Mission Controlとは?あらゆる環境のKubernetesを一元管理する
- 第9回 VMworld 2020で明らかになったTanzuの目指すところ
富士ソフト VMware 仮想化ソリューションのご紹介