使用 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 社区中所有即将举行的活动。

查看全部