GitOps'u etkinleştirin, bir Git deposu bağlayın ve ilk uygulamanızı hedef kümeye dağıtın.
Bu kılavuzun sonunda şunları yapmış olacaksınız:
Argo CD konsoluna genel erişimi etkinleştirdiniz
Bir Git deposunu Argo CD'ye bağladınız
Bir uygulamayı hedef kümeye dağıttınız
Ön Koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
Fleet yönetimi etkin.
Birden çok küme fleet örneğiyle ilişkilendirildi.
AliyunAdcpFullAccess izni RAM kullanıcınıza verildi.
(Yalnızca CLI) Fleet örneği kubeconfig dosyasını ACK One konsolundan indirdiniz ve kubectl'yi filoya bağlanacak şekilde yapılandırdınız.
(Yalnızca CLI) Alibaba Cloud CLI'nin en son sürümünü yüklediniz ve yapılandırdınız.
Faturalama
GitOps'u etkinleştirmek şu ücretlendirilebilir kaynakları oluşturur:
Argo CD API ve kullanıcı arayüzü uç noktalarını göstermek için bir SLB örneği
Argo CD hizmeti için 2 vCPU ve 4 GB belleğe sahip kullandıkça öde ECI örneği
Ayrıntılar için Çok küme filoları için cloud kaynaklarının faturalandırması konusuna bakın.
Desteklenen bölgeler
GitOps, çok küme filolarını ve iş akışı kümelerini destekleyen tüm bölgelerde desteklenir.
Adım 1: GitOps konsoluna genel erişimi etkinleştirin
GitOps, ACK One fleet örneklerinde varsayılan olarak etkindir ancak Argo CD konsoluna yalnızca Virtual Private Cloud (VPC) içinden erişilebilir. Uygulamaları İnternet üzerinden yönetmek için genel erişimi etkinleştirin.
Genel erişimin etkinleştirilmesi güvenlik riskleri getirir. Erişimi her zaman güvenilir IP adresleriyle veya CIDR bloklarıyla sınırlamak için bir Erişim Denetim Listesi (ACL) yapılandırın.
Konsolu Kullanma
ACK One konsoluna giriş yapın. Sol gezinme bölmesinde Fleet > Multi-cluster Applications seçeneğini belirleyin.
Multi-cluster GitOps sayfasında, fleet adının yanındaki
simgesine tıklayın ve filonuzu seçin.GitOps etkin değilse Enable GitOps öğesine, ardından OK öğesine tıklayın. Zaten etkinse GitOps Console düğmesi görünür.
Public Access öğesinin yanındaki Enable düğmesine tıklayın. Enable Public Access iletişim kutusunda, izin listesi için IP adreslerini veya CIDR bloklarını girin ve ardından OK öğesine tıklayın.
Fleet güncellendikten sonra Argo CD konsolunu açmak için GitOps Console öğesine tıklayın.
Cloud Assistant CLI Kullanma
GitOps ve genel erişimi aynı anda etkinleştirin. <your_clusterid> yerine fleet örneği kimliğinizi ve AccessControlList değeri yerine güvenilir CIDR bloklarınızı yazın.
CIDR bloğu ayrıntıları için Argo CD'ye genel erişimi etkinleştirme konusuna bakın.
aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --PublicAccessEnabled true --AccessControlList "[\"10.100.XX.XX/24\"]" --ArgoCDEnabled true
Bir RAM kullanıcısının AccessKey değerini kullanıyorsanız önce AliyunAdcpFullAccess iznini RAM kullanıcısına verin. Bkz. RAM kullanıcısına izin verme .
Adım 2: Bir uygulamayı hedef kümeye dağıtın
Bir Git deposu bağlayın ve gitops-demo örneğini kullanarak bir uygulama dağıtın. Argo CD kullanıcı arayüzünü veya CLI'yı kullanabilirsiniz.
Argo CD Kullanıcı Arayüzünü Kullanarak Dağıtım Yapma
Argo CD'ye Giriş Yapın
Multi-cluster GitOps sayfasında GitOps Console öğesine tıklayın. Oturum açma sayfasında SSO aracılığıyla Alibaba Cloud hesabınızla oturum açmak için LOG IN VIA ALIYUN öğesine tıklayın.
Bir Depo Bağlayın
Sol gezinme bölmesinde Settings öğesine tıklayın, ardından Repositories > + Connect Repo seçeneğini belirleyin.
-
Aşağıdaki parametreleri yapılandırın ve CONNECT öğesine tıklayın. Başarılı olursa CONNECTION STATUS alanında Successful durumu görüntülenir.
Area Parameter Value Choose your connection method — VIA HTTP/HTTPS CONNECT REPO USING HTTP/HTTPS Type git Project default Repository URL https://github.com/AliyunContainerService/gitops-demo.gitSkip server verification Bu onay kutusunu seçin 

