Confluent for Kubernetes を使用したストレージのスケーリング

ディスクのスケールアップ

Confluent Platform の大規模な使用を成功させるためには、ディスクのスケールアップ機能が重要です。たとえば、組織における Kafka の使用量が増加するにつれて、Kafka トピックの数が大幅に増加することが考えられ、それに合わせてディスクを拡張できれば、該当するトピックにデータを格納するのに十分なディスク容量を確保できます。

Confluent for Kubernetes (CFK)を使用すると、シンプルで自動化されたストレージ拡張が実現されます。サポートされる環境 では、ZooKeeper、Kafka などのクラスターに関連付けられたすべてのディスクを簡単なワークフローで拡張できます。しばらくすると、拡張されたディスク容量をクラスター内の全ポッドで中断なく活用できる状態になります。場合によっては、この拡張をクラスター全体についてものの数秒で完了できます。

要件

ディスクを拡張するには、PersistentVolumeClaim(PVC)のサイズ変更と、所定の関連 PersistentVolume(PV)のマウント先ポッドに公開されているファイルシステムの拡張の両方が必要です。

PVC のサイズを自動変更する機能は、使用しているボリュームの種類と、PVC が関連付けられている StorageClass の構成に応じて異なります。PVC 拡張サポートの詳細については、Kubernetes の「永続ボリュームクレームの拡大」を参照してください。

Confluent Platform ストレージをスケールアップするには、使用環境で以下が true に設定されている必要があります。

  • Confluent Platform コンポーネントクラスターに関連付けられている StorageClass に allowVolumeExpansion: true が設定されている必要があります。

  • 使用するボリュームの種類で拡張がサポートされていることが必要です。

    本ドキュメントの制作時点で、拡張は GCE Persistent Disk、AWS EBS、Azure Disk などでサポートされている一方、Host Path などの種類のボリュームではサポートされていません。

  • ExpandInUsePersistentVolumes 機能が Kubernetes クラスターで有効になっている必要があります。

    PVC を拡張した場合、ポッドに公開されるファイルシステムをポッドの再起動を要さずに自動拡張する機能を使用するには、Kubernetes クラスターの ExpandInUsePersistentVolumes 機能を有効にする必要があります。バージョン 1.15 以降の Kubernetes クラスターでは、この機能はデフォルトで有効です。PVC 拡張サポートの詳細については、「永続ボリューム」の「使用中の永続ボリュームクレームのリサイズ」を参照してください。

ストレージの拡張

Confluent コンポーネントクラスターに関連付けられたディスクを拡張するには、次の手順を実行します。

  1. Confluent コンポーネントのカスタムリソース(CR)の dataVolumeCapacity をアップデートします。

    たとえば、Kafka ブローカー用のディスクを 100 Gi に増強する場合は次のようにします。

    kind: Kafka
    metadata:
      name: kafka
    spec:
      dataVolumeCapacity: 100Gi
    
  2. kubectl apply コマンドを実行して CR の変更を適用します。

注釈

If you need to scale up PersistentVolume disks in Azure, contact Confluent Support for guidance.

ディスクのスケールダウン

ディスクのスケールダウンは、CFK の現行バージョンではサポートされません。