データ永続化と構築運用の自動化を実現する「PostgreSQL on Kubernetes」の仕組み:クラウドネイティブ時代のデータベース(2)
クラウドネイティブ時代のデータベース設計で考慮すべきポイントを検討する本連載。第2回はKubernetesでPostgreSQLを扱う「PostgreSQL on Kubernetes」の仕組みを解説する。
アプリケーションやWebサーバ、データベース(DB)などシステムを構成するためのプラットフォーム統一が不可欠となる中、本番利用に耐えられるまで十分成熟しているのがKubernetesだ。大手クラウドプロバイダーがマネージドサービスを提供するなどトレンドになっている。
連載第1回では、クラウドネイティブ時代のDBに求められる3つの要件として「アジリティ、可用性、拡張性」を紹介した。第2回はKubernetesでPostgreSQLを扱うことでどのようにアジリティ、可用性、拡張性およびDB固有の要件を実現できるか解説する。
Kubernetesの特徴
あらためてKubernetesとは、コンテナ管理を自動化するためのプラットフォームだ。Kubernetesはマニフェストを用いて宣言された「あるべき状態」を維持するために、自律的に動作する。定期的に「現在の状態」を監視し、「あるべき状態」と「現在の状態」を比較。その差分がなくなるように自律的に動き続ける。これらの動作の繰り返しを「Reconciliation Loop(突き合わせループ)」と呼ぶ。この特徴を生かすことで、システム管理者によるサーバの構築や管理を自動化でき、作業の手間が大幅に削減される。
Kubernetesでは、ステートレスなアプリケーションの場合にはレプリカを複数用意することで簡単に高可用性や負荷分散を実現できるが、DBのようなステートフルアプリケーションを運用管理するためには、専用のOperatorが必要になる。
Operatorとは、Kubernetesで動作するアプリケーションの各種管理を自動化するための機能だ。管理が複雑であるPostgreSQLのようなステートフルアプリケーションの場合は、プライマリーとレプリカの役割と、DB固有の要件(自動フェイルオーバー、バックアップ、データの永続化など)を考慮する必要があるため、Kubernetesの標準的な機能だけでPostgreSQLクラスタを構築、管理するのは難しい。
そこで、PostgreSQL専用のOperatorを利用すれば、PostgreSQLクラスタをKubernetesで簡単にデプロイ、管理できるようになる。手作業だった監視、障害時の対応、バックアップ、スケーリングといったさまざまな運用管理をコード化してKubernetesに組み込み、Kubernetesの本来の機能を拡張することで、DBの管理も容易になる。
PostgreSQL Operatorは各社が開発を進めている。その中でも代表的なものが「Zalando PostgreSQL Operator」と「Crunchy PostgreSQL Operator」だ。Zalando PostgreSQL Operatorはドイツのeコマース企業Zalando SEが開発しており、MITライセンスで公開されている。Crunchy PostgreSQL OperatorはPostgreSQL関連サービスを提供する米国のCrunchy Dataが開発し、Apache License 2.0で公開されている。各PostgreSQL Operatorにはそれぞれに特徴があるが、基本的な機能は共通しており、PostgreSQLクラスタの管理に必要な機能が一通り用意されている。
ここからは、各PostgreSQL Operatorの共通機能を用いたPostgreSQLの構築、運用の自動化を見ていく。
PostgreSQL on Kubernetesの基本構成
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 1000倍返しの勢いで混沌化するKubernetes/クラウドネイティブ周辺ツールは何から学べばよいのか
Kubernetesやクラウドネイティブをより便利に利用する技術やツールについて概要や使い方を凝縮して紹介していく連載。初回は、Kubernetesの現状や、多種多様なKubernetes/クラウドネイティブ周辺ツールについて。 - AWSで「ノーコード開発」ができる「Amazon Honeycode」の基本的な使い方
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「Amazon Honeycode」を使ったノーコード開発の基本を解説する。 - CNCF、継続的デリバリー技術のお薦めは?――新興技術ガイド「CNCF Technology Radar」の第1弾を公開
Cloud Native Computing Foundation(CNCF)は、「CNCF End User Community」の意見に基づく新興技術ガイド「CNCF Technology Radar」の第1弾を公開した。