Bir Uygulama Oluşturun
Sol gezinme bölmesinde Applications seçeneğini belirleyin, ardından + NEW APP öğesine tıklayın.
-
Aşağıdaki parametreleri yapılandırın ve CREATE öğesine tıklayın.
Area Parameter Value GENERAL Application Name echo-server-demoProject Name default SYNC POLICY — Automatic seçeneğini belirleyin. Argo CD, depoyu her 3 dakikada bir kontrol eder ve değişiklikleri otomatik olarak dağıtır. Manual seçeneğiyle dağıtımı tetiklemek için SYNC öğesine tıklayın. SYNC OPTIONS — AUTO-CREATE NAMESPACE seçeneğini belirleyin SOURCE Repository URL https://github.com/AliyunContainerService/gitops-demo.gitseçeneğini belirleyinRevision HEAD Path manifests/helm/echo-serverDESTINATION Cluster URL Hedef kümenizi seçin Namespace echo-server-demoHELM VALUES FILES values.yaml -
Applications sayfasında
echo-server-demouygulamasının durumunun Status: Healthy ve Synced olduğunu doğrulayın. SYNC POLICY ayarını Manual olarak yaptıysanız dağıtımı tetiklemek için SYNC öğesine tıklayın.
-
Kubernetes kaynaklarının topolojisini ve durumunu görüntülemek için uygulama adına tıklayın.

