spring-cloud-dataflow Docker 镜像下载 - 轩辕镜像
spring-cloud-dataflow 镜像详细信息和使用指南
spring-cloud-dataflow 镜像标签列表和版本信息
spring-cloud-dataflow 镜像拉取命令和加速下载
spring-cloud-dataflow 镜像使用说明和配置指南
Docker 镜像加速服务 - 轩辕镜像平台
国内开发者首选的 Docker 镜像加速平台
极速拉取 Docker 镜像服务
相关 Docker 镜像推荐
热门 Docker 镜像下载
spring-cloud-dataflow 镜像详细信息
spring-cloud-dataflow 镜像标签列表
spring-cloud-dataflow 镜像使用说明
spring-cloud-dataflow 镜像拉取命令
Docker 镜像加速服务
轩辕镜像平台优势
镜像下载指南
相关 Docker 镜像推荐
spring-cloud-dataflow 镜像详细说明
spring-cloud-dataflow 使用指南
spring-cloud-dataflow 配置说明
spring-cloud-dataflow 官方文档
Bitnami Spring Cloud Data Flow Helm Chart
Spring Cloud Data Flow 是一个基于微服务的工具包,用于在Cloud Foundry和Kubernetes中构建流处理和批处理数据处理管道。
Spring Cloud Data Flow 概述
此Helm chart已被弃用
上游项目已停止维护,因此,此Helm chart也将被弃用。
TL;DR
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/spring-cloud-dataflow
如需在生产环境中使用Spring Cloud Data Flow,可尝试VMware Tanzu Application Catalog,即Bitnami目录的商业版。
简介
此chart使用Helm包管理器在Kubernetes集群上引导Spring Cloud Data Flow部署。
前提条件
- Kubernetes 1.23+
- Helm 3.8.0+
- 底层基础设施支持PV供应
安装Chart
要使用发布名称my-release安装chart:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/spring-cloud-dataflow
注意:需要将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为Helm chart仓库和存储库的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
这些命令使用默认配置在Kubernetes集群上部署Spring Cloud Data Flow。参数部分列出了可在安装过程中配置的参数。
提示:使用
helm list列出所有发布。
配置和安装详情
资源请求和限制
Bitnami chart允许为chart部署中的所有容器设置资源请求和限制。这些配置位于resources值中(参见参数表)。为生产工作负载设置请求至关重要,应根据具体用例进行调整。
为简化此过程,chart包含resourcesPreset值,可根据不同预设自动设置resources部分。有关这些预设的详细信息,请参见bitnami/common chart。但在生产工作负载中,不建议使用resourcesPreset,因为它可能无法完全适应您的特定需求。有关容器资源管理的更多信息,请参见Kubernetes***文档。
备份和恢复
要在Kubernetes上备份和恢复Helm chart部署,需要使用Kubernetes备份/恢复工具Velero备份源部署的持久卷,并将其附加到新部署。有关使用Velero的说明,请参见此指南。
Prometheus指标
通过将metrics.enabled设置为true,此chart可与Prometheus集成。这将部署一个包含prometheus-rsocket-proxy的Deployment和一个metrics服务,可在metrics.service部分下进行配置。此metrics服务将具有必要的注解,以被Prometheus自动抓取。
Prometheus要求
要使集成正常工作,需要安装有效的Prometheus或Prometheus Operator。安装Bitnami Prometheus helm chart或Bitnami Kube Prometheus helm chart,可在集群中轻松获得可用的Prometheus。
与Prometheus Operator集成
此chart可为与Prometheus Operator安装集成部署ServiceMonitor对象。要实现此目的,需将值metrics.serviceMonitor.enabled设置为true。确保集群中已安装Prometheus Operator CustomResourceDefinitions,否则将失败并显示以下错误:
textno matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
安装Bitnami Kube Prometheus helm chart以获取必要的CRD和Prometheus Operator。
滚动标签与不可变标签
强烈建议在生产环境中使用不可变标签。这可确保如果相同标签使用不同镜像更新,部署不会自动更改。
如果主容器有新版本、重大更改或严重漏洞,Bitnami将发布新chart以更新其容器。
功能特性
如果只需部署任务和调度,可禁用流处理和Skipper:
consoleserver.configuration.batchEnabled=true server.configuration.streamingEnabled=false skipper.enabled=false rabbitmq.enabled=false
如果只需部署流,可禁用任务和调度:
consoleserver.configuration.batchEnabled=false server.configuration.streamingEnabled=true skipper.enabled=true rabbitmq.enabled=true
注意:server.configuration.batchEnabled和server.configuration.streamingEnabled不应同时设置为false。
消息解决方案
此chart支持两种消息解决方案:
- RabbitMQ(默认)
- Kafka
要将消息层更改为Kafka,请使用以下参数:
consolerabbitmq.enabled=false kafka.enabled=true
同一时间只能使用一种消息层。
使用外部数据库
有时您可能希望Spring Cloud组件连接到外部数据库,而不是在集群内安装数据库,例如使用托管数据库服务,或为所有应用使用单个数据库服务器。为此,chart允许您在externalDatabase参数下指定外部数据库的凭据。还应使用mariadb.enabled选项禁用MariaDB安装。例如,使用以下参数:
consolemariadb.enabled=false externalDatabase.scheme=mariadb externalDatabase.host=myexternalhost externalDatabase.port=3306 externalDatabase.dataflow.username=mydataflowuser externalDatabase.dataflow.password=mydataflowpassword externalDatabase.dataflow.database=mydataflowdatabase externalDatabase.skipper.username=myskipperuser externalDatabase.skipper.password=myskipperpassword externalDatabase.skipper.database=myskipperdatabase
注意:当使用各个属性(scheme、host、port、database、可选的jdbcParameters)时,此chart将JDBC URL格式化为jdbc:{scheme}://{host}:{port}/{database}{jdbcParameters}。URL格式遵循MariaDB数据库驱动,但可能不适用于其他数据库供应商。
要使用其他数据库供应商(非MariaDB),可使用externalDatabase.dataflow.url和externalDatabase.skipper.url属性分别提供Dataflow服务器和Skipper的JDBC URL。如果定义了这些属性,它们将优先于各个属性。例如,配置外部MS SQL Server数据库:
consolemariadb.enabled=false externalDatabase.dataflow.url=jdbc:sqlserver://mssql-server:1433 externalDatabase.dataflow.username=mydataflowuser externalDatabase.dataflow.password=mydataflowpassword externalDatabase.skipper.url=jdbc:sqlserver://mssql-server:1433 externalDatabase.skipper.username=myskipperuser externalDatabase.skipper.password=myskipperpassword externalDatabase.hibernateDialect=org.hibernate.dialect.SQLServer2012Dialect
注意:如果按上述方式禁用MariaDB,则必须提供externalDatabase连接的值。
添加额外环境变量
如需向任何Spring Cloud组件添加额外环境变量,可使用XXX.extraEnvs参数(其中XXX是需要替换为实际组件的占位符)。例如,要向Spring Cloud Data Flow添加额外标志:
yamlserver: extraEnvs: - name: FOO value: BAR
使用自定义Dataflow配置
此helm chart支持为Dataflow服务器使用自定义配置。
可通过将server.existingConfigmap参数设置为包含配置文件的外部ConfigMap来指定Dataflow服务器的配置。
使用自定义Skipper配置
此helm chart支持为Skipper服务器使用自定义配置。
可通过将skipper.existingConfigmap参数设置为包含配置文件的外部ConfigMap来指定Skipper服务器的配置。
边车和初始化容器
如果需要在Dataflow或Skipper组件的同一pod中运行额外容器(例如额外的指标或日志导出器),可通过XXX.sidecars参数(其中XXX是需要替换为实际组件的占位符)实现。只需根据Kubernetes容器规范定义容器。
yamlserver: sidecars: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
类似地,可使用XXX.initContainers参数添加额外的初始化容器。
yamlserver: initContainers: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
Ingress
此chart提供对Ingress资源的支持。如果集群上安装了Ingress控制器,例如nginx-ingress-controller或contour,可利用Ingress控制器为应用提供服务。
要启用Ingress集成,请将server.ingress.enabled设置为true
主机
大多数情况下,您可能只需要一个主机名映射到此Spring Cloud Data Flow安装。如果是这种情况,server.ingress.hostname属性将设置它。但也可以有多个主机。为方便实现,server.ingress.extraHosts对象可指定为数组。还可使用server.ingress.extraTLS为额外主机添加TLS配置。
对于server.ingress.extraHosts中指定的每个主机,请指明name、path以及可能需要Ingress控制器了解的任何annotations。
有关注解,请参见此文档。并非所有注解都受所有Ingress控制器支持,但本文档很好地说明了哪些注解受许多流行Ingress控制器支持。
TLS
此chart将有助于创建用于Ingress控制器的TLS密钥,但这不是必需的。有四种常见用例:
- Helm根据参数生成/管理证书密钥。
- 用户单独生成/管理证书。
- Helm创建自签名证书并生成/管理证书密钥。
- 其他工具(如cert-manager)管理应用的密钥。
在前两种情况下,需要证书和密钥。预期格式如下:
-
证书文件应如下所示(如果有证书链,可包含多个证书)
console-----BEGIN CERTIFICATE----- MIID6TCCAtGgAwIBAgIJAIaCwivkeB5EMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV ... jScrvkiBO65F46KioCL9h5tDvomdU1aqpI/CBzhvZn1c0ZTf87tGQR8NK7v7 -----END CERTIFICATE----- -
密钥应如下所示:
console-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAvLYcyu8f3skuRyUgeeNpeDvYBCDcgq+LsWap6zbX5f8oLqp4 ... wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc= -----END RSA PRIVATE KEY----- -
如果要使用Helm基于参数管理证书,请将这些值复制到给定
server.ingress.secrets条目的certificate和key值中。 -
如果要单独管理TLS密钥,请创建名称为INGRESS_HOSTNAME-tls的TLS密钥(其中INGRESS_HOSTNAME是需要替换为使用
server.ingress.hostname参数设置的主机名的占位符),并仅在server.ingress.secrets中提供其名称,不包含certificate和key条目。 -
要使用Helm创建的自签名证书,将
server.ingress.tls设置为true,并将server.ingress.certManager设置为false。 -
如果集群具有cert-manager附加组件以自动管理和颁发TLS证书,将
server.ingress.certManager布尔值设置为true以启用cert-manager的相应注解。
设置Pod的亲和性
此chart允许使用XXX.affinity参数(其中XXX是需要替换为实际组件的占位符)设置自定义亲和性。有关Pod亲和性的更多信息,请参见kubernetes文档。
作为替代方案,可使用bitnami/common chart中提供的Pod亲和性、Pod反亲和性和节点亲和性的预设配置。为此,设置XXX.podAffinityPreset、XXX.podAntiAffinityPreset或XXX.nodeAffinityPreset参数。
参数
全局参数
| 名称 | 描述 | 值 |
|---|---|---|
global.imageRegistry | 全局Docker镜像仓库 | "" |
global.imagePullSecrets | 全局Docker仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久卷的全局默认StorageClass | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 调整部署的securityContext部分以使其与OpenShift restricted-v2 SCC兼容:移除runAsUser、runAsGroup和fsGroup,让平台使用其允许的默认ID。可能值:auto(如果检测到运行的集群是OpenShift则应用)、force(始终执行调整)、disabled(不执行调整) | auto |
通用参数
| 名称 | 描述 | 值 |
|---|---|---|
nameOverride | 部分覆盖common.names.fullname模板的字符串(将保留发布名称) | "" |
fullnameOverride | 完全覆盖common.names.fullname模板的字符串 | "" |
commonAnnotations | 添加到所有部署对象的注解 | {} |
commonLabels | 添加到所有部署对象的标签 | {} |
kubeVersion | 强制目标Kubernetes版本(如果未设置,则使用Helm功能) | "" |
clusterDomain | 默认Kubernetes集群域 | cluster.local |
extraDeploy | 随发布一起部署的额外对象数组 | [] |
Dataflow Server参数
| 名称 | 描述 | 值 |
|---|---|---|
server.image.registry | Spring Cloud Dataflow镜像仓库 | REGISTRY_NAME |
server.image.repository | Spring Cloud Dataflow镜像存储库 | REPOSITORY_NAME/spring-cloud-dataflow |
server.image.digest | Spring Cloud Dataflow镜像摘要,格式为sha256:aa....注意:如果设置此参数,将覆盖标签 | "" |
server.image.pullPolicy | Spring Cloud Dataflow镜像拉取策略 | IfNotPresent |
server.image.pullSecrets | 指定docker-registry密钥名称数组 | [] |
server.image.debug | 启用镜像调试模式 | false |
server.automountServiceAccountToken | 在pod中挂载ServiceAccount令牌 | true |
server.hostAliases | 部署pod的主机别名 | [] |
server.composedTaskRunner.image.registry | Spring Cloud Dataflow Composed Task Runner镜像仓库 | REGISTRY_NAME |
server.composedTaskRunner.image.repository | Spring Cloud Dataflow Composed Task Runner镜像存储库 | REPOSITORY_NAME/spring-cloud-dataflow-composed-task-runner |
server.composedTaskRunner.image.digest | Spring Cloud Dataflow Composed Task Runner镜像摘要,格式为sha256:aa....注意:如果设置此参数,将覆盖标签 | "" |
server.configuration.streamingEnabled | 启用或禁用流数据处理 | true |
server.configuration.batchEnabled | 启用或禁用批处理数据(任务和调度)处理 | true |
server.configuration.accountName | 为Kubernetes平台配置的账户名称 | default |
server.configuration.trustK8sCerts | 查询Kubernetes API时信任K8s证书 | false |
server.configuration.containerRegistries | 容器仓库配置 |
_注意:此chart的README超出了DockerHub
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务
常见问题
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
轩辕镜像下载加速使用手册
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
登录仓库拉取
通过 Docker 登录认证访问私有仓库
Linux
在 Linux 系统配置镜像加速服务
Windows/Mac
在 Docker Desktop 配置镜像加速
Docker Compose
Docker Compose 项目配置加速
K8s Containerd
Kubernetes 集群配置 Containerd
宝塔面板
在宝塔面板一键配置镜像加速
群晖
Synology 群晖 NAS 配置加速
飞牛
飞牛 fnOS 系统配置镜像加速
极空间
极空间 NAS 系统配置加速服务
爱快路由
爱快 iKuai 路由系统配置加速
绿联
绿联 NAS 系统配置镜像加速
威联通
QNAP 威联通 NAS 配置加速
Podman
Podman 容器引擎配置加速
Singularity/Apptainer
HPC 科学计算容器配置加速
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
专属域名拉取
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429