Devtron(https://devtron.ai)是一个用go编写的用于Kubernetes交付工作流管理的开源软件。它被设计为一个自助服务平台,用于以开发人员友好的方式在Kubernetes上运行和维护应用程序(AppOps)。特点零代码软件交付工作流程学习kubernetes、测试、CD、SecOps等方面的工作流程,这样您就不必编写脚本。可重用和可组合的组件使工作流程易于构建和使用。多云部署天然支持部署到多个kubernetes集群轻松实现开发-安全-运维一体化,全局、集群、环境、应用多级安全策略,实现高效的分层策略管理行为驱动的安全策略kubernetes资源定义策略和异常定义事件策略以更快地解决问题应用程序调试面板所有历史kubernetes事件集中在一个地方安全地访问所有库存,例如机密、configmapscpu、ram、http状态代码和延迟以及其他应用程序指标,并比较新旧使用grep和json搜索日志事件和日志之间的智能关联企业级安全性和合规性细粒度访问控制;控制谁可以编辑配置,谁可以部署审计日志,了解谁做了什么以及何时完成所有CI和CD事件的历史影响应用程序的Kubernetes事件相关的云事件及其对应用程序的影响高级工作流策略,例如分支环境,以确保构建和部署管道的安全可见性Gitops通过API和UI公开Gitops,这样您就不必与Git客户端交互更改故障率、部署频率、部署规模等。审计日志以了解故障原因跨部署监控更改并轻松恢复安装默认安装配置使用MinIO来存储构建日志和缓存,可以使用以下命令直接安装:helmrepoadddevtronhttps://helm.devtron.aihelminstalldevtrondevtron/devtron-operator--create-namespace--namespacedevtroncd\--setsecrets.POSTGRESQL_PASSWORD=change-me但是官方的安装方式会从github上下载很多脚本进行初始化。由于某些原因,我们可能无法正常访问它。这里我已经把所有的安装脚本和代码都同步到gitee了,大家不用担心安装不上。首先clone安装脚本:gitclonehttps://gitee.com/cnych/devtron-installation-script.gitcddevtron-installation-script这里我们使用Helm3进行安装,我们只需要安装devtron-operator就可以帮我们自动安装devtron,命令如下所示:helmupgrade--installdevtron./charts/devtron--create-namespace--namespacedevtroncdWARNING:Kubernetesconfigurationfileisgroup-readable.Thisisinsecure.Location:/Users/ych/.kube/configWARNING:Kubernetesconfigurationfileisworld-readable.Thisisinsecure.Location:/Users/ych/.kube/configW062411:00:57.79869856125warnings.go:67]apiextensions.k8s.io/v1beta1CustomResourceDefinition在v1.16+中已弃用,在v1.22+中不可用;使用apiextensions.k8s.io/v1CustomResourceDefinitionW062411:00:589.862192:563.86219]apiextensions.k8s.io/v1beta1CustomResourceDefinition在v1.16+中被弃用,在v1.22+中不可用;使用apiextensions.k8s.io/v1CustomResourceDefinitionNAME:devtronLASTDEPLOYED:ThuJun2411:01:002021NAMESPACE:devtroncdSTATUS:deployedREVISION:1TESTSUITE:NoneNOTE:1.运行以下命令以获取thedefaultadminpassword.Defaultusernameisadminkubectl-ndevtroncdgetsecretdevtron-secret-ojsonpath='{.data.ACD_PASSWORD}'|base64-d2.YoucanwatchtheprogressofDevtronmicroservicesinstallationbythefollowingcommandkubectl-ndevtroncdgetinstallersinstaller-devtron-ojsonpath='{.status.sync.status}'上面的命令会帮我们创建一个用为了安装devtronPod,Pod将读取我们的installaction-script脚本进行初始安装。这个安装过程会比较费时间,但是需要注意的是需要提供一个默认的StorageClass,否则无法绑定MinIO对应的PVC。确定安装不成功。我在代码仓库中明确指定了一个名为nfs-storage的StorageClass。正常安装后会生成很多Pod:devtronpods。为了方便访问,我还创建了一个IngressRoute对象用来绑定Dashboard:#devtron-ingressroute.yamlapiVersion:traefik.containo.us/v1alpha1kind:IngressRoutemetadata:name:devtronnamespace:devtroncdspec:entryPoints:-webroutes:-kind:Rulematch:Host(`devtron.k8s.local`)services:-name:devtron-serviceport:80创建完成后,我们可以通过域名访问devtron(提前解析)登录devtron默认使用的用户名为admin,登录后使用上面安装HelmCharts时的提示命令获取密码:kubectl-ndevtroncdgetsecretdevtron-secret-ojsonpath='{.data.ACD_PASSWORD}'|base64-d然后就可以进入Dashboard的首页了:进入Dashboard之后,我们还需要做一些配置才能使用,比如添加Docker镜像仓库,配置gitops等,具体使用方法可以参考官方文档https://docs.devtron.ai,后面我们会提供详细的使用文档。仓库地址:https://github.com/devtron-labs/devtron
