【ITニュース解説】Deploying DolphinScheduler 3.2.2 on Kubernetes with Rancher: A Step-by-Step Production Guide

2025年09月03日に「Dev.to」が公開したITニュース「Deploying DolphinScheduler 3.2.2 on Kubernetes with Rancher: A Step-by-Step Production Guide」について初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

ITニュース概要

KubernetesとRancher上にApache DolphinScheduler 3.2.2を構築する手順を解説。中国国内での利用を想定し、イメージのミラーリング、依存関係のローカルキャッシュ、NFSストレージの利用で、インストール時の問題を解決。values.yamlを調整し、ネットワーク環境に左右されないDolphinScheduler環境を構築可能。

ITニュース解説

このガイドは、KubernetesとRancherを使って、本番環境に対応できるApache DolphinScheduler 3.2.2のクラスタを迅速に構築する方法をステップごとに解説するものだ。特に、中国本土の運用チームが直面する3つの課題、すなわちイメージのダウンロード速度、依存関係のローカル化、永続ストレージの確保に焦点を当てている。

まず、必要な前提条件と環境を準備する。Kubernetesはコンテナオーケストレーション、RancherはGUIとHelmチャートリポジトリ、Helmはパッケージ管理に使用する。また、成果物の共有ストレージとしてNFSサーバを用意する。環境は、Harbor、Rancher、Kubernetesマスターノード、そして複数のワーカーノードで構成される。

次に、Helmチャートをダウンロードして修正する。Rancherのローカルクラスタシェルから、DolphinSchedulerのソースコードをダウンロードし、展開する。そして、チャートディレクトリに移動する。

中国のネットワーク環境下では、Bitnamiのチャートへのアクセスが遅延することがあるため、Chart.yamlファイルを編集し、GitHubのURLを高速なミラーサイトに置き換える。その後、helm dependency updateコマンドを実行して依存関係を更新し、postgresql、minio、zookeeperのチャートを解凍する。

コンテナイメージのローカル化も重要だ。values.yamlファイルを編集し、イメージのレジストリを中国国内のミラーサイトに変更する。これにより、イメージのダウンロード時間を短縮できる。DolphinSchedulerだけでなく、postgresql、minio、zookeeperなどのサブチャートも同様にミラーサイトを指定する。

永続ストレージの設定には、NFSを利用する。sc.yamlファイルを作成し、NFSをバックエンドとするStorageClassを定義する。これにより、Podの再起動後もデータが保持される。kubectl apply -f sc.yamlコマンドでStorageClassを適用する。

リソースとJVMの設定も調整する。本番環境では、CPUとメモリのリソース制限を適切に設定し、DolphinSchedulerの各コンポーネントが安定して動作するようにする。values.yamlファイルで、masterノードとworkerノードのリソース制限と要求、そしてJVMのオプションを設定する。workerノードには永続ボリュームクレームを設定し、NFSストレージを利用するように指定する。

DolphinSchedulerをデプロイし、動作を確認する。まず、kubectl create ns dolphinschedulerコマンドでDolphinScheduler用の名前空間を作成する。次に、helm -n dolphinscheduler install ds -f values.yaml .コマンドでDolphinSchedulerをインストールする。kubectl -n dolphinscheduler get pods -wコマンドでPodのステータスを監視し、すべてのPodがRunning状態になることを確認する。

UIにアクセスするために、RancherのIngressを設定する。values.yamlファイルでIngressを有効にし、ホスト名とパスを指定する。ローカルDNSエントリを追加し、指定したホスト名でDolphinSchedulerのUIにアクセスできるようにする。ブラウザでhttp://dolphinscheduler.tyzwkj.cn/dolphinscheduler/ui/を開き、デフォルトのユーザー名とパスワードでログインできることを確認する。

最後に、DolphinSchedulerのスケールや監視について説明する。kubectl -n dolphinscheduler scale sts ds-dolphinscheduler-worker --replicas=5コマンドでworkerノードを水平方向にスケールできる。Prometheusを有効にすることで、DolphinSchedulerのメトリクスを監視できる。より本格的な本番環境では、外部のPostgreSQLやMySQLデータベースを使用することを推奨する。

このガイドでは、イメージのミラーリング、依存関係のキャッシュ、NFSベースのボリュームの使用を通じて、インターネット接続が不安定な環境でも、DolphinSchedulerを繰り返しデプロイできることを示した。values.yamlファイルを調整することで、どのようなネットワーク環境でも迅速にDolphinSchedulerのクラスタを構築できる。