Sunucu altyapısı yönetimi giderek karmaşıklaşıyor. Geleneksel yöntemlerle bir VDS üzerinde birden fazla uygulamayı, konfigürasyonu ve güncellemeyi takip etmek zorlaşıyor. İşte bu noktada GitOps devreye giriyor. Peki GitOps nedir ve neden ArgoCD ile VDS yönetiminde bu kadar önemli?
GitOps Felsefesi
GitOps, adından da anlaşılacağı gibi Git tabanlı bir operasyon modelidir. Temel prensip: “Git’te ne varsa, üretimde de o olmalı.” Yani altyapınızın ve uygulamalarınızın istenen durumu (desired state) Git reposunda saklanır. Bir değişiklik yapmak istediğinizde, önce Git’e push edersiniz, ardından otomatik bir mekanizma bu değişikliği alıp sunucularınıza uygular.
Bu yaklaşım sayesinde:
- Versiyon kontrolü her şeyi kapsar; altyapı kodunuz (Infrastructure as Code), uygulama manifestoları, hatta konfigürasyon dosyaları bile Git’te izlenir.
- Denetim ve izlenebilirlik artar: Kim, ne zaman, neyi değiştirdi net şekilde görülür.
- Geri alma (rollback) çok kolaydır: Eski bir commit’e dönmeniz yeterlidir.
VDS Ortamında Neden GitOps?
Bir VDS (Virtual Dedicated Server) üzerinde genellikle tek bir uygulama değil, birbiriyle etkileşimli servisler çalışır. Örneğin bir e-ticaret sitesi; web sunucusu, veritabanı, cache katmanı ve arka plan işlemleri. Bu kadar bileşeni elle yönetmek hata riskini artırır. GitOps ise bu süreci otomatize eder.
VDS sağlayıcımız HostingServer.com.tr üzerinde bir Kubernetes kümesi kurduğumuzu düşünelim. Kubernetes’in kendisi deklaratif yapısıyla GitOps’a çok uygundur. ArgoCD ise bu ikili arasında köprü görevi görür.
ArgoCD ile Gerçek Zamanlı Senkronizasyon
ArgoCD, Git reposundaki Kubernetes manifestolarını sürekli takip eder ve küme üzerindeki gerçek durumu Git’teki istenen durumla karşılaştırır. Bir fark görürse otomatik olarak düzeltir. Örneğin, bir deployment’ın replica sayısını 3’ten 5’e çıkarmak için Git’teki YAML dosyasını günceller, push edersiniz. ArgoCD birkaç saniye içinde değişikliği algılar ve kümede uygular.
“ArgoCD sayesinde VDS üzerindeki Kubernetes kümemiz sürekli olarak Git repo’muzla senkronize kalır. Elle müdahale neredeyse sıfırlanır.”
Avantajlar ve Somut Örnekler
GitOps + ArgoCD kombinasyonu VDS yönetiminde şu avantajları sunar:
- Otomasyon: Yeni bir mikroservis eklemek için Git’e yeni bir klasör ekleyip pull request açmanız yeterli. ArgoCD otomatik olarak cluster’a deploy eder.
- Güvenlik: SSH anahtarları, API token’ları gibi hassas bilgiler Git’e düz metin olarak yazılmaz; sealed secrets veya external secret store kullanılır.
- Hızlı kurtarma: Bir felaket senaryosunda, tüm Kubernetes manifestolarınız Git’te duruyor. Yeni bir VDS’ye sadece ArgoCD kurup repo’yu bağlarsanız, dakikalar içinde aynı altyapı ayağa kalkar.
Örnek: Bir web uygulamamızın 3 adet pod ile çalıştığını varsayalım. Trafik artışı nedeniyle 6 pod’a çıkmak istiyoruz. Geleneksel yöntemle SSH ile bağlanıp kubectl scale deployment yapardık. Ancak GitOps ile, deployment YAML dosyasındaki replicas: 3 satırını replicas: 6 olarak değiştirip push ediyoruz. ArgoCD değişikliği yakalayıp uyguluyor. Üstelik bu işlem CI/CD pipeline’ımızın bir parçası haline gelebiliyor.
ArgoCD Kurulumu ve VDS’de İlk Adımlar
HostingServer.com.tr üzerinden bir VDS kiraladığınızda, üzerine önce Kubernetes (örneğin k3s veya microk8s) kurmanız gerekir. Ardından ArgoCD’yi aşağıdaki gibi basitçe deploy edebilirsiniz:
- kubectl create namespace argocd
- kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
- ArgoCD API sunucusuna erişmek için port-forward veya LoadBalancer ayarlayın.
- Web arayüzüne giriş yapın, Git reposunu bağlayın ve uygulamalarınızı tanımlayın.
Bu adımların ardından, VDS’nizdeki Kubernetes kümesi Git ile tam entegre olacak. Artık değişikliklerinizi Git’e push etmek yeterli.
Sonuç
GitOps, özellikle bulut ve edge ortamlarında sunucu yönetimini standartlaştırır ve hata payını azaltır. VDS gibi sınırlı kaynaklara sahip ortamlarda bile ArgoCD ile profesyonel bir altyapı yönetimi deneyimi elde edebilirsiniz. HostingServer.com.tr olarak, müşterilerimize bu tür modern yaklaşımları destekleyen esnek VDS çözümleri sunuyoruz. Siz de altyapınızı GitOps ile yöneterek hem zamandan kazanın hem de güvenliği artırın.