Ifihan si GitOps fun OpenShift

Loni a yoo sọrọ nipa awọn ipilẹ ati awọn awoṣe ti GitOps, bakanna bi a ṣe ṣe imuse awọn awoṣe wọnyi lori pẹpẹ OpenShift. Itọsọna ibaraẹnisọrọ lori koko yii wa asopọ.

Ifihan si GitOps fun OpenShift

Ni kukuru, GitOps jẹ eto awọn iṣe fun lilo awọn ibeere fifa Git lati ṣakoso awọn amayederun ati awọn atunto ohun elo. Ibi ipamọ Git ni GitOps ni a tọju bi orisun kan ti alaye nipa ipo eto naa, ati pe eyikeyi awọn iyipada si ipinlẹ yii jẹ itọpa ni kikun ati ṣiṣayẹwo.

Ero ti ipasẹ iyipada ni GitOps kii ṣe tuntun; ọna yii ti pẹ ti lo fere ni gbogbo agbaye nigbati o n ṣiṣẹ pẹlu koodu orisun ohun elo. GitOps kan n ṣe awọn ẹya ti o jọra (awọn atunyẹwo, awọn ibeere fa, awọn afi, ati bẹbẹ lọ) ni awọn amayederun ati iṣakoso iṣeto ohun elo ati pese awọn anfani kanna bi ninu ọran ti iṣakoso koodu orisun.

Ko si itumọ eto-ẹkọ tabi ṣeto awọn ofin ti a fọwọsi fun GitOps, nikan ni ipilẹ awọn ipilẹ eyiti a ṣe agbekalẹ adaṣe yii:

  • Apejuwe asọye ti eto naa wa ni ipamọ ni ibi ipamọ Git (awọn atunto, ibojuwo, ati bẹbẹ lọ).
  • Awọn iyipada ipinlẹ ni a ṣe nipasẹ awọn ibeere fifa.
  • Ipo awọn eto ṣiṣe ni a mu wa si laini pẹlu data ninu ibi ipamọ nipa lilo awọn ibeere titari Git.

Awọn Ilana GitOps

  • Awọn asọye eto jẹ apejuwe bi koodu orisun

Iṣeto ni awọn ọna ṣiṣe bi koodu ki o le wa ni ipamọ ati ti ikede laifọwọyi ni ibi ipamọ Git kan, eyiti o jẹ orisun orisun otitọ kan. Ọna yii jẹ ki o rọrun lati yiyi pada ati yiyi pada ninu awọn eto.

  • Ipo ti o fẹ ati iṣeto ni awọn eto ti ṣeto ati ti ikede ni Git

Nipa titoju ati ikede ipo awọn ọna ṣiṣe ti o fẹ ni Git, a ni anfani lati yi lọ ni irọrun ati yi awọn ayipada pada si awọn eto ati awọn ohun elo. A tun le lo awọn ọna aabo Git lati ṣakoso nini koodu ati rii daju pe ododo rẹ.

  • Awọn ayipada atunto le ṣee lo laifọwọyi nipasẹ awọn ibeere fifa

Lilo awọn ibeere fifa Git, a le ni irọrun ṣakoso bii awọn ayipada ṣe lo si awọn atunto ni ibi ipamọ. Fun apẹẹrẹ, wọn le fun awọn ọmọ ẹgbẹ ẹgbẹ miiran fun atunyẹwo tabi ṣiṣe nipasẹ awọn idanwo CI, ati bẹbẹ lọ.

Ati ni akoko kanna, ko si iwulo lati pin kaakiri awọn agbara abojuto osi ati sọtun. Lati ṣe awọn ayipada atunto, awọn olumulo nilo awọn igbanilaaye ti o yẹ nikan ni ibi ipamọ Git nibiti awọn atunto yẹn ti wa ni ipamọ.

  • Titunṣe iṣoro ti fiseete ti ko ni iṣakoso ti awọn atunto

