[Book] [OK!] GitOps Cookbook: 07. Argo CD: 7.1 Deploy an Application Using Argo CD
Задача:
С помощью Argo CD задеплоить приложение из git
Делаю:
2025.12.03
// Смотрим актуальную версию API
$ kubectl api-resources | grep Application
applications app,apps argoproj.io/v1alpha1 true Application
applicationsets appset,appsets argoproj.io/v1alpha1 true ApplicationSet
$ cat << 'EOF' | kubectl create -f -
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: bgd-app
namespace: argocd
spec:
destination:
namespace: bgd
server: https://kubernetes.default.svc
project: default
source:
repoURL: https://github.com/wildmakaka/gitops-cookbook-sc.git
path: ch07/bgd
targetRevision: main
EOF
$ argocd app list
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
argocd/bgd-app https://kubernetes.default.svc bgd default OutOfSync Missing <none> <none> https://github.com/wildmakaka/gitops-cookbook-sc.git ch07/bgd main
$ argocd app sync bgd-app
TIMESTAMP GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE
2025-12-03T23:47:26+03:00 Namespace bgd OutOfSync Missing
2025-12-03T23:47:26+03:00 Service bgd bgd OutOfSync Missing
2025-12-03T23:47:26+03:00 apps Deployment bgd bgd OutOfSync Missing
2025-12-03T23:47:26+03:00 Namespace bgd Synced Missing
2025-12-03T23:47:26+03:00 Service bgd bgd Synced Healthy
2025-12-03T23:47:26+03:00 Namespace bgd bgd Running Synced namespace/bgd created
2025-12-03T23:47:26+03:00 Service bgd bgd Synced Healthy service/bgd created
2025-12-03T23:47:26+03:00 apps Deployment bgd bgd OutOfSync Missing deployment.apps/bgd created
Name: argocd/bgd-app
Project: default
Server: https://kubernetes.default.svc
Namespace: bgd
URL: https://argocd.example.com/applications/bgd-app
Source:
- Repo: https://github.com/wildmakaka/gitops-cookbook-sc.git
Target: main
Path: ch07/bgd
SyncWindow: Sync Allowed
Sync Policy: Manual
Sync Status: Synced to main (3e63da1)
Health Status: Progressing
Operation: Sync
Sync Revision: 3e63da1e346378754db5c071be1604fcdb64c499
Phase: Succeeded
Start: 2025-12-03 23:47:26 +0300 MSK
Finished: 2025-12-03 23:47:26 +0300 MSK
Duration: 0s
Message: successfully synced (all tasks run)
GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE
Namespace bgd bgd Running Synced namespace/bgd created
Service bgd bgd Synced Healthy service/bgd created
apps Deployment bgd bgd Synced Progressing deployment.apps/bgd created
$ kubectl get pods -n bgd
NAME READY STATUS RESTARTS AGE
bgd-547cbdc7-6twpw 1/1 Running 0 29s
$ minikube --profile ${PROFILE} ip
192.168.58.2
$ kubectl get services -n bgd
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
bgd ClusterIP 10.111.24.158 <none> 8080/TCP 60s
$ kubectl patch svc bgd -n bgd -p '{"spec": {"type": "NodePort"}}'
$ kubectl get services -n bgd
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
bgd NodePort 10.111.24.158 <none> 8080:30308/TCP 101s
// [OK!]
http://192.168.58.2:30308
Обновление
https://github.com/wildmakaka/gitops-cookbook-sc/blob/main/ch07/bgd/bgd-deployment.yaml
Меняю:
value: “blue” на “orange”
в
spec:
containers:
- image: quay.io/rhdevelopers/bgd:1.0.0
name: bgd
env:
- name: COLOR
value: 'blue'
resources: {}
$ argocd app sync bgd-app
// [OK!]
http://192.168.58.2:30308
$ argocd app delete bgd-app