Argo CD CLI Kullanarak Dağıtım Yapma
Argo CD'ye Giriş Yapın
Argo CD CLI v2.8.7 sürümünü indirin ve yükleyin.
-
Fleet örneğinden ilk yönetici parolasını alın:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d -
Port yönlendirme kullanarak giriş yapın. Varsayılan kullanıcı adı
admindeğeridir.export ARGOCD_OPTS='--port-forward-namespace argocd --port-forward' argocd login Username: admin Password:Beklenen çıktı:
'admin:login' logged in successfully Context 'port-forward' updated -
Varsayılan
adminparolasını güncelleyin:argocd account update-password *** Enter password of currently logged in user (admin): *** Enter new password for user admin: *** Confirm new password for user admin:Beklenen çıktı:
Password updated Context 'port-forward' updated
Bir Depo Bağlayın
-
Git deposunu ekleyin:
argocd repo add https://github.com/AliyunContainerService/gitops-demo.git --name echo-serverBeklenen çıktı:
Repository 'https://github.com/AliyunContainerService/gitops-demo.git' added -
Deponun eklendiğini doğrulayın:
argocd repo listBeklenen çıktı:
TYPE NAME REPO INSECURE OCI LFS CREDS STATUS MESSAGE PROJECT git https://github.com/AliyunContainerService/gitops-demo.git false false false false Successful default -
Kullanılabilir kümeleri listeleyin. Çıktı, fleet örneğiyle ilişkili tüm kümeleri gösterir.
argocd cluster listBeklenen çıktı:
SERVER NAME VERSION STATUS MESSAGE PROJECT https://47.97.XX.XX:6443 c83f3cbc90a****-temp02 1.22+ Successful https://kubernetes.default.svc in-cluster Unknown Cluster has no applications and is not being monitored.Sonraki adım için hedef kümenizin sunucu URL'sini not edin.
Bir Uygulama Oluşturun ve Eşitleyin
-
Uygulamayı oluşturun.
https://47.97.XX.XX:6443yerine hedef kümenizin sunucu URL'sini yazın.argocd app create echo-server --repo https://github.com/AliyunContainerService/gitops-demo.git --path manifests/helm --dest-namespace echo-server-cli --dest-server https://47.97.XX.XX:6443Beklenen çıktı:
application 'echo-server' created -
Uygulamayı hedef kümeye eşitleyin:
argocd app sync echo-serverBeklenen çıktı:
TIMESTAMP GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE 2022-09-22T14:32:45+08:00 Service echo-server-cli echo-server OutOfSync Missing 2022-09-22T14:32:45+08:00 apps Deployment echo-server-cli echo-server OutOfSync Missing 2022-09-22T14:32:45+08:00 Service echo-server-cli echo-server Synced Progressing 2022-09-22T14:32:45+08:00 Service echo-server-cli echo-server Synced Progressing service/echo-server created 2022-09-22T14:32:45+08:00 apps Deployment echo-server-cli echo-server OutOfSync Missing deployment.apps/echo-server created 2022-09-22T14:32:45+08:00 apps Deployment echo-server-cli echo-server Synced Progressing deployment.apps/echo-server created Name: echo-server Project: default Server: https://47.97.XX.XX:6443 Namespace: echo-server-cli URL: https://127.0.0.1:52742/applications/echo-server Repo: https://github.com/AliyunContainerService/gitops-demo.git Target: Path: manifests/helm SyncWindow: Sync Allowed Sync Policy: <none> Sync Status: Synced to (e5c2618) Health Status: Progressing Operation: Sync Sync Revision: e5c261880a4072cdbfa5173add2be426f7f3**** Phase: Succeeded Start: 2022-09-22 14:32:44 +0800 CST Finished: 2022-09-22 14:32:45 +0800 CST Duration: 1s Message: successfully synced (all tasks run) GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE Service echo-server-cli echo-server Synced Progressing service/echo-server created apps Deployment echo-server-cli echo-server Synced Progressing deployment.apps/echo-server created -
Uygulamanın çalıştığını doğrulayın:
argocd app listBeklenen çıktı:
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET echo-server https://47.97.XX.XX:6443 echo-server-cli default Synced Healthy <none> <none> https://github.com/AliyunContainerService/gitops-demo.git manifests/helmSTATUS değeri Synced ve HEALTH değeri Healthy olduğunda uygulama dağıtılır.
Diğer İşlemler
GitOps kurulumunuzu korumak için bu işlemleri kullanın.
Argo CD ConfigMap'i Yapılandırma
Multi-cluster GitOps sayfasında, GitOps daraltılmış bölümünde Argo CD ConfigMap öğesini bulun.
Argo CD ConfigMap öğesinin yanındaki Configure öğesine tıklayın.
Argo CD ConfigMap Settings sayfasında, Select Configuration Item açılır listesinden bir yapılandırma öğesi seçin ve bunu Yapılandırmaları Değiştir kod düzenleyicisinde düzenleyin. Yeniden başlatma ilkeleri için Ortak yapılandırma öğeleri konusuna bakın.
Argo CD Bileşenlerini Yeniden Başlatma
Multi-cluster GitOps sayfasında, GitOps daraltılmış bölümünde Argo CD Component öğesini bulun.
Argo CD Components öğesinin yanındaki Restart öğesine tıklayın.
Select Application to Restart açılır listesinden bileşeni seçin (örneğin, argocd-server) ve ardından OK öğesine tıklayın.
GitOps'u Devre Dışı Bırakma
GitOps'u devre dışı bırakmadan önce tüm uygulamaları silin. Bir ACK One fleet örneğini silmeden önce GitOps'u devre dışı bırakın.
Konsolu Kullanma:
ACK One konsoluna giriş yapın. Sol gezinme bölmesinde Fleet > Multi-cluster Applications seçeneğini belirleyin.
Multi-cluster GitOps sayfasında
simgesine tıklayın ve filonuzu seçin.Disable GitOps öğesine tıklayın ve ardından OK öğesine tıklayın.
Cloud Assistant CLI Kullanma:
aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --ArgoCDEnabled false
Sonraki Adımlar
Argo CD'ye genel erişimi etkinleştirme — ek erişim denetimi ayarlarını yapılandırma
Ortak yapılandırma öğeleri — ConfigMap ayarlarıyla Argo CD davranışını özelleştirme
Çok küme filoları için cloud kaynaklarının faturalandırması — GitOps kaynak maliyetlerini gözden geçirme