GCPのGKEについて
現在の案件では全環境(dev, staging, prod)のデプロイをGKEで行なっています。
ただGKEについての知識が乏しかったので、概要知識を記載する。
GKEとは
GKE(kubernetes engine)とはその名のとおりGoogleが開発したKubernetesというオープンソースのコンテナオーケストレーションツールのマネージドサービスです。
GKEイメージ図
1. ノードが複数集まったものをクラスタと呼ぶ 2. クラスタの中にサービスを定義する 3. サービスは複数のPod(Dockerコンテナ)によりサービス提供する 4. Podはクラスタ内でオートスケールが可能
GKEの特徴
GKEの特徴を記載します。
1. フルマネージド
クラスタをセットアップして、サービスアップしたらそのあとは全てGoogleでフルマネージドで運用されます。 インスタンスやネットワーク障害の場合でもインフラエンジニアが対処する必要は基本なく、安心してサービス提供することが可能です。
2. プライベートなContainer Registry
Contaner Registryを活用することで、プライベートなDockerイメージの保存とアクセスが容易に可能です。プライベートなので外部公開されるといった危険性もありません。
Contaner Registryとは?
A container registry is a repository, or collection of repositories, used to store container images for Kubernetes, DevOps, and container-based application development.
3. スケーラブル
GKEはPaaSでアプリケーションに対する要求に応じてサービスをスケールさせることが出来ます。
ロードバランサーも自動的に設定されるため、クラスのオートスケールと合わせることでアプリケーションを自動的にスケールすることも可能です。
4. Dockerのサポート
みんな大好きDockerフォーマットをサポートしている為、以降(利用開始や停止)が容易になります。
5. ロギング
チェックボックスをONにすると、Clod Looggingと連携が可能で、全てのログをCloud Loggingで管理できます。
料金体系について
KubernetesEngineは、1プロジェクトにつき5ノードまでは無料です(インスタンスの費用のみ)。6ノード以降でもクラスタ単位で0.15ドル/時間なので、月額にしても1,000円程度という金額です。
他のコンテナ管理サービスとの金額比較はこの動画見れば大枠理解できます。