د OpenShift لپاره GitOps پیژندنه

نن ورځ به موږ د GitOps د اصولو او ماډلونو په اړه وغږیږو، په بیله بیا دا ماډلونه څنګه په OpenShift پلیټ فارم کې پلي کیږي. د دې موضوع په اړه یو متقابل لارښود شتون لري مخونه.

د OpenShift لپاره GitOps پیژندنه

په لنډه توګه ، GitOps د زیربنا او غوښتنلیک تنظیماتو اداره کولو لپاره د Git پل غوښتنې کارولو لپاره د تمرینونو مجموعه ده. په GitOps کې د Git ذخیره د سیسټم حالت په اړه د معلوماتو د یوې سرچینې په توګه چلند کیږي، او پدې حالت کې کوم بدلونونه په بشپړ ډول د موندلو او پلټنې وړ دي.

په GitOps کې د بدلون تعقیب مفکوره هیڅ ډول نوې نه ده؛ دا طریقه د اوږدې مودې راهیسې په نړیواله کچه کارول شوې کله چې د غوښتنلیک سرچینې کوډ سره کار کوي. GitOps په ساده ډول د زیربنا او غوښتنلیک ترتیب مدیریت کې ورته ځانګړتیاوې (بیاکتنې، پلې غوښتنې، ټاګونه، او نور) پلي کوي او ورته ګټې وړاندې کوي لکه د سرچینې کوډ مدیریت په قضیه کې.

د GitOps لپاره هیڅ اکاډمیک تعریف یا تصویب شوي مقررات شتون نلري ، یوازې د اصولو یوه مجموعه چې دا تمرین رامینځته شوی:

  • د سیسټم اعلاناتي توضیحات د Git ذخیره کې زیرمه شوي (تشکیلات، څارنه، او نور).
  • د دولت بدلونونه د پلټ غوښتنو له لارې رامینځته کیږي.
  • د چلولو سیسټمونو حالت د Git push غوښتنو په کارولو سره په ذخیره کې د معلوماتو سره سم راوړل کیږي.

د GitOps اصول

  • د سیسټم تعریفونه د سرچینې کوډ په توګه تشریح شوي

د سیسټمونو ترتیب د کوډ په توګه چلند کیږي نو دا د Git ذخیره کې ذخیره او په اتوماتيک ډول نسخه کیدی شي، کوم چې د ریښتیا د یوې سرچینې په توګه کار کوي. دا طریقه په سیسټمونو کې د رول آوټ او رول بیک بدلونونو اسانه کوي.

  • د سیسټمونو مطلوب حالت او ترتیب په Git کې ترتیب او نسخه شوی

په Git کې د سیسټمونو مطلوب حالت ذخیره کولو او نسخه کولو سره، موږ کولی شو په اسانۍ سره په سیسټمونو او غوښتنلیکونو کې بدلونونه راوباسئ او بیرته راوباسئ. موږ کولی شو د کوډ ملکیت کنټرول او د دې اعتبار تصدیق کولو لپاره د Git امنیتي میکانیزمونه هم وکاروو.

  • د ترتیب کولو بدلونونه په اتوماتيک ډول د پل غوښتنو له لارې پلي کیدی شي

د Git پل غوښتنې په کارولو سره ، موږ کولی شو په اسانۍ سره کنټرول کړو چې څنګه بدلونونه په ذخیره کې ترتیبونو کې پلي کیږي. د مثال په توګه، دوی د ټیم نورو غړو ته د بیاکتنې لپاره ورکول کیدی شي یا د CI ازموینې له لارې پرمخ وړل کیږي، او نور.

او په ورته وخت کې ، د ښي او ښي خوا د اداري واکونو ویشلو ته اړتیا نشته. د تشکیلاتو بدلونونو ژمن کولو لپاره ، کارونکي یوازې د Git ذخیره کې مناسب اجازې ته اړتیا لري چیرې چې دا تشکیلات زیرمه شوي.

  • د تشکیلاتو د غیر کنټرول شوي جریان ستونزه حل کول

