マネージドサービス? 自前構築? Kubernetesを本番環境で使うにはどうすればよいのか:これから始める企業のためのコンテナ実践講座(終)(1/2 ページ)
大量のコンテナ管理や負荷分散を実現する「Kubernetes」について概要から本番活用の仕方まで解説する本連載。最終回は、Kubernetesはどのような環境で構築すればいいのかについて、具体的な方法やポイントを解説します。
本連載「これから始める企業のためのKubernetes実践講座」では、Kubernetesのメリットと主要機能を紹介してきました。最終回となる今回は、Kubernetesはどのような環境で構築すればいいのかについて、具体的な方法やポイントを解説します。
Kubernetesの4つの構成方法
Kubernetesの構成方法には、ニーズや環境、役割によって4つのパターンが考えられます。
- クラウド(以下、パブリッククラウドのことを指す)事業者のマネージドサービスを利用する
- クラウドのIaaS上に自前で構築する
- オンプレミスのサーバ環境に構築する
- オンプレミスの開発端末に構築する
この中で一番簡単な方法は、クラウド事業者のマネージドサービスを利用することです。Amazon Web Services(AWS)のEKS(Amazon Elastic Container Service for Kubernetes)、Google Cloud Platform(GCP)のGKE(Google Kubernetes Engine)、IBM CloudのIKS(IBM Cloud Kubernetes Service)、Microsoft AzureのAKS(Azure Kubernetes Service)などがあります。
これらのマネージドサービスを利用するメリットは、サーバインフラを持たなくてよいということのみならず、サーバの管理運用についてもクラウド事業者にお任せできるところにあります。Kubernetesの管理(バージョンアップや死活監視)についても工数を削減できるので、Kubernetesの専任技術者を置けない会社向けといえるでしょう。
また、クラウド事業者が提供するIaaSを利用し、自前で構築、管理、運用するパターンもあります。マネージドサービスに比べると楽ではありませんが、既存のシステムがクラウドで稼働している場合にはさまざまツールやサービスと組み合わせることで、Kubernetesのみならずインフラ全体として運用を軽減することにつながるでしょう。
クラウドを会社のポリシーで使えない場合や、ワークロードがマッチしない場合もあるでしょう。そういう場合はオンプレミスで構築し、管理することになります。クラウドサービスの恩恵は受けられませんが、既存リソースを流用できるといったメリットもあります。
また前回紹介した「Minikube」「MicroK8s」を使って、手元の開発端末で動作チェックのために動かす場合もオンプレミスでの構成と同様になります。
さらに、本番環境はクラウドのマネージドサービスで動かすが、開発環境や検証環境はオンプレミスの開発端末やサーバで動かすといった用途では、環境を2つ作って構成することも考えられます。
そこで、ここからはマネージドサービスとオンプレミスの両方で共通に理解しておかなければならないことと、それぞれ特有のことを解説します。
Kubernetesにおけるマスターノードとワーカーノード
連載第3回でも書きましたが、Kubernetesには「コントロールプレーン」(マスターノード)と「データプレーン」(ワーカーノード)というものがあります。このコントロールプレーンとデータプレーンの見え方がマネージドサービスとオンプレミスで異なりますし、費用がクラウドごとに異なるので注意が必要です。
マネージドサービスの場合
マネージドサービスでは、マスターノードを各クラウド事業者が管理します。マスターノードは利用者からは見えないので、再起動もできません。Kubernetesの管理APIエンドポイントが提供されているだけです。
例えばGCPのGKEでは下図のように、マスターノードを見ることはできません。マスターノードに費用はかからず、費用がかかるのはワーカーノードのみとなっています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Kubernetesを選んだ技術的理由とコンテナをプロジェクトで活用する上でのポイント
本連載では、サービスの開発、提供のアジリティ向上の一助となることを目的として、企業における「Kubernetes」の活用について解説する。今回は、Kubernetesを活用することを決めた理由について「技術」面から解説するとともに、「システムの開発やテスト、デプロイの効率を向上させるために、どのような点に配慮すべきか」について説明する。 - 「Kubernetesで運用する」その前に Kubernetesを本番環境で利用する際のポイント
日本マイクロソフトは2018年11月5〜7日に「Microsoft Tech Summit 2018」を開催。MicrosoftでCloud Developer Advocateを務める寺田佳央氏は、Kubernetesを本番環境で活用する際のポイントや、今後のJavaについて語った。 - 2000店舗に展開の事例など、エッジでのKubernetesに注目が集まる
全米2000店舗にKubernetesクラスタを展開しているファストフードチェーンの事例などで、エッジにおけるKubernetesへの関心が高まっている。Kubernetesコミュニティーでも議論が始まった。