介绍
Devtron 是 Kubernetes 的工具集成平台。
Devtron 通过直观的 Web 界面在微服务的整个生命周期中与产品深度集成,即 CI/CD、安全性、成本、调试和可观测性。Devtron 可帮助您部署、观察、管理和调试所有集群中的现有 Helm 应用程序。
Devtron的主要特点
适用于 Kubernetes 的无代码软件交付工作流
了解 Kubernetes、测试、CD、SecOps 领域的工作流,因此您不必编写脚本
可重用和可组合的组件,以便工作流易于构建和推理
多云部署
从一个 Devtron 设置部署到多个云/本地的多个 Kubernetes 集群
适用于所有云提供商和本地 Kubernetes 集群
轻松集成开发安全操作系统
全局、集群、环境和应用程序级别的多级安全策略,可实现高效的分层策略管理
行为驱动的安全策略
定义 Kubernetes 资源的策略和例外
为事件定义策略以更快地解决问题
应用程序调试仪表板
在一个地方存储所有历史 Kubernetes 事件
安全地访问所有清单,例如秘密混淆
CPU、RAM、HTTP 状态代码和延迟的应用程序指标以及新旧之间的比较
使用 grep 和 JSON 搜索进行高级日志记录
事件、日志之间的智能关联,可更快地对问题进行三角测量
自动问题识别
企业级安全性和合规性
细粒度访问控制;控制谁可以编辑配置以及谁可以部署。
审核日志以了解谁在何时做了什么
所有 CI 和 CD 事件的历史
影响应用程序的 Kubernetes 事件
相关云事件及其对应用程序的影响
高级工作流策略,如中断窗口、分支环境关系,以保护生成和部署管道
实现 GitOps
通过 API 和 UI 公开的 GitOps,这样你就不必与 git CLI 交互
由 Postgres 支持的 GitOps,便于分析
实施比 Git 更精细的访问控制
运营洞察
用于衡量敏捷过程是否成功的部署指标。它捕获开箱即用的 MTTR、更改失败率、部署频率和部署大小。
审核日志以了解故障原因
跨部署监控更改并轻松还原
先决条件要求
kubernetes 1.16以上
安装 helm3
部署
helm安装指定版本的chart包
helm install devtron devtron/devtron-operator \
--create-namespace --namespace devtroncd \
--set installer.modules={cicd} \
--set installer.release=v0.6.20 \
--set components.devtron.service.type=NodePort
运行输出
```
[root@node1 ~]#helm install devtron devtron/devtron-operator \
> --create-namespace --namespace devtroncd \
> --set installer.modules={cicd} \
> --set installer.release=v0.6.20 \
> --set components.devtron.service.type=NodePort
NAME: devtron
LAST DEPLOYED: Mon Aug 28 11:35:42 2023
NAMESPACE: devtroncd
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Please wait for ~1 minute before running any of the following commands.
1. Run the following command to get the password for the default admin user:
kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d
2. Run the following commands to get the dashboard URL for the service type:
NodePort
a. export nodeport=$(kubectl get svc -n devtroncd devtron-service -o jsonpath="{.spec.ports[0].nodePort}")
b. Run the following command to get Devtron dashboard URL: echo http://HOST_IP:$nodeport/dashboard
Make sure that your security settings allow incoming connection to your Host machine on the nodeport mentioned.
3. To track the progress of Devtron microservices installation, run the following command:
kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.status}'
After running this command, if you get the results as:
1. "Downloaded" means installation in progress. But you can still start exploring Devtron
2. "Applied" means installation is successful.
```
POD详情
[root@node1 ~]#kubectl get all -n devtroncd
NAME READY STATUS RESTARTS AGE
pod/app-sync-cronjob-1693249200-mljnc 0/1 Completed 0 6h36m
pod/app-sync-job-ztgdq-hk7ww 0/1 Completed 0 22h
pod/argo-rollouts-5765664fc4-68gjv 1/1 Running 0 21h
pod/argocd-dex-server-54d59b6b6d-xzql9 1/1 Running 0 22h
pod/dashboard-869d5647f8-84cnr 1/1 Running 0 22h
pod/devtron-5b478745bc-9l5n5 1/1 Running 0 63s
pod/devtron-67bbb588dc-hxxph 1/1 Running 0 21h
pod/devtron-housekeeping-jpz5l 0/1 Completed 0 21h
pod/devtron-nats-0 3/3 Running 0 21h
pod/devtron-nats-test-request-reply 0/1 Completed 0 21h
pod/git-sensor-0 1/1 Running 0 21h
pod/inception-7f76b5fd94-9g5d2 1/1 Running 0 22h
pod/kubelink-77559449f9-lmt7t 1/1 Running 0 62s
pod/kubelink-7db97884cd-kt2tb 1/1 Running 4 22h
pod/kubewatch-598b98cd7b-wbjtm 1/1 Running 0 21h
pod/lens-64cf56b56-n8sbs 1/1 Running 0 21h
pod/postgresql-migrate-casbin-jbgqc 0/1 Completed 0 9m
pod/postgresql-migrate-devtron-ydi6r-cxjhn 0/1 Completed 1 22h
pod/postgresql-migrate-gitsensor-jmr5n 0/1 Completed 3 21h
pod/postgresql-migrate-lens-8gm7r 0/1 Completed 5 21h
pod/postgresql-miscellaneous-8zrjp 0/1 Completed 0 21h
pod/postgresql-postgresql-0 2/2 Running 1 22h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/argo-rollouts-metrics ClusterIP 10.1.148.200 <none> 8090/TCP 21h
service/argocd-dex-server ClusterIP 10.1.196.223 <none> 5556/TCP,5557/TCP,5558/TCP 22h
service/dashboard-service ClusterIP 10.1.192.192 <none> 80/TCP 22h
service/devtron-nats ClusterIP None <none> 4222/TCP,6222/TCP,8222/TCP,7777/TCP,7422/TCP,7522/TCP 21h
service/devtron-service NodePort 10.1.232.83 <none> 80:30763/TCP 22h
service/git-sensor-service ClusterIP 10.1.91.143 <none> 80/TCP,90/TCP 21h
service/kubelink-service ClusterIP 10.1.100.28 <none> 50051/TCP 22h
service/lens-service ClusterIP 10.1.169.226 <none> 80/TCP 21h
service/postgresql-postgresql ClusterIP 10.1.106.139 <none> 5432/TCP 22h
service/postgresql-postgresql-headless ClusterIP None <none> 5432/TCP 22h
service/postgresql-postgresql-metrics ClusterIP 10.1.188.43 <none> 9187/TCP 22h
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/argo-rollouts 1/1 1 1 21h
deployment.apps/argocd-dex-server 1/1 1 1 22h
deployment.apps/dashboard 1/1 1 1 22h
deployment.apps/devtron 2/1 1 1 22h
deployment.apps/inception 1/1 1 1 22h
deployment.apps/kubelink 2/1 1 1 22h
deployment.apps/kubewatch 1/1 1 1 21h
deployment.apps/lens 1/1 1 1 21h
NAME DESIRED CURRENT READY AGE
replicaset.apps/argo-rollouts-5765664fc4 1 1 1 21h
replicaset.apps/argocd-dex-server-54d59b6b6d 1 1 1 22h
replicaset.apps/dashboard-869d5647f8 1 1 1 22h
replicaset.apps/devtron-5b478745bc 1 1 1 63s
replicaset.apps/devtron-67bbb588dc 1 1 1 21h
replicaset.apps/devtron-f676df997 0 0 0 22h
replicaset.apps/inception-7f76b5fd94 1 1 1 22h
replicaset.apps/kubelink-77559449f9 1 1 1 62s
replicaset.apps/kubelink-7db97884cd 1 1 1 22h
replicaset.apps/kubewatch-598b98cd7b 1 1 1 21h
replicaset.apps/lens-64cf56b56 1 1 1 21h
NAME READY AGE
statefulset.apps/devtron-nats 1/1 21h
statefulset.apps/git-sensor 1/1 21h
statefulset.apps/postgresql-postgresql 1/1 22h
NAME COMPLETIONS DURATION AGE
job.batch/app-sync-cronjob-1693249200 1/1 8m2s 6h36m
job.batch/app-sync-job-ztgdq 1/1 9h 22h
job.batch/devtron-housekeeping 1/1 6m50s 21h
job.batch/postgresql-migrate-casbin 1/1 7m58s 9m
job.batch/postgresql-migrate-casbin-0os0v 0/1 22h 22h
job.batch/postgresql-migrate-devtron 0/1 21h 21h
job.batch/postgresql-migrate-devtron-ydi6r 1/1 11m 22h
job.batch/postgresql-migrate-gitsensor 1/1 7m7s 21h
job.batch/postgresql-migrate-lens 1/1 14m 21h
job.batch/postgresql-miscellaneous 1/1 32s 21h
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
cronjob.batch/app-sync-cronjob 0 19 * * * False 0 6h36m 22h
出现问题
Access denied You do not have required access to perform this action