Ni kete ti ipo eto ti o fẹ ti wa ni ipamọ ni ibi ipamọ Git kan, gbogbo ohun ti a ni lati ṣe ni wiwa sọfitiwia ti yoo rii daju pe ipo eto lọwọlọwọ baamu ipo ti o fẹ. Ti eyi ko ba jẹ ọran, lẹhinna sọfitiwia yii yẹ - da lori awọn eto - boya imukuro aibikita lori tirẹ, tabi sọ fun wa nipa fiseete iṣeto ni.

Awọn awoṣe GitOps fun OpenShift

On-Cluster Reconciler Reconciler

Gẹgẹbi awoṣe yii, iṣupọ naa ni oludari ti o ni iduro fun ifiwera awọn orisun Kubernetes (awọn faili YAML) ni ibi ipamọ Git pẹlu awọn orisun gidi ti iṣupọ naa. Ti a ba rii awọn aiṣedeede, oludari nfi awọn iwifunni ranṣẹ ati pe o ṣee ṣe igbese lati ṣe atunṣe awọn aidọgba. Awoṣe GitOps yii ni a lo ninu Isakoso Config Anthos ati Flux Weaveworks.

Ifihan si GitOps fun OpenShift

Atunṣe Awọn orisun ita (Titari)

Awoṣe yii le ṣe akiyesi bi iyatọ ti iṣaaju, nigba ti a ni ọkan tabi diẹ ẹ sii awọn oludari lodidi fun mimuuṣiṣẹpọ awọn orisun ni “ibi ipamọ Git - Kubernetes iṣupọ” awọn orisii. Iyatọ ti o wa nibi ni pe iṣupọ iṣakoso kọọkan ko ni dandan ni oludari lọtọ tirẹ. Awọn orisii iṣupọ Git-k8s nigbagbogbo ni asọye bi awọn CRD (awọn asọye orisun orisun), eyiti o le ṣapejuwe bii oludari yẹ ki o ṣe amuṣiṣẹpọ. Laarin awoṣe yii, awọn oludari ṣe afiwe ibi ipamọ Git ti a sọ pato ninu CRD pẹlu awọn orisun iṣupọ Kubernetes, eyiti o tun jẹ pato ninu CRD, ati ṣe awọn iṣe ti o yẹ ti o da lori awọn abajade lafiwe. Ni pataki, awoṣe GitOps yii ni a lo ni ArgoCD.

Ifihan si GitOps fun OpenShift

GitOps lori pẹpẹ OpenShift

Isakoso ti olona-cluster Kubernetes amayederun

Pẹlu itankale Kubernetes ati olokiki ti ndagba ti awọn ọgbọn awọsanma pupọ ati iširo eti, nọmba apapọ ti awọn iṣupọ OpenShift fun alabara tun n pọ si.

Fun apẹẹrẹ, nigba lilo iširo eti, awọn iṣupọ alabara kan le ṣe ran lọ ni awọn ọgọọgọrun tabi paapaa ẹgbẹẹgbẹrun. Bi abajade, o fi agbara mu lati ṣakoso ọpọlọpọ ominira tabi awọn iṣupọ OpenShift iṣọpọ ni awọsanma gbangba ati agbegbe ile.

Ni ọran yii, ọpọlọpọ awọn iṣoro ni lati yanju, ni pataki:

  • Ṣakoso pe awọn iṣupọ wa ni ipo kanna (awọn atunto, ibojuwo, ibi ipamọ, ati bẹbẹ lọ)
  • Ṣe atunda (tabi mu pada) awọn iṣupọ ti o da lori ipo ti a mọ.
  • Ṣẹda awọn iṣupọ tuntun ti o da lori ipo ti a mọ.
  • Yipada awọn ayipada si ọpọlọpọ awọn iṣupọ OpenShift.
  • Yipada awọn ayipada kọja ọpọlọpọ awọn iṣupọ OpenShift.
  • Ṣe asopọ awọn atunto apẹrẹ si awọn agbegbe oriṣiriṣi.

