- 云原生
- DevOps
- 运维
【免费下载链接】devtron
The only Kubernetes dashboard you need
Devtron 是一个构建在 Kubernetes 之上的开源应用交付与可观测性平台,官方定位为 "The only Kubernetes dashboard you need"。本文依据仓库内 getting-started.md 官方入门文档整理,系统讲解在安装 Devtron 之前需要满足的前置条件(Kubernetes 集群、Helm、资源配额),并逐一对比三种主流安装形态(独立 Helm Dashboard、附带 CI/CD、附带 CI/CD + GitOps),覆盖安装命令、Blob Storage 配置、安装状态验证、管理员凭据获取以及通过 ConfigMap Override 定制安装等完整流程。读完本文,你将能够根据自身业务规模正确评估资源需求,并独立完成 Devtron 的安装、验证与基础定制。
Devtron 的安装形态:先想清楚你要什么
Devtron 始终运行在 Kubernetes 集群之上,官方提供三种安装入口,核心差异在于是否内置 CI/CD 与 GitOps 能力:
| 安装选项 | 说明 | 适用场景 |
|---|---|---|
| Devtron with CI/CD | 内置 CI/CD 集成,支持持续构建、安全扫描、GitOps、调试与可观测性 | 需要完整的"构建 + 部署"流水线能力 |
| Helm Dashboard by Devtron | 独立安装,聚焦于在多个集群中部署、观察、管理与调试已有的 Helm 应用 | 应用已通过 Helm 管理,仅需统一的部署与运维视图;后续可通过 Devtron Stack Manager 按需安装集成 |
| Devtron with CI/CD + GitOps(Argo CD) | 安装 CI/CD 的同时启用 GitOps,安装时直接带上 Argo CD | 期望以 Git 作为唯一事实来源,追求版本控制、协作、合规与基础设施自动化的可扩展方案 |
无论选择哪种形态,安装完成后都可以通过 Devtron Stack Manager 随时发现并安装更多集成(集成安装与 Devtron 更新同步,详见 Stack Manager 文档)。
安装前置条件
官方明确要求:先创建一个 Kubernetes 集群,再在其上安装 Devtron。除此之外还需准备 Helm,并确保集群资源配额满足推荐值。
第一步:创建 Kubernetes 集群
官方建议使用Kubernetes 1.16 及以上版本的集群,主流云厂商与轻量级发行版均可,可按需选择:
| 云平台/发行版 | 说明 |
|---|---|
| AWS EKS | 使用 AWS EKS 官方控制台或 CLI 创建集群;官方另有针对 AWS EKS 的 CI/CD 安装专项文档 |
| Google Kubernetes Engine (GKE) | 使用 GKE 创建托管集群 |
| Azure Kubernetes Service (AKS) | 使用 AKS 创建托管集群 |
| k3s(轻量级 Kubernetes) | 适合本地与边缘环境;官方提供在 Minikube、Microk8s、K3s、Kind 上安装 Helm Dashboard 的专项指南,见 Install-devtron-on-Minikube-Microk8s-K3s-Kind.md |
第二步:安装 Helm
Devtron 全部通过 Helm Chart(devtron/devtron-operator)交付,因此必须先在本机安装 Helm 3。安装完成后建议确认helm version可正常执行。
第三步:确认资源配额
官方按照"管理的应用数量"给出两档最低资源要求,安装前请务必确认集群可用资源:
小规模配置(管理不超过 5 个应用)
| 集成 | CPU | 内存 |
|---|---|---|
| Devtron with CI/CD | 2 | 6 GB |
| Helm Dashboard by Devtron | 1 | 1 GB |
中/大规模配置(管理超过 5 个应用)
| 集成 | CPU | 内存 |
|---|---|---|
| Devtron with CI/CD | 6 | 13 GB |
| Helm Dashboard by Devtron | 2 | 3 GB |
资源细节可参考 Override 默认安装配置 进一步调整。
注意事项:
- 推荐的资源配额必须在安装前就已就绪,否则安装过程可能失败或异常;
- 官方明确不推荐使用可突发型(burstable)CPU 虚拟机(AWS 的 T 系列、Azure 的 B 系列、GCP 的 E2/N1)来运行 Devtron,这类实例的 CPU 配额不稳定,会影响性能一致性。
安装 Devtron
以下按三种形态给出完整命令。所有命令都以devtroncd命名空间安装,请确保本机已配置好 kubectl 且能访问目标集群。
方式一:安装 Helm Dashboard by Devtron(独立安装)
该命令不会安装 CI/CD 集成,需要 CI/CD 时请改用方式二。
helm repo add devtron https://helm.devtron.ai helm repo update devtron helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd方式二:安装 Devtron with CI/CD
在安装命令中追加--set installer.modules={cicd}即可启用 CI/CD 模块:
helm repo add devtron https://helm.devtron.ai helm repo update devtron helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd \ --set installer.modules={cicd}方式三:安装 Devtron with CI/CD + GitOps(Argo CD)
在方式二基础上追加--set argo-cd.enabled=true:
helm repo add devtron https://helm.devtron.ai helm repo update devtron helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd \ --set installer.modules={cicd} \ --set argo-cd.enabled=true多架构节点(ARM 与 AMD 混合集群)
若集群节点为 ARM/AMD 多架构混合,需在安装命令后追加:
--set installer.arch=multi-arch该参数在方式一、二、三中均可使用。在 Minikube/Kind/k3s 等本地集群安装时,还会结合--set components.devtron.service.type=NodePort以便通过 NodePort 访问,详见 本地集群安装指南。
EKS 1.23+ 的额外前置:aws-ebs-csi-driver
官方特别提示:若使用 EKS 1.23 及以上版本,必须先安装 aws-ebs-csi-driver,否则存储卷无法正常挂载。可通过 Helm 安装:
helm repo add aws-ebs-csi-driver \ https://kubernetes-sigs.github.io/aws-ebs-csi-driver helm repo update helm upgrade --install aws-ebs-csi-driver \ --namespace kube-system aws-ebs-csi-driver/aws-ebs-csi-driver安装过程中配置 Blob Storage
Blob Storage 用于存放构建日志与构建缓存。官方明确警告:如果不配置 Blob Storage,将出现以下问题:
- 超过 1 小时后无法访问构建与部署日志;
- 由于没有缓存,按 commit hash 构建的时间显著变长;
- pre/post 构建与部署阶段无法生成制品(artifact)报告。
因此,生产环境务必在安装时同步配置。官方支持四种存储后端,安装时通过--set注入configs.*(ConfigMap)与secrets.*(Secret)参数。
MinIO Storage
MinIO 可本地部署,适合自建环境:
helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd \ --set installer.modules={cicd} \ --set minio.enabled=trueAWS S3 Bucket
S3 支持三种认证方式,安装时选择其一:
- 使用 S3 IAM 策略(需提前为节点所挂 IAM 角色配置 S3 权限策略):
helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd \ --set installer.modules={cicd} \ --set configs.BLOB_STORAGE_PROVIDER=S3 \ --set configs.DEFAULT_CACHE_BUCKET=demo-s3-bucket \ --set configs.DEFAULT_CACHE_BUCKET_REGION=us-east-1 \ --set configs.DEFAULT_BUILD_LOGS_BUCKET=demo-s3-bucket \ --set configs.DEFAULT_CD_LOGS_BUCKET_REGION=us-east-1- 使用 access-key / secret-key 认证:
helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd \ --set installer.modules={cicd} \ --set configs.BLOB_STORAGE_PROVIDER=S3 \ --set configs.DEFAULT_CACHE_BUCKET=demo-s3-bucket \ --set configs.DEFAULT_CACHE_BUCKET_REGION=us-east-1 \ --set configs.DEFAULT_BUILD_LOGS_BUCKET=demo-s3-bucket \ --set configs.DEFAULT_CD_LOGS_BUCKET_REGION=us-east-1 \ --set secrets.BLOB_STORAGE_S3_ACCESS_KEY=<access-key> \ --set secrets.BLOB_STORAGE_S3_SECRET_KEY=<secret-key>- 使用 S3 兼容存储(在上一命令基础上追加 endpoint):
--set configs.BLOB_STORAGE_S3_ENDPOINT=<endpoint>AWS 相关参数的完整说明见 installation-configuration.md 的 AWS 小节。
Azure Blob Storage
helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd \ --set installer.modules={cicd} \ --set secrets.AZURE_ACCOUNT_KEY=xxxxxxxxxx \ --set configs.BLOB_STORAGE_PROVIDER=AZURE \ --set configs.AZURE_ACCOUNT_NAME=test-account \ --set configs.AZURE_BLOB_CONTAINER_CI_LOG=ci-log-container \ --set configs.AZURE_BLOB_CONTAINER_CI_CACHE=ci-cache-containerGoogle Cloud Storage
GCP 的凭证以 Base64 编码后的 JSON 注入(可用echo -n "string" | base64生成):
helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd \ --set installer.modules={cicd} \ --set configs.BLOB_STORAGE_PROVIDER=GCP \ --set secrets.BLOB_STORAGE_GCP_CREDENTIALS_JSON=<base64-encoded-json> \ --set configs.DEFAULT_CACHE_BUCKET=cache-bucket \ --set configs.DEFAULT_BUILD_LOGS_BUCKET=log-bucket通用注意:确保集群对上述桶/容器具备读写权限;使用 AWS 时还需保证集群能读取 SSM 与 Secrets Manager。若安装完成后想切换存储后端,可在 installation-configuration.md 找到对应helm upgrade --reuse-values命令。
验证安装:状态、日志与 Dashboard
完整安装约需15~20 分钟,所有 Devtron 微服务会逐个拉起。官方通过自定义资源Installers来驱动安装,该 CRD 定义在仓库 manifests/crds/crd-devtron.yaml 中(group 为installer.devtron.ai,kind 为Installer),因此可用 kubectl 直接查询其同步状态。
检查安装状态
kubectl -n devtroncd get installers installer-devtron \ -o jsonpath='{.status.sync.status}'| 状态 | 含义 |
|---|---|
Downloaded | installer 已下载全部清单,安装进行中 |
Applied | installer 已成功应用全部清单,安装完成 |
查看 installer 日志
kubectl logs -f -l app=inception -n devtroncd获取 Dashboard 地址
kubectl get svc -n devtroncd devtron-service \ -o jsonpath='{.status.loadBalancer.ingress}'输出示例:
[map[hostname:aaff16e9760594a92afa0140dbfd99f7-305259315.us-east-1.elb.amazonaws.com]]返回的 hostname 即为 LoadBalancer URL,可直接在浏览器打开 Devtron Dashboard。
若未返回 hostname 或提示 "service doesn't exist",说明 Devtron 仍在安装中,请耐心等待安装完成。
如需使用自定义域名,可配置一条 CNAME 指向上述负载均衡地址:
| Host | Type | Points to |
|---|---|---|
| devtron.yourdomain.com | CNAME | aaff16e9760594a92afa0140dbfd99f7-305259315.us-east-1.elb.amazonaws.com |
本地集群(Minikube/Kind/k3s)则使用minikube service devtron-service --namespace devtroncd或kubectl -n devtroncd port-forward service/devtron-service 8000:80访问,详见 本地集群安装指南。
获取管理员凭据
首次安装时 Devtron 会创建默认管理员账号(拥有全部权限)。Devtron v0.6.0 及以上版本:
- 用户名:
admin - 密码:从
devtron-secret中解密ADMIN_PASSWORD:
kubectl -n devtroncd get secret devtron-secret \ -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d若使用 v0.6.0 之前的旧版本,密钥字段名为
ACD_PASSWORD。
官方强烈建议:首次登录后立即配置 SSO(如 Google、GitHub),并将自己与其他用户纳入 SSO 登录体系,之后所有用户统一通过 SSO 访问 Dashboard。
通过 Override 定制安装
某些场景下需要调整默认配置,例如修改 Deployment/StatefulSet 的 CPU/内存请求与限制、为 Pod 增加 node affinity 或 taint 容忍,或者为 Ingress 增加注解与 host。仓库在 manifests/updates 目录中提供了各组件对应的 override 模板(如devtron-ingress-override.yaml、devtron-argocd-override.yaml、devtron-workflow-override.yaml等)。
其机制是:Devtron 会在devtroncd命名空间查找与组件对应的 ConfigMap(例如 dashboard 对应dashboard-override-cm、argocd 对应argocd-override-cm、ingress 对应devtron-ingress-override-cm),ConfigMap 的data.override字段承载多行 YAML 来匹配并修改目标对象。
以修改 Ingress 为例,devtron-ingress-override.yaml 的结构如下:
apiVersion: v1 kind: ConfigMap metadata: name: devtron-ingress-override-cm namespace: devtroncd data: override: | apiVersion: networking.k8s.io/v1 # k8s < 1.19 使用 extensions/v1beta1 kind: Ingress metadata: name: devtron-ingress # update: # metadata: # annotations: # owner: app1 # spec: # rules: # - http: # host: http://change-me其中apiVersion、kind、metadata.name用于匹配需要修改的对象,update段中的内容会被合并应用到目标对象。修改多个对象时,可在同一个override中用---分隔多段清单(例如同时改 Argo CD 的 dex-server 与 redis,参见 devtron-argocd-override.yaml 与 devtron-override-cm.yaml)。
应用与生效命令:
kubectl apply -f file-name -n devtroncd kubectl patch -n devtroncd installer installer-devtron --type='json' \ -p='[{"op": "add", "path": "/spec/reSync", "value": true }]'变更将在约 20~30 分钟内逐步生效。更多 Secrets / ConfigMaps 参数(如BASE_URL_SCHEME、BASE_URL、PROMETHEUS_URL、CI_NODE_LABEL_SELECTOR等)可查阅 installation-configuration.md。
生产环境推荐配置
官方在 manifests/updates/production 目录维护了一套面向生产环境的推荐 overrides,官方声明其规模足够支撑约 200 个微服务,整体资源需求为CPU 6 核、内存 13 GB,与上文"中/大规模配置"一致。这套配置既可在安装前(kubectl create ns devtroncd后预先 apply),也可在安装后应用到现有devtroncd命名空间:
kubectl apply -f prod-configs -n devtroncd升级与卸载
升级:Devtron 支持两种升级路径——通过 Helm 升级(各历史版本升级路线见 upgrade 目录),以及从 Devtron UI 直接升级(见 upgrade-devtron-ui.md)。
卸载:卸载命令会删除所有与 Devtron 相关的命名空间(devtroncd、devtron-cd、devtron-ci等),完整流程见 uninstall-devtron.md:
helm uninstall devtron --namespace devtroncd kubectl delete -n devtroncd -f <crd-devtron.yaml> # 仓库内对应 manifests/crds/crd-devtron.yaml kubectl delete -n argo -f <workflow.yaml> # 仓库内对应 manifests/yamls/workflow.yaml kubectl delete ns devtroncd devtron-cd devtron-ci devtron-demo argo小结
安装 Devtron 的关键决策链可归纳为四步:选集群 → 配资源 → 选形态 → 配存储。先按管理应用数量确认 CPU/内存配额(1~6 核 / 1~13 GB),再按是否使用 CI/CD、GitOps 选择三种安装命令之一,生产环境务必同步配置 Blob Storage,最后用kubectl get installers验证Applied状态、获取 Dashboard 地址与管理员凭据。后续如需扩展能力,可随时通过 Devtron Stack Manager 安装更多集成,并通过 Override 机制 与 安装配置参数 对安装进行细粒度定制。
- 云原生
- DevOps
- 运维
【免费下载链接】devtron
The only Kubernetes dashboard you need
相关推荐
Fuse.js 入门指南:安装方式、快速上手与构建产物选择
Fuse.js 入门指南:安装方式、快速上手与构建产物选择 本文是 Fuse.js 的官方入门指南(对应仓库中的 docs/getting started.md
前端搜索引擎如何在10分钟内部署iTop?Web化ITSM工具快速上手指南
如何在10分钟内部署iTop?Web化ITSM工具快速上手指南 iTop是一款简单易用的Web化IT服务管理(ITSM)工具,集成了CMDB(配置管理数据库)功
后端企业应用Apache MXNet 纯 CPU 版 PyPI 安装指南:mxnet 包的前置条件、安装与变体选择
Apache MXNet 纯 CPU 版 PyPI 安装指南:mxnet 包的前置条件、安装与变体选择 <output Apache MXNet 纯 CPU 版
深度学习机器学习人工智能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考