天天看點

Kubernetes 系列(二十七)CI/CD 之GitOps最佳實踐(2)- 元件安裝

Kubernetes 系列(二十七)CI/CD 之GitOps最佳實踐(2)- 元件安裝

主要介紹最佳實踐中,用到的各種工具的部署安裝過程。

Helm

Helm 是 Kubernetes 中部署應用的包管理工具。我們後續的一些元件以及應用的安裝都依賴于它。

安裝

  1. 1. https://github.com/helm/helm/releases 下載下傳程式包。例如:helm-v3.7.2-linux-amd64.tar.gz
  2. 2. 解壓縮 tar zxvf helm-v3.7.2-linux-amd64.tar.gz
  3. 3. 解壓後 執行mv linux-amd64/helm /usr/local/bin/helm 将linux-amd64路徑下的helm檔案移動到/usr/local/bin/路徑下
  4. 4. 驗證安裝:
Kubernetes 系列(二十七)CI/CD 之GitOps最佳實踐(2)- 元件安裝

GitLab

GitLab是一個倉庫管理系統,使用 Git 作為代碼管理工具,同時依賴于其 CI Pipeline 管道任務能力。

安裝

基于 Helm 工具實作安裝到 K8s 叢集中。

  1. 1. 添加倉庫
helm repo add gitlab http://charts.gitlab.io/           
  1. 1. 安裝
helm install my-gitlab gitlab/gitlab --version 6.4.2 --create-namespace -n gitlab-repo           

如果需要更改ingress 以及 hosts 等等資訊,需要設定變量覆寫(參考 gitlab 6.4.2 · gitlab/gitlab (artifacthub.io) 覆寫)

預設 root 密碼檢視方式,找到 gitlab-repo-gitlab-initial-root-password 這個 secret ,base64 解碼

最終安裝成功,通過 ingress 位址資訊通路

GitLab Runner

GitLab Runner是一個開源項目,用于運作您的作業并将結果發送回GitLab。它與GitLab CI一起使用,GitLab CI是GitLab随附的開源持續內建服務,用于協調作業。

安裝

此處通過 helm 将其安裝到 kubernetes 中。

  1. 1. 添加倉庫
helm repo add gitlab http://charts.gitlab.io/           
  1. 1. 安裝
helm install my-gitlab-runner gitlab/gitlab-runner --version 0.45.0 --set gitlabUrl=http://xxxxx/,runnerRegistrationToken=D_iog5A62QWtyMk5RLSv --create-namespace -n gitlab           

其中的 gitlabUrl 是你關聯到的 gitlab 位址,runnerRegistrationToken 資訊需要用 root 登入到 gitlab 進入到 AdminArea —> Runners 頁面擷取注冊 Token的值。

如果需要設定變量覆寫(參考gitlab-runner 0.45.0 · gitlab/gitlab (artifacthub.io)覆寫)

最終安裝成功,進入到 gitlab 管理頁面可以看到runner 資訊。

Harbor

Harbor 作為開源鏡像倉庫,可存儲管理容器鏡像,便于我們 CICD 中鏡像的上傳及擷取。

安裝

此處通過 helm 将其安裝到 kubernetes 中。

  1. 1. 添加倉庫
helm repo add harbor https://helm.goharbor.io           
  1. 1. 安裝
helm install my-harbor harbor/harbor --version 1.10.0           

如果需要設定變量覆寫(參考harbor 1.10.0 · helm/harbor (artifacthub.io)覆寫),安裝成功後通過 ingress hosts 資訊通路。賬号密碼資訊安裝資訊中擷取。

Trivy

Trivy 是一個開源安全漏掃工具,可以掃描鏡像、檔案路徑等等。它實際上就是一個 二進制掃描程式加上一個漏洞庫,來掃描出目标的漏洞資訊。由于網絡限制,本來的開源項目(https://github.com/yyong-brs/trivy-mirror)專門配置了定時任務定時建立一個包含最新漏洞庫的 trivydb 程式鏡像,鏡像已經推送到 docker hub,大家可以直接取用:https://hub.docker.com/repository/docker/yueyongdada/trivy_ci

ArgoCD

Argo CD 是一個聲明式的,用于 Kubernetes 的 GitOps 持續傳遞工具。

安裝

此處通過 helm 将其安裝到 kubernetes 中。

  1. 1. 添加倉庫
helm repo add argo https://argoproj.github.io/argo-helm           
  1. 1. 安裝
helm install my-argo-cd argo/argo-cd --version 5.5.14           

如果需要設定變量覆寫(參考argo-cd 5.5.14 · argoproj/argo (artifacthub.io)覆寫),安裝成功後通過 ingress hosts 資訊通路。賬号密碼資訊安裝資訊中擷取。

Sonarqube

SonarQube 是一個開源的代碼分析平台, 用來持續分析和評測項目源代碼的品質。通過SonarQube我們可以檢測出項目中重複代碼, 潛在bug, 代碼規範,安全性漏洞等問題, 并通過SonarQube web UI展示出來。

安裝

此處通過 helm 将其安裝到 kubernetes 中。

  1. 1. 添加倉庫
helm repo add sonarqube https://SonarSource.github.io/helm-chart-sonarqube           
  1. 1. 安裝
helm install my-sonarqube sonarqube/sonarqube --version 5.0.6+370           

如果需要設定變量覆寫(參考sonarqube 5.0.6+370 · sonarsource/sonarqube (artifacthub.io)覆寫),安裝成功後通過 ingress hosts 資訊通路。賬号密碼資訊安裝資訊中擷取。