使用 Helm 簡化 Data Flow for Kubernetes 的安裝

工程 | Thomas Risberg | 2017 年 8 月 31 日 | ...

有了新的 Spring Cloud Data Flow for Kubernetes 的 Helm chart,現在有了一種更簡單的方法來安裝該軟體。

Helm 是 Kubernetes 的包管理器,類似於 apt、yum 或 homebrew。它很容易安裝,並且大大簡化了應用程式及其依賴項到 Kubernetes 叢集中的安裝。應用程式包的內容和配置在 chart 中定義。安裝時,您可以覆蓋任何預設配置值。除了 chart 中定義的那些之外,Helm 還會安裝任何必需的服務。對於 Spring Cloud Data Flow,您有三個必需的服務:MySQL 和 Redis 用作 Spring Cloud Data Flow 狀態的儲存,RabbitMQ 用於管道的訊息傳遞層。

一旦您在本地系統上安裝了 Helm 客戶端,就可以繼續在叢集中安裝 Helm 的伺服器部分,稱為 Tiller

要安裝 tiller,執行 helm init。完成後,您應該能夠透過 kubectl get po --namespace kube-system 命令檢視正在執行的 pod。

您現在可以安裝 Spring Cloud Data Flow 的 chart 包。由於該 chart 目前位於 incubator 儲存庫中,因此您需要透過執行以下命令將此儲存庫新增到我們的 Helm 安裝中

helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com
helm repo update

接下來,使用以下命令執行 chart 安裝

helm install --name my-release incubator/spring-cloud-data-flow

注意

如果您在沒有負載均衡器的叢集上執行,例如 Minikube,那麼您應該覆蓋服務型別以使用 NodePort。請改用以下命令

helm install --name my-release --set server.service.type=NodePort \\ incubator/spring-cloud-data-flow

您應該看到以下輸出

my-release

您剛剛在 Kubernetes 叢集的 default 名稱空間中建立了一個新的 release。註釋部分提供了連線到新安裝的伺服器的說明。應用程式及其所需的服務需要幾分鐘才能啟動。您可以透過發出 get pod -w 命令來檢查狀態。等待 READY 列顯示所有 pod 的 “1/1”。完成後,您可以使用透過 kubectl get svc my-release-data-flow-server 命令列出的外部 ip 連線到 Data Flow 伺服器。預設使用者名稱user密碼password

要檢視正在執行的 Helm release,您可以使用 helm list 命令。當需要刪除 release 時,執行 helm delete my-release。這將刪除為 release 建立的任何資源,但保留 release 資訊,以便您可以使用 helm rollback my-release 1 命令回滾任何更改。要完全刪除 release 並清除任何 release 元資料,請使用 helm delete my-release --purge

注意

在 chart 升級時,用於所需服務的生成密碼存在一個 問題。要避免這種情況,請在安裝 chart 時設定這些服務的密碼。您可以使用

helm install --name my-release \\
    --set rabbitmq.rabbitmqPassword=rabbitpwd \\
    --set mysql.mysqlRootPassword=mysqlpwd \\
    --set redis.redisPassword=redispwd incubator/spring-cloud-data-flow

祝您 Helming 愉快!

獲取 Spring 新聞資訊

透過 Spring 新聞資訊保持聯絡

訂閱

搶佔先機

VMware 提供培訓和認證,以加速您的進步。

瞭解更多

獲取支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

即將舉行的活動

檢視 Spring 社群中所有即將舉行的活動。

檢視全部