ログイン / 登録 アカウント

コンテナ

etcd とは

etcd (読みはエトセディー) は、オープンソースで分散型の、一貫したキーバリューストア (key-value store) で、マシンの分散システムまたはクラスタの共有構成、サービス検出、スケジューラー調整を可能にします。より安全な自動更新を容易にし、ホストにスケジュールされている作業を調整し、コンテナのオーバーレイネットワークのセットアップを支援します。

etcd は、他の多くのプロジェクトのコアコンポーネントです。最も注目すべきは、コンテナ・オーケストレーションの事実上の標準システムである Kubernetes の主要なデータストアだということです。etcd を使用することにより、クラウドネイティブ・アプリケーションは、より安定したアップタイムを維持し、個々のサーバーで障害が発生した場合でも稼働し続けることができます。アプリケーションは、etcd に対してデータの読み取りと書き込みを行います。etcd は構成データを分散化させ、ノードの構成に冗長性とレジリエンシー (回復力) をもたらします。

Kubernetes と etcd

etcd は Kubernetes のプライマリーデータストアであり、すべての Kubernetes クラスタの状態を保存および複製します。Kubernetes クラスタの重要なコンポーネントであるため、etcd が構成と管理に対する信頼できるアプローチを備えていることが重要です。

etcd はコンセンサスをベースとする分散型システムであるため、クラスタ構成は複雑になることがあります。ブートストラップ、クォーラムの維持、クラスタメンバーシップの再構成、バックアップの作成、障害復旧への対処、重要なイベントの監視は、専門知識を必要とする複雑で面倒なタスクです。

これはすべて、etcd Operator を使用することで簡単になります。

etcd Operator

Operator には、人間が持つ運用上のナレッジが反映されています。これを活用することで、Red Hat OpenShift などの Kubernetes または Kubernetes コンテナプラットフォームで etcd をより簡単に使用できます。etcd Operator は、Operator Framework 内で etcd を管理し、etcd クラスタの構成と管理を単純化するのに役立ちます。

etcd Operator は単一のコマンドでインストールでき、etcd クラスタを作成、構成、管理するシンプルな宣言型構成を使用して、複雑な etcd の構成および管理を行えるようにします。

etcd Operator は、以下の機能を提供します。

  • 作成/破棄 - ユーザーは、各 etcd メンバーに面倒な構成設定を指定する代わりに、クラスタのサイズを指定するだけで済みます。

  • サイズ変更 - ユーザーがすべきことは仕様のサイズ変更だけで、クラスタメンバーのデプロイ、破棄、再構成は etcd Operator が処理します。

  • バックアップ - etcd Operator は、バックアップを自動的かつ透過的に実行します。ユーザーはバックアップポリシーを指定するだけです。たとえば、30 分おきにバックアップして直近の 3 つのバックアップを保持するといった指定をします。

  • アップグレード - ダウンタイムを生じさせずに etcd をアップグレードするのは重要ですが難しい作業です。etcd Operator で行うと、運用が単純化され、一般的なアップグレードエラーを回避できます。

仕組み

etcd Operator は、観察、分析、行動という 3 つのステップで人間のオペレーターの行動をシミュレートします。

  1. Operator は、Kubernetes API を使用してクラスタの現在の状態を観察します。

  2. 次に、望ましい状態と現在の状態の違いを見つけます。

  3. そして、etcd クラスタ管理 API または Kubernetes API のいずれか、あるいはその両方を介して違いを修正します。

Red Hat による支援

etcd は 2013 年に CoreOS チームによって作成され、Red Hat エンジニアが業界全体の仲間たちと協力して保守しています。 

2018 年、Red Hat と CoreOS チームはクラウドネイティブ・システムの導入を推進するために、The Linux Foundation 下に置かれたベンダー中立組織である Cloud Native Computing Foundation (CNCF) に etcd コミュニティプロジェクトを提供しました。etcd があらゆる Kubernetes クラスタを強化することを考えると、この移行によって、CNCF で最も etcd を必要としているコミュニティの手に etcd が渡ったことになります。

Red Hat は、特に当社のエンタープライズ向け Kubernetes 製品である Red Hat OpenShift の一部として、etcd の開発に引き続き参加する予定です。Red Hat は、2015 年に CNCF の立ち上げに貢献した初期の支援企業の 1 つでもあり、それ以来、クラウドネイティブ・テクノロジーの開発と成長のために財団やコミュニティと連携してきました。当社の歴史、オープンソースソフトウェアへの取り組み、コミュニティ主導の開発により、etcd は CNCF 内のコミュニティにさらにメリットをもたらすことができます。