このプロジェクトについて
RavenDB Kubernetes Operatorは、Kubernetes上でRavenDBクラスタをデプロイおよび管理するための公式ツールです。単一の`RavenDBCluster`カスタムリソースによって駆動される、完全に自動化された宣言的なアプローチを提供し、すべてのコンポーネントが宣言された仕様に沿って維持され、再現可能なデプロイを実現します。
**インストール方法**: このOperatorは3つのインストール方法をサポートしています。Helm(推奨。Operator用と各クラスタ用の別々のチャートを使用)、ローカル開発およびテスト用の`make deploy`、Operator Lifecycle Managerを実行するクラスタ向けのOLMバンドルです。Helmディストリビューションは2つのチャートに分かれています。`ravendb-operator`(クラスタ全体に一度インストール)と`ravendb-cluster`(名前空間ごとに、RavenDBクラスタごとに一度インストール)です。
**カスタムリソース**: `RavenDBCluster` CRDが唯一の情報源であり、ノードトポロジ、TLSモード(Let's Encryptまたは自己署名)、外部アクセス戦略、ストレージレイアウト、イメージ、ブートストラップ動作を定義します。調整が完了すると、OperatorはStatefulSet、Service、Ingress、Job、PVCを含むすべての基盤となるKubernetesオブジェクトを作成および管理します。
**主な機能**:
- **証明書およびTLS管理**: RavenDBの組み込みサポートを使用したLet's Encryptモード、自己署名または持ち込み証明書、RavenDBセットアップパッケージからのノードごとの証明書、証明書更新時の自動シークレットローテーションをサポートします。
- **クラスタブートストラップ**: 短期間のKubernetes Jobを実行して、Podの待機、HTTPS到達可能性の検証、ClusterAdminクライアント証明書の登録、宣言されたノードトポロジに基づくクラスタ形成を行います。
- **外部アクセス**: AWS Network Load Balancer(明示的なEIP/サブネット/AZマッピングによるノードごと)、Azure Load Balancer、NGINX Ingress、HAProxy Ingress、Traefik Ingressをサポートします。
- **ストレージ構成**: データ、ログ、監査ボリュームの宣言的な構成。local-path、AWS EBS/EBS-CSI、Azure Disk/Azure Disk CSI、追加ボリューム(ConfigMap、Secret、PVC、emptyDir)をサポートします。
- **ローリングアップグレード**: 仕様で定義された順序でノードごとのアップグレードを調整し、失敗時に停止し、問題が修正されると自動的に再開する安全ゲートを備えています。誤ったバージョンのダウングレードを防止します。
- **ヘルスおよびステータスレポート**: ライフサイクルフェーズ(`Deploying`、`Running`、`Error`)、準備、進行、ヘルスゲートの詳細な状態、すべての状態遷移でのKubernetesイベントの発行を公開します。
- **開発サポート**: `make deploy`によるローカルデプロイ、検証および変更用アドミッションWebhook、サーバーサイドアプライ、増分調整をサポートします。
**前提条件**: Kubernetes 1.23以降、kubectl、Helm、cert-manager、RavenDBライセンス、Let's Encryptセットアップ資料または自己署名証明書が必要です。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.