Awọn atunto ohun elo

Lakoko igbesi aye wọn, awọn ohun elo nigbagbogbo kọja nipasẹ pq awọn iṣupọ (dev, ipele, ati bẹbẹ lọ) ṣaaju ipari ni iṣupọ iṣelọpọ kan. Ni afikun, nitori wiwa ati awọn ibeere iwọn, awọn alabara nigbagbogbo ran awọn ohun elo kọja ọpọlọpọ awọn iṣupọ ile-ile tabi awọn agbegbe pupọ ti ipilẹ awọsanma gbangba.

Ni ọran yii, awọn iṣẹ ṣiṣe wọnyi ni lati yanju:

  • Rii daju iṣipopada awọn ohun elo (awọn alakomeji, awọn atunto, ati bẹbẹ lọ) laarin awọn iṣupọ (dev, ipele, ati bẹbẹ lọ).
  • Yipada awọn ayipada si awọn ohun elo (awọn alakomeji, awọn atunto, ati bẹbẹ lọ) ni ọpọlọpọ awọn iṣupọ OpenShift.
  • Yipada awọn ayipada pada si awọn ohun elo si ipo ti a mọ tẹlẹ.

OpenShift GitOps Lo Awọn ọran

1. Lilo awọn ayipada lati ibi ipamọ Git

Alakoso iṣupọ le ṣafipamọ awọn atunto iṣupọ OpenShift sinu ibi ipamọ Git kan ati ki o lo wọn laifọwọyi lati ṣẹda awọn iṣupọ tuntun lailaapọn ki o mu wọn wa si ipinlẹ ti o jọra si ipo ti a mọ ti o fipamọ sinu ibi ipamọ Git.

2. Amuṣiṣẹpọ pẹlu Secret Manager

Alakoso yoo tun ni anfani lati agbara lati muuṣiṣẹpọ awọn ohun aṣiri OpenShift pẹlu sọfitiwia ti o yẹ bi Vault lati le ṣakoso wọn ni lilo awọn irinṣẹ pataki ti a ṣẹda fun eyi.

3. Iṣakoso ti fiseete atunto

Alabojuto naa yoo wa ni ojurere nikan ti OpenShift GitOps funrararẹ ṣe idanimọ ati kilọ nipa awọn aiṣedeede laarin awọn atunto gidi ati awọn ti a pato ninu ibi ipamọ, ki wọn le yarayara dahun si fiseete.

4. Awọn iwifunni nipa fiseete iṣeto ni

Wọn wulo ninu ọran naa nigbati oluṣakoso fẹ lati kọ ẹkọ ni kiakia nipa awọn ọran ti fiseete iṣeto ni lati yara mu awọn igbese ti o yẹ fun tirẹ.

5. Amuṣiṣẹpọ afọwọṣe ti awọn atunto nigba ti n lọ

Gba alabojuto laaye lati mu iṣupọ OpenShift ṣiṣẹpọ pẹlu ibi ipamọ Git ni iṣẹlẹ ti fiseete iṣeto ni, lati yara da iṣupọ pada si ipo ti a mọ tẹlẹ.

6.Auto-amuṣiṣẹpọ ti awọn atunto nigba ti n lọ

Alakoso tun le tunto iṣupọ OpenShift lati muṣiṣẹpọ laifọwọyi pẹlu ibi ipamọ nigbati o ba rii iṣipopada kan, ki iṣeto iṣupọ nigbagbogbo baamu awọn atunto ni Git.

7. Ọpọlọpọ awọn iṣupọ - ibi ipamọ kan

Alakoso le ṣafipamọ awọn atunto ti ọpọlọpọ awọn iṣupọ OpenShift oriṣiriṣi sinu ibi ipamọ Git kan ati yiyan wọn bi o ṣe nilo.

