Kubernetes 持续交付工作流管理软件 - Devtron

运维 系统运维
Devtron(https://devtron.ai) 是用 go 编写的用于 Kubernetes 交付工作流管理的开源软件。它被设计为一个自我服务平台,以开发者友好的方式在 Kubernetes 上运维和维护应用程序(AppOps)。

Devtron(https://devtron.ai) 是用 go 编写的用于 Kubernetes 交付工作流管理的开源软件。它被设计为一个自我服务平台,以开发者友好的方式在 Kubernetes 上运维和维护应用程序(AppOps)。

 特性

零代码软件交付工作流

  • 了解 kubernetes、测试、CD、SecOps 等领域的工作流,这样你就不必写脚本。
  • 可重复使用和可组合的组件,使工作流易于构建使用。

多云部署

  • 天然支持部署到多个 kubernetes 集群上

轻松实现开发-安全-运维一体化

  • 全局、集群、环境和应用的多层次安全策略,实现高效的分层策略管理
  • 行为驱动的安全策略
  • kubernetes 资源定义策略和异常情况
  • 定义事件的策略,以便更快地解决问题

应用程序调试面板

  • 所有历史的 kubernetes 事件都集中在一个地方
  • 安全地访问所有清单,如 secret、configmap
  • cpu、ram、http 状态码和延迟等应用指标,并进行新旧对比
  • 使用 grep 和 json 搜索日志
  • 事件和日志之间的智能关联性

企业级的安全性和合规性

  • 细粒度的访问控制;控制谁可以编辑配置,谁可以部署
  • 审计日志,了解谁做了什么,什么时候做的
  • 所有 CI 和 CD 事件的历史记录
  • 影响应用程序的 Kubernetes 事件
  • 相关的云事件及其对应用程序的影响
  • 先进的工作流程策略,如分支环境,确保构建和部署管道的安全

了解 Gitops

  • 通过 API 和 UI 暴露的 Gitops,使你不必与 Git 客户端交互
  • 由 postgres 支持的 Gitops 更容易分析
  • 实施比 git 更精细的访问控制

业务洞察

  • 部署指标来衡量敏捷过程的成功,它可以捕捉到 mttr、变更失败率、部署频率、部署规模等。
  • 审计日志以了解失败的原因
  • 监测跨部署的变化,并轻松恢复

 安装

默认的安装配置会使用 MinIO 来存储构建日志和缓存,可以直接使用下面的命令进行安装:

  1. helm repo add devtron https://helm.devtron.ai 
  2. helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd \ 
  3. --set secrets.POSTGRESQL_PASSWORD=change-me 

但是官方的安装方式会从 GitHub 上面去下载很多脚本进行初始化,由于某些原因,可能我们没办法正常访问,这里我已经将所有的安装脚本和代码同步到了 gitee 上面,不用担心安装不上了。

首先 clone 安装脚本:

  1. git clone https://gitee.com/cnych/devtron-installation-script.git 
  2. cd devtron-installation-script 

这里我们使用 Helm3 来进行安装,我们只需要安装 devtron-operator 即可帮我们自动安装 devtron 了,命令如下所示:

  1. helm upgrade --install devtron ./charts/devtron --create-namespace --namespace devtroncd 
  2. WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /Users/ych/.kube/config 
  3. WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /Users/ych/.kube/config 
  4. W0624 11:00:57.798698 56125 warnings.go:67] apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition 
  5. W0624 11:00:59.829583 56125 warnings.go:67] apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition 
  6. NAME: devtron 
  7. LAST DEPLOYED: Thu Jun 24 11:01:00 2021 
  8. NAMESPACE: devtroncd 
  9. STATUS: deployed 
  10. REVISION: 1 
  11. TEST SUITE: None 
  12. NOTES: 
  13.  
  14. 1. Run the following command to get the default admin passwordDefault username is admin 
  15.  
  16.    kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d 
  17.  
  18. 2. You can watch the progress of Devtron microservices installation by the following command 
  19.  
  20.    kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.status}' 

上面的命令会帮我们创建一个用于安装 devtron 的 Pod,该 Pod 会去读取我们的 installaction-script 脚本进行初始化安装,这个安装过程需要花一点时间,不过需要注意的是需要提供一个默认的 StorageClass,否则 MinIO 对应的 PVC 没办法绑定,也就安装不成功了,我这里是在代码仓库中明确指定的一个名为 nfs-storage 的 StorageClass,正常安装后会产生很多 Pod:

 

devtron pods

为了访问方便我这里还创建了一个 IngressRoute 对象用来绑定 Dashboard:

  1. # devtron-ingressroute.yaml 
  2. apiVersion: traefik.containo.us/v1alpha1 
  3. kind: IngressRoute 
  4. metadata: 
  5.   name: devtron 
  6.   namespace: devtroncd 
  7. spec: 
  8.   entryPoints: 
  9.     - web 
  10.   routes: 
  11.     - kind: Rule 
  12.       match: Host(`devtron.k8s.local`) 
  13.       services: 
  14.         - name: devtron-service 
  15.           port: 80 

创建完成后我们就可以通过域名(提前做好解析)就可以访问 devtron 了。

login devtron

登录的时候使用的默认用户名为 admin,密码则可以使用上面安装 Helm Charts 的时候的提示命令获取:

  1. kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d 

登录后就可以进入到 Dashboard 的主页了:

进入 Dashboard 后我们还需要做一些配置才能使用,比如添加 Docker 镜像仓库、配置 gitops 等。具体使用方法可以参考官方文档说明 https://docs.devtron.ai,后续我们再提供一个详细的使用文档。

仓库地址:https://github.com/devtron-labs/devtron

 

责任编辑:姜华 来源: Github爱好者
相关推荐

2009-09-02 16:48:41

工作流管理系统

2012-05-22 09:30:58

jBPMJava

2010-07-20 16:38:28

jBPMjBPM 4.4jBPM 4.4下载

2022-01-14 09:38:28

DevOpsKubernetes集群

2009-09-15 09:46:28

物流管理博科资讯工程机械

2009-09-22 19:39:55

博科资讯物流管理

2015-10-08 09:48:00

云规划师混合云工作流管理

2010-01-08 09:26:29

jBPM 4.3Java工作流BPMN 2.0

2009-09-14 17:25:37

物流管理博科资讯

2010-12-03 10:05:41

jBPM

2021-04-23 08:00:00

Kubernetes容器工具

2009-10-14 20:40:57

博科资讯物流管理

2013-07-31 11:11:28

CA Technolo

2009-09-18 10:53:18

2009-09-08 10:44:23

博科资讯物流管理软件

2009-07-27 14:13:15

2011-07-25 14:32:09

Falconet网管软件网络管理

2014-07-09 13:20:36

ManageEngin

2017-02-27 18:28:45

持续交付部署

2013-06-26 16:33:50

ERPSAP
点赞
收藏

51CTO技术栈公众号