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 來存儲構建日誌和緩存,可以直接使用下面的命令進行安裝:
helm repo add devtron https://helm.devtron.ai helm install devtron devtron/devtron-operator \ --create-namespace --namespace devtroncd \ --set installer.modules={cicd}
成功安裝的訊息
NAME: devtron LAST DEPLOYED: Thu Jun 24 11:01:00 2021 NAMESPACE: devtroncd STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: 1. Run the following command to get the default admin password. Default username is admin kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d 2. You can watch the progress of Devtron microservices installation by the following command kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.status}'
外部訪問用traefik ingressRoute
# devtron-ingressroute.yaml apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: devtron namespace: devtroncd spec: entryPoints: - web routes: - kind: Rule match: Host(`devtron.k8s.local`) services: - name: devtron-service port: 80
創建完成後我們就可以通過域名(提前做好解析)就可以訪問devtron
登錄的時候使用的默認用戶名為admin,密碼則可以使用上面安裝Helm Charts 的時候的提示命令獲取:
kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d
進入Dashboard 後我們還需要做一些配置才能使用,比如添加Docker 鏡像倉庫、配置gitops 等。