Kubernetesでは「コンテナイメージ」がサービスを実現するためのアプリケーションに当たります。
Kubernetesでは、Kubernetes自身の設定ファイルと同様に「ConfigMap」で、アプリケーション用の設定や環境変数を管理できます。
Kubernetesでは外部ストレージをマウントすることができます。
コンテナの実行を「Liveness Probe」と「Readiness Probe」という2つの仕組みで監視します。
Kubernetesでは、コンテナは不変的な存在ではありません。複数のコンテナが起動したり停止したりして状態が遷移します。そのため、それらを束ねるサービスがあります。
これまでは、アプリケーションの更新は手動で実施していたと思いますが(第1回参照)、Kubernetesでは「ローリングアップデート」機能や「ブルーグリーンデプロイメント」と呼ばれるクラスタを切り替える手法を利用することで、手動に頼らずアプリケーションの更新が行えるようになりました。
本稿では、KubernetesがLinuxのようなコミュニティーを持っていること、そして、Kubernetesの各種機能とLinuxの機能の類似点を紹介しました。
Kubernetesが行っている複数のノードを一元管理する手法は、これまでも「Globus」や「OpenMPI」などHPC(High Performance Computing)での並列計算分野や、仮想基盤を管理する「OpenStack」などで利用されてきました。しかし、複数のノードでアプリケーションをマルチテナントかつマルチタスクで動作させる手法は、Linuxのような機構を持つKubernetesの登場で初めて実用的に利用できるようになったといえるでしょう。
次回は、Kubernetesを簡単に試す方法と、「どのようにKubernetesを学習していけばいいのか」「どのようなことを理解しなければならないか」を紹介します。
矢野 哲朗
株式会社スタイルズ SIビジネスグループ エキスパート職
ネットワークからDBとストレージ、パフォーマンスチューニングに従事。「ownCloud」と「Nextcloud」からオープンソースへの貢献を深め、現在はコンテナに関する企画、SIに従事している。
Copyright © ITmedia, Inc. All Rights Reserved.