8. Ilana ti awọn atunto iṣupọ (ogún)

Alabojuto le ṣeto awọn ilana ti awọn atunto iṣupọ ninu ibi ipamọ (ipele, prod, portfolio app, ati bẹbẹ lọ pẹlu ogún). Ni awọn ọrọ miiran, o le pinnu boya awọn atunto yẹ ki o lo si ọkan tabi diẹ ẹ sii awọn iṣupọ.

Fun apẹẹrẹ, ti oludari kan ba ṣeto ipo-iṣakoso “Awọn iṣupọ iṣelọpọ (prod) → Awọn iṣupọ System X → awọn iṣupọ iṣelọpọ ti eto X” ni ibi ipamọ Git, lẹhinna apapọ awọn atunto atẹle wọnyi ni a lo si awọn iṣupọ iṣelọpọ ti eto X:

  • Awọn atunto ti o wọpọ si gbogbo awọn iṣupọ iṣelọpọ.
  • Awọn atunto fun iṣupọ System X.
  • Awọn atunto fun iṣupọ iṣelọpọ eto X.

9. Awọn awoṣe ati iṣeto ni danu

Alámójútó le dojukọ ṣeto ti awọn atunto jogun ati awọn iye wọn, fun apẹẹrẹ, lati ṣatunṣe atunto daradara fun awọn iṣupọ kan pato eyiti wọn yoo lo.

10. Yiyan pẹlu ati iyasọtọ fun awọn atunto, awọn atunto ohun elo

Alakoso le ṣeto awọn ipo fun ohun elo tabi aisi elo ti awọn atunto kan si awọn iṣupọ pẹlu awọn abuda kan.

11. Atilẹyin awoṣe

Awọn olupilẹṣẹ yoo ni anfani lati agbara lati yan bii awọn orisun ohun elo yoo ṣe asọye (Chart Helm, Kubernetes yaml mimọ, ati bẹbẹ lọ) lati le lo ọna kika ti o yẹ julọ fun ohun elo kọọkan.

Awọn irinṣẹ GitOps lori pẹpẹ OpenShift

ArgoCD

ArgoCD ṣe imuse awoṣe Reconcile Ohun elo Ita ati pe o funni ni UI ti aarin kan fun siseto awọn ibatan ọkan-si-ọpọlọpọ laarin awọn iṣupọ ati awọn ibi ipamọ Git. Awọn aila-nfani ti eto yii pẹlu ailagbara lati ṣakoso awọn ohun elo nigbati ArgoCD ko ṣiṣẹ.

Osise aaye ayelujara

ṣàn

Flux ṣe imuse awoṣe On-Cluster Reconcile Reconcile ati, bi abajade, ko si iṣakoso aarin ti ibi ipamọ asọye, eyiti o jẹ aaye alailagbara. Ni apa keji, ni deede nitori aini ti aarin, agbara lati ṣakoso awọn ohun elo wa paapaa ti iṣupọ kan ba kuna.

Osise aaye ayelujara

Fifi ArgoCD sori OpenShift

ArgoCD nfunni ni wiwo laini aṣẹ ti o tayọ ati console wẹẹbu, nitorinaa a kii yoo bo Flux ati awọn omiiran miiran nibi.

Lati ran ArgoCD sori ẹrọ OpenShift 4, tẹle awọn igbesẹ wọnyi bi olutọju iṣupọ kan:

Gbigbe awọn paati ArgoCD sori ẹrọ OpenShift

# Create a new namespace for ArgoCD components
oc create namespace argocd
# Apply the ArgoCD Install Manifest
oc -n argocd apply -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.2.2/manifests/install.yaml
# Get the ArgoCD Server password
ARGOCD_SERVER_PASSWORD=$(oc -n argocd get pod -l "app.kubernetes.io/name=argocd-server" -o jsonpath='{.items[*].metadata.name}')

