Jump to section

etcd とは

URL をコピー

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

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

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

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

これはすべて、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 のいずれか、あるいはその両方を介して違いを修正します。

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 内のコミュニティにさらにメリットをもたらすことができます。

関連資料

記事

コンテナと VM

Linux コンテナと仮想マシン (VM) は、さまざまな IT コンポーネントが組み合わさってシステムの他の部分から分離している、パッケージ化されたコンピューティング環境です。

記事

コンテナ・オーケストレーションとは

コンテナ・オーケストレーションは、コンテナのデプロイメント、管理、スケーリング、ネットワーキングを自動化します。

記事

Linux コンテナとは

Linux コンテナとは、システムから分離された一連のプロセスであり、そのプロセスのサポートに必要なすべてのファイルを提供する個別のイメージから実行されます。

コンテナの詳細はこちら

製品

統合されたテスト済みのサービス一式を備えたエンタープライズ・アプリケーション・プラットフォームであり、ユーザーの選ぶインフラストラクチャを使ってアプリケーションを市場に投入するために活用できます。

リソース

トレーニング

無料のトレーニングコース

Running Containers with Red Hat Technical Overview

無料のトレーニングコース

Containers, Kubernetes and Red Hat OpenShift Technical Overview

無料のトレーニングコース

Developing Cloud-Native Applications with Microservices Architectures