# Install Argocd ## Online install * 新增 argocd repo ``` $ helm repo add argo-cd https://argoproj.github.io/argo-helm $ helm repo update ``` * 匯出 values.yaml ``` $ helm show values argo-cd/argo-cd > values.yaml ``` * 編輯 values.yaml,修改 Server service 為 nodeport ``` $ nano values.yaml ...... ## Server service configuration service: # -- Server service annotations annotations: {} # -- Server service labels labels: {} # -- Server service type type: NodePort # 將此行改為 NodePort ``` * 開始安裝 argocd ``` $ kubectl create namespace argocd $ helm install --values values.yaml argo-cd argo-cd/argo-cd --namespace argocd ``` * 環境檢查 ``` $ kubectl -n argocd get all NAME READY STATUS RESTARTS AGE pod/argo-cd-argocd-application-controller-0 1/1 Running 0 60m pod/argo-cd-argocd-applicationset-controller-665cccb4f4-xvz5d 1/1 Running 0 60m pod/argo-cd-argocd-dex-server-569f684fb6-dw8mx 1/1 Running 0 60m pod/argo-cd-argocd-notifications-controller-69c9d78f57-j4rls 1/1 Running 0 60m pod/argo-cd-argocd-redis-6b4747d768-p6z6h 1/1 Running 0 60m pod/argo-cd-argocd-repo-server-8667587bdb-6khc8 1/1 Running 0 60m pod/argo-cd-argocd-server-5cd747f8c4-5p7jf 1/1 Running 0 60m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/argo-cd-argocd-applicationset-controller ClusterIP 10.43.164.226 <none> 7000/TCP 70m service/argo-cd-argocd-dex-server ClusterIP 10.43.128.131 <none> 5556/TCP,5557/TCP 70m service/argo-cd-argocd-redis ClusterIP 10.43.91.183 <none> 6379/TCP 70m service/argo-cd-argocd-repo-server ClusterIP 10.43.88.65 <none> 8081/TCP 70m service/argo-cd-argocd-server NodePort 10.43.135.52 <none> 80:30080/TCP,443:30443/TCP 70m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/argo-cd-argocd-applicationset-controller 1/1 1 1 70m deployment.apps/argo-cd-argocd-dex-server 1/1 1 1 70m deployment.apps/argo-cd-argocd-notifications-controller 1/1 1 1 70m deployment.apps/argo-cd-argocd-redis 1/1 1 1 70m deployment.apps/argo-cd-argocd-repo-server 1/1 1 1 70m deployment.apps/argo-cd-argocd-server 1/1 1 1 70m NAME DESIRED CURRENT READY AGE replicaset.apps/argo-cd-argocd-applicationset-controller-665cccb4f4 1 1 1 70m replicaset.apps/argo-cd-argocd-dex-server-569f684fb6 1 1 1 70m replicaset.apps/argo-cd-argocd-notifications-controller-69c9d78f57 1 1 1 70m replicaset.apps/argo-cd-argocd-redis-6b4747d768 1 1 1 70m replicaset.apps/argo-cd-argocd-repo-server-8667587bdb 1 1 1 70m replicaset.apps/argo-cd-argocd-server-5cd747f8c4 1 1 1 70m NAME READY AGE statefulset.apps/argo-cd-argocd-application-controller 1/1 70m NAME COMPLETIONS DURATION AGE job.batch/argo-cd-argocd-redis-secret-init 1/1 71s 71m ``` * 檢查 helm 已安裝服務 ``` $ helm list -n argocd NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION argo-cd argocd 1 2024-07-17 11:43:37.526863307 +0800 CST deployed argo-cd-7.3.7 v2.11.5 ``` * 獲取 admin 帳號密碼 ``` $ kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d N2tZRu31oYkknYFI ``` * 使用 nodeport 方式登入  * argocd 解除安裝 ``` $ helm -n argocd uninstall argo-cd ``` ## Offline install ### 環境準備 * 新增 argocd repo,並做成壓縮檔 * 下載 argocd 所需 image,helm chart 7.3.7 所使用的 image 版本為 `argocd:v2.11.5` ``` $ helm repo add argo-cd https://argoproj.github.io/argo-helm $ helm repo update # helm chart 版本為 7.3.7 $ helm fetch argo-cd/argo-cd --version 7.3.7 $ ls -l argo-cd-7.3.7.tgz -rw-r--r-- 1 root root 168621 Jul 17 10:07 argo-cd-7.3.7.tgz # 下載 image $ sudo podman pull quay.io/argoproj/argocd:v2.11.5 ghcr.io/dexidp/dex:v2.38.0 public.ecr.aws/docker/library/redis:7.2.4-alpine $ sudo podman save -m quay.io/argoproj/argocd:v2.11.5 ghcr.io/dexidp/dex:v2.38.0 public.ecr.aws/docker/library/redis:7.2.4-alpine > argocd-v2.11.5.tar ``` ### 離線環境安裝 * 將 image 解壓縮並上傳到內部 registry ``` $ sudo podman load < argocd-v2.11.5.tar $ sudo podman tag quay.io/argoproj/argocd:v2.11.5 192.168.11.90/argoproj/argocd:v2.11.5 $ sudo podman tag public.ecr.aws/docker/library/redis:7.2.4-alpine 192.168.11.90/argoproj/redis:7.2.4-alpine $ sudo podman tag ghcr.io/dexidp/dex:v2.38.0 192.168.11.90/argoproj/dex:v2.38.0 $ sudo podman push 192.168.11.90/argoproj/argocd:v2.11.5 $ sudo podman push 192.168.11.90/argoproj/redis:7.2.4-alpine $ sudo podman push 192.168.11.90/argoproj/dex:v2.38.0 ``` * 開始安裝 argocd,並將 server.service 換成 nodeport * 需換成自己內部 registry 位置 ``` $ kubectl create namespace argocd $ helm template argo-cd ./argo-cd-7.3.7.tgz --output-dir . \ --namespace argocd \ --set controller.image.repository=192.168.11.90/argoproj/argocd \ --set applicationSet.image.repository=192.168.11.90/argoproj/argocd \ --set notifications.image.repository=192.168.11.90/argoproj/argocd \ --set repoServer.image.repository=192.168.11.90/argoproj/argocd \ --set dex.image.repository=192.168.11.90/argoproj/dex \ --set redis.image.repository=192.168.11.90/argoproj/redis \ --set redisSecretInit.image.repository=192.168.11.90/argoproj/argocd \ --set server.image.repository=192.168.11.90/argoproj/argocd \ --set dex.initImage.repository=192.168.11.90/argoproj/argocd \ --set server.service.type=NodePort $ kubectl apply -R -f argo-cd/ ``` * 環境檢查 ``` $ kubectl -n argocd get all NAME READY STATUS RESTARTS AGE pod/argo-cd-argocd-application-controller-0 1/1 Running 0 9m34s pod/argo-cd-argocd-applicationset-controller-f8584b5cb-fq7fw 1/1 Running 2 (6m51s ago) 9m21s pod/argo-cd-argocd-dex-server-5cb6547db-vclqn 1/1 Running 0 3m6s pod/argo-cd-argocd-notifications-controller-6d5775f84c-54khl 1/1 Running 0 7m56s pod/argo-cd-argocd-redis-5649f46fd8-kxmnp 1/1 Running 0 3m4s pod/argo-cd-argocd-redis-secret-init-dxx92 0/1 Completed 0 3m6s pod/argo-cd-argocd-repo-server-687f77fdd6-mqx7k 1/1 Running 0 7m28s pod/argo-cd-argocd-server-678759476b-2rvpn 1/1 Running 1 (5m19s ago) 6m47s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/argo-cd-argocd-applicationset-controller ClusterIP 10.43.139.114 <none> 7000/TCP 9m31s service/argo-cd-argocd-dex-server ClusterIP 10.43.95.225 <none> 5556/TCP,5557/TCP 6m16s service/argo-cd-argocd-redis ClusterIP 10.43.132.19 <none> 6379/TCP 5m38s service/argo-cd-argocd-repo-server ClusterIP 10.43.9.82 <none> 8081/TCP 7m38s service/argo-cd-argocd-server NodePort 10.43.119.40 <none> 80:30080/TCP,443:30443/TCP 7m11s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/argo-cd-argocd-applicationset-controller 1/1 1 1 9m40s deployment.apps/argo-cd-argocd-dex-server 1/1 1 1 6m32s deployment.apps/argo-cd-argocd-notifications-controller 1/1 1 1 8m33s deployment.apps/argo-cd-argocd-redis 1/1 1 1 5m56s deployment.apps/argo-cd-argocd-repo-server 1/1 1 1 7m55s deployment.apps/argo-cd-argocd-server 1/1 1 1 7m22s NAME DESIRED CURRENT READY AGE replicaset.apps/argo-cd-argocd-applicationset-controller-f8584b5cb 1 1 1 9m39s replicaset.apps/argo-cd-argocd-dex-server-5cb6547db 1 1 1 6m31s replicaset.apps/argo-cd-argocd-notifications-controller-6d5775f84c 1 1 1 8m27s replicaset.apps/argo-cd-argocd-redis-5649f46fd8 1 1 1 3m9s replicaset.apps/argo-cd-argocd-repo-server-687f77fdd6 1 1 1 7m54s replicaset.apps/argo-cd-argocd-server-678759476b 1 1 1 7m22s NAME READY AGE statefulset.apps/argo-cd-argocd-application-controller 1/1 9m44s NAME COMPLETIONS DURATION AGE job.batch/argo-cd-argocd-redis-secret-init 1/1 89s 5m35s ``` * 獲取 admin 帳號密碼 ``` $ kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d KTdjMF0MuP-xeLcS ``` * 使用 nodeport 方式登入  * argocd 解除安裝 ``` $ kubectl delete -R -f argo-cd/ ``` ## 參考文件 https://github.com/argoproj/argo-helm/tree/main/charts/argo-cd
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up