Kubernetesがクラウド界の「Linux」と呼ばれる2つの理由:これから始める企業のためのコンテナ実践講座(3)(3/3 ページ)
大量のコンテナ管理や負荷分散を実現する「Kubernetes」について概要から本番活用の仕方まで解説する「これから始める企業のためのコンテナ実践講座」第3回は、Kubernetesがクラウド界の「Linux」と呼ばれている理由とともに、Kubernetes内部の仕組み、機能を紹介します。
サービスを実現するためのアプリケーション
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.
関連記事
- 「Kubernetes」とは何か――コンテナ型仮想化の本番利用に向けた課題
本連載では、サービスの開発、提供のアジリティ向上の一助となることを目的として、企業における「Kubernetes」の活用について解説する。初回は、Kubernetesを使う上で前提となる「Docker」についておさらいし、Kubernetesの概要や起源、現状などを紹介する。 - Kubernetes、コンテナ技術を活用した開発アジリティー向上にインフラアーキテクトはどう貢献したのか
Kubernetes、コンテナ技術を活用したCI/CD基盤におけるサービス開発について、リクルートの事例を基に解説する連載。初回は、インフラアーキテクトの視点から技術選定の考え方について解説。 - Kubernetes 1.14がリリース、Windowsコンテナサポートが安定版に到達
Kubernetesプロジェクトは2019年3月25日(米国時間)、Windowsノードの本番サポートなどを盛り込んだKubernetes 1.14をリリースしたと発表した。Kubernetes 1.14では、安定性に重点を置き、既にβ版などとして搭載している機能を成熟させることに力を注いだという。