大量のコンテナ管理や負荷分散を実現する「Kubernetes」について概要から本番活用の仕方まで解説する本連載。最終回は、Kubernetesはどのような環境で構築すればいいのかについて、具体的な方法やポイントを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載「これから始める企業のためのKubernetes実践講座」では、Kubernetesのメリットと主要機能を紹介してきました。最終回となる今回は、Kubernetesはどのような環境で構築すればいいのかについて、具体的な方法やポイントを解説します。
Kubernetesの構成方法には、ニーズや環境、役割によって4つのパターンが考えられます。
この中で一番簡単な方法は、クラウド事業者のマネージドサービスを利用することです。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つ作って構成することも考えられます。
そこで、ここからはマネージドサービスとオンプレミスの両方で共通に理解しておかなければならないことと、それぞれ特有のことを解説します。
連載第3回でも書きましたが、Kubernetesには「コントロールプレーン」(マスターノード)と「データプレーン」(ワーカーノード)というものがあります。このコントロールプレーンとデータプレーンの見え方がマネージドサービスとオンプレミスで異なりますし、費用がクラウドごとに異なるので注意が必要です。
マネージドサービスでは、マスターノードを各クラウド事業者が管理します。マスターノードは利用者からは見えないので、再起動もできません。Kubernetesの管理APIエンドポイントが提供されているだけです。
例えばGCPのGKEでは下図のように、マスターノードを見ることはできません。マスターノードに費用はかからず、費用がかかるのはワーカーノードのみとなっています。
Copyright © ITmedia, Inc. All Rights Reserved.