Ilọsiwaju ti ArgoCD Server ki o le rii nipasẹ OpenShift Route

# Patch ArgoCD Server so no TLS is configured on the server (--insecure)
PATCH='{"spec":{"template":{"spec":{"$setElementOrder/containers":[{"name":"argocd-server"}],"containers":[{"command":["argocd-server","--insecure","--staticassets","/shared/app"],"name":"argocd-server"}]}}}}'
oc -n argocd patch deployment argocd-server -p $PATCH
# Expose the ArgoCD Server using an Edge OpenShift Route so TLS is used for incoming connections
oc -n argocd create route edge argocd-server --service=argocd-server --port=http --insecure-policy=Redirect

Gbigbe ArgoCD Cli Ọpa

# Download the argocd binary, place it under /usr/local/bin and give it execution permissions
curl -L https://github.com/argoproj/argo-cd/releases/download/v1.2.2/argocd-linux-amd64 -o /usr/local/bin/argocd
chmod +x /usr/local/bin/argocd

Yiyipada ọrọ igbaniwọle abojuto ArgoCD Server

# Get ArgoCD Server Route Hostname
ARGOCD_ROUTE=$(oc -n argocd get route argocd-server -o jsonpath='{.spec.host}')
# Login with the current admin password
argocd --insecure --grpc-web login ${ARGOCD_ROUTE}:443 --username admin --password ${ARGOCD_SERVER_PASSWORD}
# Update admin's password
argocd --insecure --grpc-web --server ${ARGOCD_ROUTE}:443 account update-password --current-password ${ARGOCD_SERVER_PASSWORD} --new-password

Lẹhin ipari awọn igbesẹ wọnyi, o le ṣiṣẹ pẹlu ArgoCD Server nipasẹ ArgoCD WebUI console wẹẹbu tabi ọpa laini aṣẹ ArgoCD Cli.
https://blog.openshift.com/is-it-too-late-to-integrate-gitops/

GitOps - Ko pẹ ju

"Ọkọ oju-irin ti lọ" - eyi ni ohun ti wọn sọ nipa ipo kan nigbati anfani lati ṣe nkan ti o padanu. Ninu ọran ti OpenShift, ifẹ lati bẹrẹ lẹsẹkẹsẹ lilo iru ẹrọ tuntun ti o tutu nigbagbogbo ṣẹda ipo yii ni deede pẹlu iṣakoso ati itọju awọn ipa-ọna, awọn imuṣiṣẹ ati awọn nkan OpenShift miiran. Ṣugbọn ṣe anfani nigbagbogbo sọnu patapata bi?

Tesiwaju awọn jara ti awọn nkan nipa GitOps, Loni a yoo fihan ọ bi o ṣe le yi ohun elo ti a fi ọwọ ṣe pada ati awọn orisun rẹ sinu ilana nibiti ohun gbogbo ti ṣakoso nipasẹ awọn irinṣẹ GitOps. Lati ṣe eyi, a yoo kọkọ ran ohun elo httpd lọ pẹlu ọwọ. Sikirinifoto ti o wa ni isalẹ fihan bi a ṣe ṣẹda aaye orukọ, imuṣiṣẹ ati iṣẹ, ati lẹhinna fi iṣẹ yii han lati ṣẹda ipa-ọna kan.

oc create -f https://raw.githubusercontent.com/openshift/federation-dev/master/labs/lab-4-assets/namespace.yaml
oc create -f https://raw.githubusercontent.com/openshift/federation-dev/master/labs/lab-4-assets/deployment.yaml
oc create -f https://raw.githubusercontent.com/openshift/federation-dev/master/labs/lab-4-assets/service.yaml
oc expose svc/httpd -n simple-app