یوځل چې د سیسټم مطلوب حالت د Git ذخیره کې زیرمه شي ، ټول هغه څه چې موږ یې باید ترسره کړو هغه سافټویر ومومئ چې دا به ډاډ ترلاسه کړي چې د سیسټم اوسنی حالت د دې مطلوب حالت سره سمون لري. که دا مسله نه وي، نو دا سافټویر باید - د ترتیباتو پورې اړه ولري - یا پخپله توپیر له منځه یوسي، یا موږ ته د ترتیب کولو په اړه خبر راکړئ.

د OpenShift لپاره د GitOps ماډلونه

په کلستر کې د منابعو پخاطر

د دې ماډل په وینا، کلستر یو کنټرولر لري چې د کلستر اصلي سرچینو سره د ګیټ ذخیره کې د Kubernetes سرچینې (YAML فایلونو) پرتله کولو مسولیت لري. که توپیرونه وموندل شي، کنټرولر خبرتیاوې لیږي او ممکن د توپیرونو سمولو لپاره اقدام وکړي. دا د GitOps ماډل د انتوس کنفیګ مدیریت او ویو ورکس فلکس کې کارول کیږي.

د OpenShift لپاره GitOps پیژندنه

د بهرنیو منابعو پخلاینه (پش)

دا ماډل د تیر یو توپیر په توګه په پام کې نیول کیدی شي، کله چې موږ یو یا ډیر کنټرولرونه لرو چې د "Git ذخیره - Kubernetes کلستر" جوړه کې د منابعو همغږي کولو مسولیت لري. دلته توپیر دا دی چې هر اداره شوي کلستر اړین نه دی چې خپل جلا کنټرولر ولري. Git - k8s کلستر جوړه اکثرا د CRDs (د ګمرک سرچینو تعریف) په توګه تعریف شوي، کوم چې کولی شي تشریح کړي چې څنګه کنټرولر باید همغږي ترسره کړي. د دې ماډل دننه، کنټرولر د Git ذخیره په CRD کې د Kubernetes کلستر سرچینو سره پرتله کوي، کوم چې په CRD کې هم مشخص شوي، او د پرتله کولو پایلو پراساس مناسب عملونه ترسره کوي. په ځانګړې توګه، دا GitOps ماډل په ArgoCD کې کارول کیږي.

د OpenShift لپاره GitOps پیژندنه

GitOps په OpenShift پلیټ فارم کې

د ملټي کلستر کوبرنیټس زیربنا اداره کول

د Kubernetes خپریدو سره او د څو کلاوډ ستراتیژیو او څنډه کمپیوټري ډیریدونکي شهرت سره ، د هر پیرودونکي لپاره د OpenShift کلسترونو اوسط شمیر هم مخ په ډیریدو دی.

د مثال په توګه، کله چې د څنډې کمپیوټر کارول کیږي، د یو پیرودونکي کلسترونه په سلګونو یا حتی زرګونو کې ځای پرځای کیدی شي. د پایلې په توګه، هغه مجبور دی چې په عامه کلاوډ او آن پریمیس کې ډیری خپلواک یا همغږي شوي OpenShift کلسترونه اداره کړي.

په دې حالت کې، ډیری ستونزې باید حل شي، په ځانګړې توګه:

  • کنټرول کړئ چې کلسترونه په ورته حالت کې دي (تشکیلات، څارنه، ذخیره کول، او نور)
  • د پیژندل شوي حالت پراساس کلسترونه بیا جوړ کړئ (یا بحال کړئ).
  • د پیژندل شوي حالت پراساس نوي کلسترونه جوړ کړئ.
  • په ډیری OpenShift کلسترونو کې بدلونونه راولي.
  • په ډیری OpenShift کلسترونو کې بدلونونه بیرته راولي.
  • د ټیمپلیټ ترتیبونه مختلف چاپیریالونو ته وصل کړئ.

