本文主要是介绍k8s 新晋CICD平台-Devtron0.6,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
介绍
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:NodePorta. 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/dashboardMake 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 Devtron2. "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 22hNAME 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 22hNAME 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 21hNAME 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 21hNAME READY AGE
statefulset.apps/devtron-nats 1/1 21h
statefulset.apps/git-sensor 1/1 21h
statefulset.apps/postgresql-postgresql 1/1 22hNAME 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 21hNAME 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
解决方案
Bug: Access denied You do not have required access to perform this action · Issue #3839 · devtron-labs/devtron (github.com)
创建自定义应用程序
配置docker仓库和构建信息
配置暴露的端口和添加环境变量
开始构建镜像
填写拉取分支
deployment模板信息
回到应用页面,开始构建
出现如下情况表示CI已经完成,可以去镜像仓库查看镜像
新增cd操作,新增一个workflow
选择第一种方式
开始部署
点击details,查看详情
部署成功
这篇关于k8s 新晋CICD平台-Devtron0.6的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!