Contents

  1. argocd

argocd

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.

   1 sudo service k3s start
   2 kubectl create namespace argocd
   3 kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
   4 #  Use the --insecure flag on all Argo CD CLI operations in this guide.
   5 
   6 # Install argocd CLI 
   7 curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
   8 sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd
   9 rm argocd-linux-amd64
  10 argocd version
  11 
  12 kubectl port-forward svc/argocd-server -n argocd 8080:443
  13 
  14 export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
  15 # get initial password 
  16 argocd admin initial-password -n argocd --insecure
  17 
  18 argocd login localhost:8080 --insecure
  19 # Username: admin
  20 # Password: 
  21 # 'admin:login' logged in successfully
  22 # Context 'localhost:8080' updated
  23 
  24 
  25 argocd account update-password --insecure  --server localhost:8080
  26 # *** Enter password of currently logged in user (admin): 
  27 # *** Enter new password for user admin: 
  28 # *** Confirm new password for user admin: 
  29 # Password updated
  30 # Context 'localhost:8080' updated
  31 
  32 sudo kubectl config set-context --current --namespace=argocd
  33 
  34 argocd app create guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --dest-server https://kubernetes.default.svc --dest-namespace default --insecure
  35 application 'guestbook' created
  36 
  37 # Syncing via CLI
  38 argocd app get guestbook --insecure
  39 argocd app sync guestbook --insecure
  40 
  41 kubectl get pods --namespace default
  42 # NAME                            READY   STATUS             RESTARTS      AGE
  43 # guestbook-ui-754d46fbf6-fq787   1/1     Running            0             9m35s
  44 kubectl get services --namespace default
  45 # NAME           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
  46 # guestbook-ui   ClusterIP   10.43.64.157    <none>        80/TCP           10m
  47 kubectl get deployments --namespace default
  48 # NAME           READY   UP-TO-DATE   AVAILABLE   AGE
  49 # guestbook-ui   1/1     1            1           11m
  50 
  51 argocd app create helm-guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path helm-guestbook --dest-server https://kubernetes.default.svc --dest-namespace default --insecure
  52 # application 'helm-guestbook' created
  53 argocd app get helm-guestbook --insecure
  54 argocd app sync helm-guestbook --insecure
  55 
  56 kubectl exec -it guestbook-ui-754d46fbf6-fq787 --namespace default -- bash
  57 kubectl port-forward svc/guestbook-ui -n argocd 8081:80 --namespace default
  58 curl localhost:8081
  59 
  60 kubectl get deployments --namespace default
  61 
  62 kubectl expose deployment guestbook-ui --port=8082 --target-port=80 --type=ClusterIP --namespace default 
  63 
  64 # Syncing via CLI
  65 argocd app get guestbook --insecure
  66 argocd app sync guestbook --insecure

kubernetes/argocd (last edited 2025-03-26 18:04:23 by vitor)