د غوښتنلیک تشکیلات

د دوی د ژوند دورې په جریان کې، غوښتنلیکونه ډیری وختونه د تولید کلستر کې پای ته رسیدو دمخه د کلسترونو سلسله (dev، مرحله، او نور) څخه تیریږي. سربیره پردې ، د شتون او توزیع کولو اړتیاو له امله ، پیرودونکي اکثرا غوښتنلیکونه په ډیری آن پریمیس کلسترونو یا د عامه کلاوډ پلیټ فارم ډیری سیمو کې ځای په ځای کوي.

په دې حالت کې، لاندې دندې باید حل شي:

  • د کلسترونو (dev، مرحلې، او نور) ترمنځ د غوښتنلیکونو حرکت (بائنری، ترتیب، او نور) ډاډمن کړئ.
  • په ډیری OpenShift کلسترونو کې غوښتنلیکونو (بائنری، تشکیلاتو، او نور) کې بدلونونه راولي.
  • په غوښتنلیکونو کې بدلونونه مخکیني پیژندل شوي حالت ته راوګرځوئ.

د OpenShift GitOps قضیې کارول

1. د Git ذخیره څخه د بدلونونو پلي کول

د کلستر مدیر کولی شي د Git ذخیره کې د OpenShift کلستر تشکیلات ذخیره کړي او په اتوماتيک ډول یې پلي کړي ترڅو په اسانۍ سره نوي کلسترونه رامینځته کړي او په Git ذخیره کې ذخیره شوي پیژندل شوي حالت ته ورته حالت ته راوړي.

2. د پټ مدیر سره همغږي کول

مدیر به د مناسب سافټویر لکه والټ سره د OpenShift پټ توکي همغږي کولو وړتیا څخه هم ګټه پورته کړي ترڅو د دې لپاره ځانګړي شوي وسیلو په کارولو سره اداره کړي.

3. د ډریف تشکیلاتو کنټرول

اډمین به یوازې په ګټه وي که د OpenShift GitOps پخپله د ریښتیني تشکیلاتو او په ذخیره کې مشخص شوي د توپیرونو په اړه وپیژني او خبرداری ورکړي ، نو دوی کولی شي ژر تر ژره حرکت ته ځواب ووایی.

4. د تشکیلاتو د بدلون په اړه خبرتیاوې

دا په هغه حالت کې ګټور دي کله چې مدیر غواړي د تشکیلاتو د ډیریدو قضیو په اړه ژر تر ژره زده کړي ترڅو ژر تر ژره پخپله مناسب اقدامات وکړي.

5. د حرکت کولو په وخت کې د ترتیبونو لاسي همغږي کول

اډمین ته اجازه ورکوي چې د OpenShift کلستر د Git ذخیره سره همغږي کړي د کنفیګریشن ډریفټ په حالت کې ، ترڅو کلسټر ژر تر ژره پخواني پیژندل شوي حالت ته راستون شي.

6. د حرکت کولو په وخت کې د تشکیلاتو اتوماتیک همغږي کول

مدیر کولی شي د OpenShift کلستر هم تنظیم کړي ترڅو په اتوماتيک ډول د ذخیره کولو سره همغږي شي کله چې یو ډریف وموندل شي ، نو د کلسټر ترتیب تل په Git کې له تشکیلاتو سره سمون لري.

7. څو کلسترونه - یو ذخیره

مدیر کولی شي د ډیری مختلف OpenShift کلسترونو ترتیبونه په یو Git ذخیره کې ذخیره کړي او په انتخاب سره یې د اړتیا سره سم پلي کړي.

8. د کلستر ترتیبونو درجه بندي (میراث)

اډمین کولی شي په ذخیره کې د کلستر ترتیبونو درجه بندي تنظیم کړي (مرحله، پروډ، ایپ پورټ فولیو، او نور د میراث سره). په بل عبارت، دا کولی شي معلومه کړي چې آیا ترتیبونه باید په یو یا ډیرو کلسترونو کې پلي شي.

