使用 Helm 在 Kubernetes 上简单安装 Data Flow

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

借助新的Kubernetes 版 Spring Cloud Data Flow 的 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命令来检查状态。等待所有 Pod 的 READY 列显示“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

Helm 使用愉快!

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您快速提升技能。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部