Devtron 是一款开源云原生应用管理平台,集成 CI/CD、GitOps、安全扫描和监控告警等功能,助力团队高效管理 Kubernetes 应用全生命周期。
Devtron 是一款开源的云原生应用管理平台,提供了完整的应用生命周期管理解决方案。它集成了 CI/CD、GitOps、安全扫描、监控告警等功能,帮助开发和运维团队高效管理 Kubernetes 应用。
Devtron 提供丰富的功能,覆盖应用部署、CI/CD 流水线、安全合规、监控告警和开发工具集成等多个方面。
Devtron 采用分层架构,由 API、服务、基础设施和数据层组成,协同提供全面的 Kubernetes 应用管理。下图展示了 Devtron 的主要架构组件及其交互关系。
```mermaid “Devtron 系统架构” graph TD subgraph “Client Layer” Client[“User/Browser”] end
subgraph "API Layer"
Router["MuxRouter"]
CiHandler["CI Handlers"]
CdHandler["CD Handlers"]
AppHandler["App Handlers"]
ClusterHandler["Cluster Handlers"]
UserHandler["User/Auth Handlers"]
AppStoreHandler["AppStore Handlers"]
end
subgraph "Service Layer"
CiService["CI Service"]
CdService["CD Service"]
AppService["App Service"]
ClusterService["Cluster Service"]
UserAuthService["User Auth Service"]
AppStoreService["AppStore Service"]
WorkflowService["Workflow Service"]
PipelineBuilder["Pipeline Builder"]
CiCdPipelineOrchestrator["CI/CD Pipeline Orchestrator"]
DeploymentConfigService["Deployment Config Service"]
GitOpsConfigService["GitOps Config Service"]
end
subgraph "Infrastructure Layer"
ArgoWorkflowExecutor["Argo Workflow Executor"]
SystemWorkflowExecutor["System Workflow Executor"]
TemplateService["Template Service"]
GitService["Git Service"]
Kubernetes["Kubernetes"]
GitRepos["Git Repositories"]
end
subgraph "Data Layer"
PostgreSQL["PostgreSQL Database"]
BlobStorage["Blob Storage (S3/MinIO/Azure)"]
end
Client --> Router
Router --> CiHandler
Router --> CdHandler
Router --> AppHandler
Router --> ClusterHandler
Router --> UserHandler
Router --> AppStoreHandler
CiHandler --> CiService
CdHandler --> CdService
AppHandler --> AppService
ClusterHandler --> ClusterService
UserHandler --> UserAuthService
AppStoreHandler --> AppStoreService
CiService --> WorkflowService
CdService --> WorkflowService
AppService --> PipelineBuilder
PipelineBuilder --> CiCdPipelineOrchestrator
CiCdPipelineOrchestrator --> DeploymentConfigService
CiCdPipelineOrchestrator --> GitOpsConfigService
WorkflowService --> ArgoWorkflowExecutor
WorkflowService --> SystemWorkflowExecutor
DeploymentConfigService --> TemplateService
GitOpsConfigService --> GitService
ArgoWorkflowExecutor --> Kubernetes
SystemWorkflowExecutor --> Kubernetes
TemplateService --> Kubernetes
GitService --> GitRepos
CiService --> PostgreSQL
CdService --> PostgreSQL
AppService --> PostgreSQL
ClusterService --> PostgreSQL
UserAuthService --> PostgreSQL
AppStoreService --> PostgreSQL
WorkflowService --> BlobStorage ```
{width=2741 height=1886}
Devtron 提供完整的 CI/CD 流水线,自动化实现从代码提交到生产部署的全流程。下图展示了主要流程。
```mermaid “Devtron CI/CD 流水线流程” graph TD subgraph “CI Pipeline Flow” GitPush[“Git Push/Webhook”] –> TriggerCI[“Trigger CI”] TriggerCI –> CIHandler[“CI Handler”] CIHandler –> CIService[“CI Service”] CIService –> WorkflowService[“Workflow Service”] WorkflowService –> ExecuteWorkflow[“Execute Workflow”] ExecuteWorkflow –> BuildArtifact[“Build Container Image”] BuildArtifact –> SecurityScan[“Security Scan (Optional)”] SecurityScan –> PublishArtifact[“Publish to Registry”] PublishArtifact –> TriggerCD[“Trigger CD (Auto/Manual)”] end
subgraph "CD Pipeline Flow"
TriggerCD --> CDHandler["CD Handler"]
CDHandler --> CDService["CD Service"]
CDService --> PreStage["Pre-Deployment Stage"]
PreStage --> DeploymentStage["Deployment Stage"]
DeploymentStage --> PostStage["Post-Deployment Stage"]
PostStage --> UpdateStatus["Update Deployment Status"]
end
subgraph "Deployment Strategies"
DeploymentStage --> DirectK8s["Direct Kubernetes"]
DeploymentStage --> ArgoCD["ArgoCD GitOps"]
DeploymentStage --> RollingUpdate["Rolling Update"]
DeploymentStage --> BlueGreen["Blue/Green Deployment"]
DeploymentStage --> Canary["Canary Deployment"]
end
subgraph "Artifacts and Storage"
BuildArtifact --> ContainerImage["Container Image"]
ContainerImage --> Registry["Container Registry"]
BuildArtifact --> BuildLogs["Build Logs"]
BuildLogs --> BlobStorage["Blob Storage"]
DeploymentStage --> DeploymentLogs["Deployment Logs"]
DeploymentLogs --> BlobStorage
end ```
{width=2677 height=2792}
Devtron 采用模板化方法配置和管理应用部署,支持多种部署模板类型,适应不同应用需求。
```mermaid “Devtron 部署配置流程” graph TD subgraph “Application Definition” App[“Application”] –> DeploymentTemplate[“Deployment Template”] App –> ConfigMaps[“ConfigMaps”] App –> Secrets[“Secrets”] App –> GitMaterials[“Git Materials”] App –> Workflows[“Workflows”] end
subgraph "Deployment Templates"
DeploymentTemplate --> DeploymentChart["Deployment Chart"]
DeploymentTemplate --> RolloutChart["Rollout Chart"]
DeploymentTemplate --> JobCronjobChart["Job/CronJob Chart"]
DeploymentTemplate --> StatefulSetChart["StatefulSet Chart"]
end
subgraph "Environment Configuration"
Environment["Environment"] --> EnvOverrides["Environment Overrides"]
EnvOverrides --> TemplateOverrides["Template Overrides"]
EnvOverrides --> ConfigMapOverrides["ConfigMap Overrides"]
EnvOverrides --> SecretsOverrides["Secrets Overrides"]
end
subgraph "Deployment Process"
CDPipeline["CD Pipeline"] --> FetchConfig["Fetch Configuration"]
FetchConfig --> MergeOverrides["Merge Overrides"]
MergeOverrides --> GenerateManifests["Generate K8s Manifests"]
GenerateManifests --> DeploymentMethod["Apply Deployment Method"]
DeploymentMethod --> DirectK8s["Direct to K8s"]
DeploymentMethod --> GitOps["Via GitOps (ArgoCD)"]
end
DeploymentTemplate --> EnvOverrides
ConfigMaps --> EnvOverrides
Secrets --> EnvOverrides
App --> CDPipeline
Environment --> CDPipeline ```
{width=3048 height=1554}
所有模板均可通过 GUI 或 YAML 编辑灵活配置。
Devtron 支持多种安装模式,满足不同场景需求。
| 安装选项 | 描述 | 使用场景 |
|---|---|---|
| Devtron with CI/CD | 完整安装,含 CI/CD | 完整软件交付工作流 |
| Helm Dashboard | 仅 Helm 应用管理 | 管理现有 Helm 应用 |
| Devtron with CI/CD and GitOps | 启用 GitOps (ArgoCD) | 基于 GitOps 的部署工作流 |
安装过程使用 Helm Chart,支持多种存储后端(MinIO、AWS S3、Azure Blob、GCS)。
Devtron 内置多项安全功能,支持 DevSecOps 工作流:
扫描可在构建前、镜像构建后、部署前等阶段执行,保障全流程安全。
Devtron 提供集中式全局配置,统一管理平台各项能力:
全局配置为应用和环境的个性化设置提供基础。
推荐使用 Helm Chart 进行安装:
# 添加 Devtron Helm 仓库
helm repo add devtron https://helm.devtron.ai
helm repo update
# 安装 Devtron
helm install devtron devtron/devtron-operator \
--create-namespace \
--namespace devtroncd \
--set components.devtron.url=https://devtron.example.com
访问控制台:
kubectl get secret -n devtroncd devtron-secret -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d
配置外部访问:
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: devtron-ingress
namespace: devtroncd
spec:
ingressClassName: nginx
rules:
- host: devtron.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: devtron-service
port:
number: 80
EOF
Devtron 提供直观的应用管理、环境配置、CI/CD 流水线、安全扫描和监控告警能力。
构建配置示例:
# .devtron/ci-pipeline.yaml
build:
- name: build
image: node:16
commands:
- npm install
- npm run build
- docker build -t myapp:$DOCKER_TAG .
部署配置示例:
# .devtron/cd-pipeline.yaml
deploy:
- name: deploy
environment: production
strategy: blue-green
values:
image.tag: $DOCKER_TAG
Devtron 支持与多种工具和平台集成,提升整体 DevOps 能力。
Devtron 作为云原生应用管理平台,集成了 CI/CD、GitOps、安全、监控等能力,极大提升了 Kubernetes 应用的交付效率和运维体验。通过模块化架构和丰富的集成生态,Devtron 能满足多团队、多环境的复杂场景需求,是现代云原生团队的理想选择。