د مثال په توګه، که چیرې یو مدیر د Git په ذخیره کې د "د تولید کلسترونه (prod) → سیسټم X کلسترونه → د سیسټم X تولید کلسترونه" ترتیب کړي، نو د لاندې ترتیبونو ترکیب د سیسټم X تولید کلسترونو کې پلي کیږي:

  • د ټولو تولید کلسترونو لپاره عام ترتیبونه.
  • د سیسټم ایکس کلستر لپاره تشکیلات.
  • د ایکس سیسټم تولید کلستر لپاره تشکیلات.

9. ټیمپلیټونه او تشکیلات اووررایډ

مدیر کولی شي د وراثت شوي تشکیلاتو سیټ او د دوی ارزښتونه له پامه غورځوي، د بیلګې په توګه، د ځانګړو کلسترونو لپاره چې دوی به پلي شي، ترتیب ښه تنظیم کړي.

10. انتخابي د تشکیلاتو، غوښتنلیک ترتیبونو لپاره شامل او خارج کول

مدیر کولی شي د ځانګړو ځانګړتیاو سره کلسترونو ته د غوښتنلیک یا غیر غوښتنلیک لپاره شرایط تنظیم کړي.

11. د کينډۍ ملاتړ

پرمخ وړونکي به د دې وړتیا څخه ګټه پورته کړي چې د غوښتنلیک سرچینې به څنګه تعریف شي (هیلم چارټ، خالص کبرنیټس یامل، او داسې نور) ترڅو د هر ځانګړي غوښتنلیک لپاره خورا مناسب فارمیټ وکاروي.

د OpenShift پلیټ فارم کې د GitOps اوزار

ارګو سي ډي

ArgoCD د بهرنۍ سرچینې پخلاینې ماډل پلي کوي او د کلسترونو او Git ذخیره کولو تر مینځ د یو څخه تر ډیری اړیکو تنظیم کولو لپاره مرکزي UI وړاندیز کوي. د دې برنامه نیمګړتیاوې د غوښتنلیکونو اداره کولو کې پاتې راتلل شامل دي کله چې ArgoCD کار نه کوي.

رسمي ویب پاڼه

بهيږي

فلکس د آن کلستر سرچینې پخلاینې ماډل پلي کوي او په پایله کې، د تعریف ذخیره کولو مرکزي مدیریت شتون نلري، کوم چې یو ضعیف ټکی دی. له بلې خوا، دقیقا د مرکزي کولو نشتوالي له امله، د غوښتنلیکونو اداره کولو وړتیا پاتې ده حتی که یو کلستر ناکام شي.

رسمي ویب پاڼه

په OpenShift کې د ArgoCD نصب کول

ArgoCD یو عالي کمانډ لاین انٹرفیس او ویب کنسول وړاندیز کوي ، نو موږ به دلته فلکس او نور بدیلونه پوښ ​​نه کړو.

د OpenShift 4 پلیټ فارم کې د ArgoCD ځای په ځای کولو لپاره، دا ګامونه د کلستر مدیر په توګه تعقیب کړئ:

د OpenShift پلیټ فارم کې د ArgoCD اجزاو ځای په ځای کول

# 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}')

د ArgoCD سرور ښه کول ترڅو دا د OpenShift روټ لخوا لیدل کیدی شي

# 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

د ArgoCD Cli Tool ځای پر ځای کول

# 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

د ArgoCD سرور اداري پټنوم بدلول

# 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

د دې مرحلو بشپړولو وروسته، تاسو کولی شئ د ArgoCD سرور سره د ArgoCD WebUI ویب کنسول یا د ArgoCD Cli کمانډ لاین وسیلې له لارې کار وکړئ.
https://blog.openshift.com/is-it-too-late-to-integrate-gitops/

