Rook とは?

Rook

Rook

NRIのOpenStandiaが提供するRook最新情報

Rookの保守サポートサービスの内容はこちら Rookの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Rookバージョンアップ情報

すべてを見る

更新日:2022-11-21

Rookの概要

Rookは、分散ストレージシステムを使用する上で発生するストレージ管理者のタスク(デプロイメント、ブートストラップ、コンフィグレーション、プロビジョニング、スケーリング、アップグレード、マイグレーション、障害の復旧、モニタリング、リソース管理)を自動化するソフトウェアです。
サービスの提供にはKubernetesプラットフォームの機能を利用し、Kubernetes Operator for Cephを介してサービスを行います。
また、Rookは2018年1月29日にCloud Native Computing Foundation(CNCF)に参加し、Graduated projectとして認定されています。

TOPに戻る

Rookの主な特徴

Rookには次のような特徴があります。

  • シンプルで信頼性の高い自動ストレージ管理
  • ストレージクラスターのハイパースケール化またはハイパーコンパージ化
  • データの分散と複製を効率的に行い、障害時の損失を最小限に抑える
  • オープンソースのCephストレージの管理
  • データセンターで簡単にエラスティック・ストレージを実現できる
  • コモディティハードウェアでのワークロードの最適化

TOPに戻る

Rookの主な機能

Helmチャート Rookは、Cephストレージ向けに次のHelmチャートを公開しています。
  • Rook Ceph Operator
    Cephオペレーターを起動し、Ceph CR(カスタムリソース)監視を行います。
  • Rook Ceph Cluster
    Cephクラスターを起動し、オペレーターがクラスターを構成するために使用するCeph CRを作成します。
Helmチャートは、デプロイとアップグレードを簡素化することを目的としています。マニフェストを直接作成することで、Helmを使用しないRookリソースの構成も完全にサポートされます。
ブロックストレージ(RBD) ブロックストレージを使用すると、単一のポッドでストレージをマウントできます。
本機能を利用して、複数のCephクラスター間でRBDイメージの非同期なレプリケーションを作成し、障害に備えることができます。
また、モードによってレプリケーションの作成方法をジャーナルベースかスナップショットベースから選択できます。
ファイルシステムストレージ(CephFS) 共有ファイルシステムとも呼ばれ、複数のポッドからの読み取り/書き込みを許可してマウントすることができます。
共有ファイルシステムを使用してクラスター化できるアプリケーションに役立ちます。
また、スナップショットをリモートのCephFSファイルシステムに非同期で複製するミラーリングが可能です。
オブジェクトストレージ(RGW) S3 APIをストレージクラスターに公開し、アプリケーションがデータを送受信出来るようにします。
RookにはオブジェクトストアをKubernetesにデプロイするか、外部のRGWサービスに接続する機能があります。
また、バケットの新規作成と、既存のバケットへのアクセスを以下の2つのカスタムリソースによってサポートしています。
  • Object Bucket Claim
    Object Bucket Claim (OBC) は、Bucket (新規または既存) を要求するカスタムリソースで、Custom Resource Definition (CRD) によって記述されます。
  • Object Bucket
    Object Bucket (OB) は、Bucket がプロビジョニングされた際に自動的に生成されるカスタムリソースです。これはグローバルリソースであり、通常、管理者以外のユーザは見ることができず、Bucket に固有の情報を含んでいます。OBは、OB CRDによって記述されます。
NFS NFSストレージは、複数のポッドからの読み取り/書き込み権限でマウントできます。これは、既存のRookクラスターを活用して、NFSクライアント接続を前提とするレガシーアプリケーションに役立ちます。
このようなアプリケーションは、Kubernetesに移行されていないか、まだPVCをサポートしていない場合があります。
Rook NFSストレージは、Kubernetestクラスター内からPVC経由で同じネットワークファイルシステムストレージへのアクセスを提供すると同時に、Kubernetesクラスター内外のクライアントからの直接接続によるアクセスも提供することが可能です。
モニタリング Rookには全体の健全性やCephデーモンの状態 、デーモンログ表示などCephクラスターの状態の概要を把握するための便利なツールとして、ダッシュボードが備わっています。この機能はCephCluster CRD の設定で有効にすることが可能です。
カスタムリソース定義(CRD) カスタムリソース定義(CRD)を介してストレージクラスターを作成及びカスタマイズできます。クラスターを作成するには、以下の4つの異なるモードがあります。
  • Hostストレージクラスター
    hostパスとrawデバイスからストレージを消費します
  • PVCストレージクラスター
    RookがPVCを介してストレージを消費するために使用するストレージクラスを指定することにより、Rookの下にストレージを動的にプロビジョニングします。
  • Stretched ストレージクラスター
    Cepth monsを3つのゾーンに分散し、ストレージは2つのゾーンでのみ構成されます。
  • External Ceph ストレージクラスター
    K8sアプリケーションを外部Cephクラスターに接続します。
また、ストレージプール、共有ファイルシステム、オブジェクトストアについてもCRDを介して作成することが可能です。

TOPに戻る

Rookの動作環境

Rookは最小バージョンを満たし、Rookに必要な権限が付与されている限り、既存のKubernetesクラスターにインストールすることができます。
Cephオペレーターを使用する場合、Kubernetes v1.19以降がサポートされており、クラスターの構成には以下のローカルストレージオプションのうち、最低でも一つが必要です。

  • 未使用のデバイス(パーティションやフォーマットされたファイルシステムがない)
  • 未使用のパーティション(フォーマットされたファイルシステムがない)
  • LVM論理ボリューム(フォーマットされたファイルシステムがない)
  • ブロックモードのストレージクラスから利用可能な永続ボリューム

TOPに戻る

Rookのライセンス

RookはApache License, Version2.0の下でリリースされているオープンソースソフトウェアです。
営利、非営利を問わず、だれでも自由かつ無償で利用・改変することができるほか、ライセンスのコピーの提供や変更内容の告知など、特定の条件を満たすことで再配布も認められています。

TOPに戻る

Rookの参考情報

Rook公式サイト

TOPに戻る

Rookのサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO