Menu

Devtron 是一款开源云原生应用管理平台,集成 CI/CD、GitOps、安全扫描和监控告警等功能,助力团队高效管理 Kubernetes 应用全生命周期。

Devtron 简介

Devtron 是一款开源的云原生应用管理平台,提供了完整的应用生命周期管理解决方案。它集成了 CI/CD、GitOps、安全扫描、监控告警等功能,帮助开发和运维团队高效管理 Kubernetes 应用。

主要特性

Devtron 提供丰富的功能,覆盖应用部署、CI/CD 流水线、安全合规、监控告警和开发工具集成等多个方面。

应用生命周期管理

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 ```

Devtron 系统架构 {width=2741 height=1886}

核心组件说明

CI/CD 流水线流程

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 ```

Devtron CI/CD 流水线流程 {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 ```

Devtron 部署配置流程 {width=3048 height=1554}

部署模板类型

所有模板均可通过 GUI 或 YAML 编辑灵活配置。

安装选项

Devtron 支持多种安装模式,满足不同场景需求。

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 安装

推荐使用 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

安装后配置

  1. 访问控制台:

     kubectl get secret -n devtroncd devtron-secret -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d
    
  2. 配置外部访问:

     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 流水线、安全扫描和监控告警能力。

应用管理

CI/CD 流水线

安全扫描

监控告警

最佳实践

集成生态

Devtron 支持与多种工具和平台集成,提升整体 DevOps 能力。

故障排查

常见问题

总结

Devtron 作为云原生应用管理平台,集成了 CI/CD、GitOps、安全、监控等能力,极大提升了 Kubernetes 应用的交付效率和运维体验。通过模块化架构和丰富的集成生态,Devtron 能满足多团队、多环境的复杂场景需求,是现代云原生团队的理想选择。

参考文献

  1. Devtron 官方文档 - docs.devtron.ai
  2. Devtron GitHub - github.com
  3. Helm Chart - artifacthub.io
  4. Devtron 社区 - discord.gg

Menu