Skip to content

YuChia-Wei/argoproj-deploy

Repository files navigation

Argo Project install kustomization

argocd 商標圖示來自於 官方 github

CICD Pipeline

Cluster Requested

  • istio

package version

package name version update date
argocd 2.10.2 2024-03-09
argo-rollouts 1.6.6 2024-03-09

ArgoCD

參考以下三個連結

此定義檔主要增加 Kubernetes 的 Label 設定 (app, version),讓 Istio 可正常存取 為了方便以後的更新,有特別將各種不同類型的 patch 設定檔切割出來

安裝檔更新

  1. download install yaml (option)
    • 指定版本
      curl -sSLk https://raw.githubusercontent.com/argoproj/argo-cd/v2.10.2/manifests/install.yaml -o install.yaml
      curl -sSLk https://raw.githubusercontent.com/argoproj/argo-cd/v2.10.2/manifests/ha/install.yaml -o install-ha.yaml
      curl -sSLk https://github.com/argoproj/argo-rollouts/releases/download/v1.6.6/install.yaml -o install.yaml
      curl -sSLk https://github.com/argoproj/argo-rollouts/releases/download/v1.6.6/dashboard-install.yaml -o dashboard-install.yaml
      
  2. 建立 namespace
    • 純建立
      kubectl create namespace argocd
      
    • 含設定 istio 掛車
      kubectl create namespace argocd
      kubectl label namespace argocd istio-injection=enabled --overwrite
      
      # 如果安裝 istio 的時候是特別設定版本的話 (通常出現在有使用金絲雀部署來更新 istio 的狀況)
      # 如果已經有設定掛車的話,可以用這方式刪掉舊的同時設定新的
      #kubectl label namespace argocd istio-injection- istio.io/rev=1-13-3
      kubectl label namespace argocd istio.io/rev=1-13-3
      

When Upgrade

  • 升級後不會更新設定檔,因此原始的密碼與設定都相同
  • 可以先用以下命令檢查差異 (cmd 位置要先到 argocd kustomiztion 的位置)
    # 查看差異
    kubectl diff -k ./
    
    # 將差異資料輸出到特定檔案
    kubectl diff -k ./ > different-data.txt
    
    # 測試執行並輸出結果
    kubectl apply -k ./ --dry-run=client > dry-run.txt
    
    

Install

kubectl apply -k ./

link to prometheus

從 Argo-Rollout 的經驗來看,應該要設定在 deployment 上面,但是不知道什麼原因,測試時使用了設定到 service 的方法才成功

設定到 deployment 設定的方法 設定到 service 設定的方法

About

argocd self-management deploy settings

Topics

Resources

Stars

Watchers

Forks