Nitorina a ni ohun elo ti a fi ọwọ ṣe. Bayi o nilo lati gbe labẹ iṣakoso GitOps laisi pipadanu wiwa. Ni kukuru, o ṣe eyi:

  • Ṣẹda ibi ipamọ Git kan fun koodu naa.
  • A ṣe okeere awọn nkan lọwọlọwọ wa ati gbe wọn si ibi ipamọ Git.
  • Yiyan ati imuṣiṣẹ awọn irinṣẹ GitOps.
  • A ṣafikun ibi ipamọ wa si ohun elo irinṣẹ yii.
  • A ṣe asọye ohun elo ninu ohun elo irinṣẹ GitOps wa.
  • A ṣe idanwo idanwo ti ohun elo nipa lilo ohun elo irinṣẹ GitOps.
  • A mu awọn nkan ṣiṣẹpọ nipa lilo ohun elo irinṣẹ GitOps.
  • Mu pruning ṣiṣẹ ati mimuuṣiṣẹpọ adaṣe awọn nkan.

Bi mẹnuba ninu išaaju article, ni GitOps o wa ọkan ati orisun kan ti alaye nipa gbogbo awọn nkan ti o wa ninu iṣupọ Kubernetes (s) - ibi ipamọ Git. Nigbamii, a tẹsiwaju lati agbegbe ti ajo rẹ ti lo ibi ipamọ Git kan tẹlẹ. O le jẹ ti gbogbo eniyan tabi ikọkọ, ṣugbọn o gbọdọ wa ni iraye si awọn iṣupọ Kubernetes. Eyi le jẹ ibi ipamọ kanna bi fun koodu ohun elo, tabi ibi ipamọ lọtọ ti a ṣẹda ni pataki fun awọn imuṣiṣẹ. A ṣe iṣeduro lati ni awọn igbanilaaye ti o muna ni ibi ipamọ nitori awọn aṣiri, awọn ipa-ọna, ati awọn nkan ti o ni aabo aabo yoo wa ni ipamọ nibẹ.

Ninu apẹẹrẹ wa, a yoo ṣẹda ibi ipamọ gbogbo eniyan lori GitHub. O le pe ohunkohun ti o ba fẹ, a lo orukọ bulọọgi.

Ti awọn faili ohun YAML ko ba wa ni ipamọ ni agbegbe tabi ni Git, lẹhinna o yoo ni lati lo oc tabi awọn alakomeji kubectl. Ninu sikirinifoto ti o wa ni isalẹ a n beere YAML fun aaye orukọ wa, imuṣiṣẹ, iṣẹ ati ipa ọna. Ṣaaju eyi, a ṣe ẹda ibi ipamọ tuntun ti a ṣẹda ati cd sinu rẹ.

oc get namespace simple-app -o yaml --export > namespace.yaml
oc get deployment httpd -o yaml -n simple-app --export > deployment.yaml
oc get service httpd -o yaml -n simple-app --export > service.yaml
oc get route httpd -o yaml -n simple-app --export > route.yaml

Bayi jẹ ki a ṣatunkọ faili deployment.yaml lati yọ aaye ti Argo CD ko le muṣiṣẹpọ.

sed -i '/sgeneration: .*/d' deployment.yaml

Ni afikun, ipa ọna nilo lati yipada. A yoo kọkọ ṣeto oniyipada multiline kan lẹhinna rọpo ingress: asan pẹlu awọn akoonu inu oniyipada yẹn.

export ROUTE="  ingress:                                                            
    - conditions:
        - status: 'True'
          type: Admitted"

sed -i "s/  ingress: null/$ROUTE/g" route.yaml

Nitorinaa, a ti ṣeto awọn faili naa, gbogbo ohun ti o ku ni lati fi wọn pamọ si ibi ipamọ Git. Lẹhin eyiti ibi-ipamọ yii di orisun alaye nikan, ati pe eyikeyi awọn iyipada afọwọṣe si awọn nkan yẹ ki o jẹ eewọ muna.

git commit -am ‘initial commit of objects’
git push origin master