GitOps - دا هیڅکله ناوخته نه دی

"ریل ګاډی روان دی" - دا هغه څه دي چې دوی د داسې وضعیت په اړه وايي کله چې د یو څه کولو فرصت له لاسه ورکړل شي. د OpenShift په حالت کې، د دې ښه نوي پلیټ فارم کارولو سمدستي پیل کولو هیله اکثرا د لارو، ځای پرځای کولو او نورو OpenShift شیانو مدیریت او ساتنې سره دا وضعیت رامینځته کوي. مګر ایا دا فرصت تل په بشپړ ډول له لاسه ورکوي؟

په اړه د مقالو لړۍ ته دوام ورکوي GitOps، نن ورځ موږ به تاسو ته وښیو چې څنګه د لاسي جوړ شوي غوښتنلیک او د هغې سرچینې په داسې پروسې بدل کړئ چیرې چې هرڅه د GitOps وسیلو لخوا اداره کیږي. د دې کولو لپاره، موږ به لومړی په لاسي ډول د httpd غوښتنلیک ځای په ځای کړو. لاندې سکرین شاټ ښیې چې موږ څنګه د نوم ځای ، ځای پرځای کول او خدمت رامینځته کوو ، او بیا د لارې رامینځته کولو لپاره دا خدمت افشا کوو.

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

نو موږ د لاسي جوړ شوي غوښتنلیک لرو. اوس دا اړتیا لري چې د شتون له لاسه ورکولو پرته د GitOps مدیریت لاندې لیږدول شي. په لنډه توګه، دا کار کوي:

  • د کوډ لپاره د Git ذخیره جوړه کړئ.
  • موږ خپل اوسني توکي صادروو او د Git ذخیره ته یې اپلوډ کوو.
  • د GitOps وسیلو غوره کول او ځای په ځای کول.
  • موږ خپل ذخیره پدې وسیلې کې اضافه کوو.
  • موږ زموږ په GitOps Toolkit کې غوښتنلیک تعریف کوو.
  • موږ د GitOps Toolkit په کارولو سره د غوښتنلیک ازموینه ترسره کوو.
  • موږ د GitOps اوزار کټ په کارولو سره توکي همغږي کوو.
  • د شیانو د شاخه کولو او اتوماتیک ترکیب فعال کړئ.

لکه څنګه چې په تیرو کې یادونه وشوه مقالې، په GitOps کې د Kubernetes کلستر (s) کې د ټولو شیانو په اړه د معلوماتو یوه او یوازې یوه سرچینه شتون لري - د Git ذخیره. بیا ، موږ د دې اساس څخه پرمخ ځو چې ستاسو اداره دمخه د Git ذخیره کاروي. دا عامه یا خصوصي کیدی شي، مګر دا باید د کوبرنیټس کلسترونو ته د لاسرسي وړ وي. دا کیدی شي ورته ذخیره وي لکه د غوښتنلیک کوډ لپاره، یا یو جلا ذخیره په ځانګړي ډول د ځای پرځای کولو لپاره رامینځته شوی. دا سپارښتنه کیږي چې په ذخیره کې سخت اجازې ولري ځکه چې رازونه، لارې او نور امنیتي حساس شیان به هلته ذخیره شي.

زموږ په مثال کې، موږ به په GitHub کې یو نوی عامه ذخیره جوړه کړو. تاسو کولی شئ دا هر څه چې تاسو یې خوښوئ، موږ د بلاګ پوسټ نوم کاروو.

که چیرې د YAML اعتراض فایلونه په ځایی یا Git کې زیرمه شوي نه وي ، نو تاسو باید د oc یا kubectl بائنری وکاروئ. لاندې په سکرین شاټ کې موږ زموږ د نوم ځای ، ځای پرځای کولو ، خدمت او لارې لپاره د YAML غوښتنه کوو. له دې وړاندې، موږ نوی جوړ شوی ذخیره کلون کړه او په هغې کې cd.

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

