[Book][Md Nahidul Kibria] Argo CD and Argo Workflows on Kubernetes: GitOps, workflow automation, and progressive delivery with Argo Rollouts [ENG, 2025]
Chapter 2: Understanding Argo CD
Делаю:
2025.03.02
# Create a new application in Argo CD
# --repo: Source Git repository
# --path: Path within the repository
# --dest-server: Target Kubernetes cluster
# --dest-namespace: Target namespace
# Use the following command to create guestbook app in argocd
$ argocd app create guestbook \
--repo https://github.com/argoproj/argocd-example-apps.git \
--path guestbook \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
$ argocd app list
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
argocd/guestbook https://kubernetes.default.svc default default OutOfSync Missing Manual <none> https://github.com/argoproj/argocd-example-apps.git guestbook
$ argocd app get guestbook
Name: argocd/guestbook
Project: default
Server: https://kubernetes.default.svc
Namespace: default
URL: https://192.168.49.2:31360/applications/guestbook
Source:
- Repo: https://github.com/argoproj/argocd-example-apps.git
Target:
Path: guestbook
SyncWindow: Sync Allowed
Sync Policy: Manual
Sync Status: OutOfSync from (4773b9f)
Health Status: Missing
GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE
Service default guestbook-ui OutOfSync Missing
apps Deployment default guestbook-ui OutOfSync Missing
$ argocd app diff guestbook
===== /Service default/guestbook-ui ======
0a1,13
> apiVersion: v1
> kind: Service
> metadata:
> labels:
> app.kubernetes.io/instance: guestbook
> name: guestbook-ui
> namespace: default
> spec:
> ports:
> - port: 80
> targetPort: 80
> selector:
> app: guestbook-ui
===== apps/Deployment default/guestbook-ui ======
0a1,23
> apiVersion: apps/v1
> kind: Deployment
> metadata:
> labels:
> app.kubernetes.io/instance: guestbook
> name: guestbook-ui
> namespace: default
> spec:
> replicas: 1
> revisionHistoryLimit: 3
> selector:
> matchLabels:
> app: guestbook-ui
> template:
> metadata:
> labels:
> app: guestbook-ui
> spec:
> containers:
> - image: gcr.io/heptio-images/ks-guestbook-demo:0.2
> name: guestbook-ui
> ports:
> - containerPort: 80
$ argocd app sync guestbook
$ argocd app get guestbook