Siwaju sii a tẹsiwaju lati otitọ pe o ti gbe ArgoCD tẹlẹ (bi o ṣe le ṣe eyi - wo iṣaaju sare). Nitorinaa, a yoo ṣafikun si Argo CD ibi ipamọ ti a ṣẹda, ti o ni koodu ohun elo lati apẹẹrẹ wa. Kan rii daju pe o pato ibi ipamọ gangan ti o ṣẹda tẹlẹ.

argocd repo add https://github.com/cooktheryan/blogpost

Bayi jẹ ki ká ṣẹda awọn ohun elo. Ohun elo naa ṣeto awọn iye ki ohun elo irinṣẹ GitOps loye iru ibi ipamọ ati awọn ọna lati lo, eyiti OpenShift nilo lati ṣakoso awọn nkan, eyiti ẹka kan pato ti ibi ipamọ nilo, ati boya awọn orisun yẹ ki o muṣiṣẹpọ.

argocd app create --project default 
--name simple-app --repo https://github.com/cooktheryan/blogpost.git 
--path . --dest-server https://kubernetes.default.svc 
--dest-namespace simple-app --revision master --sync-policy none

Ni kete ti ohun elo kan ba jẹ pato ninu Argo CD, ohun elo irinṣẹ bẹrẹ ṣayẹwo awọn nkan ti a ti gbe lọ tẹlẹ si awọn asọye ninu ibi ipamọ. Ninu apẹẹrẹ wa, imuṣiṣẹpọ-laifọwọyi ati mimọ jẹ alaabo, nitorinaa awọn eroja ko yipada sibẹsibẹ. Jọwọ ṣe akiyesi pe ni wiwo Argo CD ohun elo wa yoo ni ipo “Jade ti Ṣiṣẹpọ” nitori ko si aami ti ArgoCD pese.
Eyi ni idi ti a ba bẹrẹ mimuuṣiṣẹpọ diẹ lẹhinna, awọn nkan naa kii yoo tun gbe lọ.

Bayi jẹ ki a ṣe idanwo idanwo lati rii daju pe ko si awọn aṣiṣe ninu awọn faili wa.

argocd app sync simple-app --dry-run

Ti ko ba si awọn aṣiṣe, lẹhinna o le tẹsiwaju si mimuuṣiṣẹpọ.

argocd app sync simple-app

Lẹhin ti nṣiṣẹ argocd gba aṣẹ lori ohun elo wa, o yẹ ki a rii pe ipo ohun elo ti yipada si ilera tabi Ṣiṣẹpọ. Eyi yoo tumọ si pe gbogbo awọn orisun ti o wa ninu ibi ipamọ Git ni bayi ni ibamu si awọn orisun wọnyẹn ti o ti gbe lọ tẹlẹ.

argocd app get simple-app
Name:               simple-app
Project:            default
Server:             https://kubernetes.default.svc
Namespace:          simple-app
URL:                https://argocd-server-route-argocd.apps.example.com/applications/simple-app
Repo:               https://github.com/cooktheryan/blogpost.git
Target:             master
Path:               .
Sync Policy:        <none>
Sync Status:        Synced to master (60e1678)
Health Status:      Healthy
...   

Bayi o le mu imuṣiṣẹpọ aifọwọyi ṣiṣẹ ati mimọ lati rii daju pe ko si ohunkan ti a ṣẹda pẹlu ọwọ ati pe ni gbogbo igba ti ohun kan ba ṣẹda tabi imudojuiwọn si ibi ipamọ, imuṣiṣẹ yoo waye.

argocd app set simple-app --sync-policy automated --auto-prune

Nitorinaa, a ti ṣaṣeyọri mu ohun elo kan wa labẹ iṣakoso GitOps ti o kọkọ lo GitOps ni eyikeyi ọna.

orisun: www.habr.com

Fi ọrọìwòye kun