اوس راځئ چې د deployment.yaml فایل ترمیم کړو ترڅو هغه ساحه لیرې کړو چې د ارګو CD نشي کولی همغږي شي.

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

سربیره پردې، لاره باید بدل شي. موږ به لومړی یو څو کرښې متغیر تنظیم کړو او بیا به د داخلیدو ځای بدل کړو: د هغه متغیر مینځپانګې سره null.

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

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

نو، موږ فایلونه ترتیب کړل، ټول هغه څه چې پاتې دي هغه د Git ذخیره کې خوندي کول دي. وروسته له دې چې دا ذخیره د معلوماتو یوازینۍ سرچینه شي، او په شیانو کې هر ډول لارښود بدلونونه باید په کلکه منع شي.

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

نور موږ د دې حقیقت څخه پرمخ ځو چې تاسو دمخه د ArgoCD ځای په ځای کړی دی (دا څنګه ترسره کړئ - مخکینی وګورئ پوسته). له همدې امله، موږ به د ارګو سي ډي کې هغه ذخیره اضافه کړو چې موږ یې جوړ کړی، زموږ د مثال څخه د غوښتنلیک کوډ لري. یوازې ډاډ ترلاسه کړئ چې تاسو دقیق ذخیره مشخص کړئ چې تاسو دمخه رامینځته کړی.

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

اوس راځئ چې غوښتنلیک جوړ کړو. غوښتنلیک ارزښتونه ټاکي ترڅو د GitOps Toolkit پوه شي چې کوم ذخیره او لارې کارول کیږي، کوم OpenShift د شیانو اداره کولو لپاره اړین دی، د ذخیره کولو کومې ځانګړې څانګې ته اړتیا ده، او ایا سرچینې باید پخپله همغږي شي.

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

یوځل چې غوښتنلیک په ارګو CD کې مشخص شي ، تولکیټ په ذخیره کې د تعریفونو پروړاندې دمخه ځای پرځای شوي توکي چیک کول پیل کوي. زموږ په مثال کې، اتوماتیک همغږي او پاکول غیر فعال دي، نو عناصر لاهم نه بدلیږي. مهرباني وکړئ په یاد ولرئ چې د ارګو سي ډي انٹرفیس کې به زموږ غوښتنلیک د "همغږي څخه بهر" حالت ولري ځکه چې هیڅ لیبل شتون نلري چې ارګو سي ډي چمتو کوي.
له همدې امله کله چې موږ یو څه وروسته همغږي پیل کړو ، توکي به له سره ځای په ځای نشي.

اوس راځئ چې د ازموینې لړۍ ترسره کړو ترڅو ډاډ ترلاسه کړو چې زموږ په فایلونو کې هیڅ غلطی شتون نلري.

argocd app sync simple-app --dry-run

که کومه تېروتنه شتون ونلري، نو تاسو کولی شئ همغږي ته لاړ شئ.

argocd app sync simple-app

زموږ په غوښتنلیک کې د argocd get کمانډ چلولو وروسته ، موږ باید وګورو چې د غوښتنلیک حالت صحي یا همغږي ته بدل شوی. دا به پدې معنی وي چې د Git ذخیره کې ټولې سرچینې اوس د هغو سرچینو سره مطابقت لري چې دمخه ځای په ځای شوي.

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
...   

اوس تاسو کولی شئ د اتوماتیک همغږي او پاکولو وړ کړئ ترڅو ډاډ ترلاسه کړئ چې هیڅ شی په لاسي ډول نه دی رامینځته شوی او دا چې هرکله چې یو شی رامینځته کیږي یا ذخیره ته تازه کیږي ، یو ځای پرځای کول به پیښ شي.

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

نو ، موږ په بریالیتوب سره د GitOps کنټرول لاندې یو غوښتنلیک راوړو چې په پیل کې یې په هیڅ ډول GitOps نه و کارولی.

سرچینه: www.habr.com

Add a comment