🐈
素早く Spring Cloud Dataflow @ Minikuber を構築しましょう
Minikubeクラスタの作成
自分の環境に合わせてMinikubeクラスタを作成してください。
今回はWindows環境でテストするので、下記のコマンドでクラスタを作成します。
minikube start --driver hyperv --cpus 6 --memory 8192
Helmからインストール
簡単にテストしたい場合、こちらの方式を参照したほうが楽だと思います。
実案件などメンテナンス性等を慎重に検討してから使ってください。
リポジトリの追加
helm repo add bitnami https://charts.bitnami.com/bitnami
チャートのインストール
helm install gekal bitnami/spring-cloud-dataflow \
--set kafka.enabled=true,rabbitmq.enabled=false \
--set kafka.replicaCount=3 \
--set server.service.type=NodePort \
--set skipper.service.type=NodePort \
--set mariadb.auth.rootPassword=mysqlpwd
チャートの更新
export MARIADB_ROOT_PASSWORD=$(kubectl get secret --namespace default gekal-mariadb -o jsonpath="{.data.mariadb-root-password}" | base64 -d)
export MARIADB_PASSWORD=$(kubectl get secret --namespace default gekal-mariadb -o jsonpath="{.data.mariadb-password}" | base64 -d)
# Kafka Brokerのレプリカカウントの修正
helm upgrade gekal bitnami/spring-cloud-dataflow \
--set kafka.enabled=true,rabbitmq.enabled=false \
--set kafka.replicaCount=1 \
--set server.service.type=NodePort \
--set skipper.service.type=NodePort \
--set mariadb.auth.password=$MARIADB_PASSWORD \
--set mariadb.auth.rootPassword=$MARIADB_ROOT_PASSWORD
チャートのアンインストール
helm uninstall gekal
管理画面へのアクセス
-
Windows
# Powershell start "$(minikube service --url gekal-spring-cloud-dataflow-server)/dashboard"
-
Mac
open "$(minikube service --url gekal-spring-cloud-dataflow-server)/dashboard"
アプリケーションの登録
Streamアプリケーション
-
Windows
# RabbitMQ Invoke-WebRequest "$(minikube service --url gekal-spring-cloud-dataflow-server)/apps" -Method POST -Body 'uri=https://dataflow.spring.io/rabbitmq-docker-latest&force=true' # Kafka Invoke-WebRequest "$(minikube service --url gekal-spring-cloud-dataflow-server)/apps" -Method POST -Body 'uri=https://dataflow.spring.io/kafka-docker-latest&force=true'
-
Mac/Linux
# RabbitMQ wget -qO- "$(minikube service --url my-release-data-flow-server)/apps" --post-data="uri=https://dataflow.spring.io/rabbitmq-docker-latest&force=true"; # Kafka wget -qO- "$(minikube service --url my-release-data-flow-server)/apps" --post-data="uri=https://dataflow.spring.io/kafka-docker-latest&force=true";
Taskアプリケーション
-
Windows
Invoke-WebRequest "$(minikube service --url gekal-spring-cloud-dataflow-server)/apps" -Method POST -Body 'uri=https://dataflow.spring.io/task-docker-latest&force=true'
-
Mac/Linux
wget -qO- "$(minikube service --url my-release-data-flow-server)/apps" --post-data="uri=https://dataflow.spring.io/task-docker-latest&force=true";
Discussion