Page 46 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 46

46 | CI/CD Süreç Yönetimi







           3.2. Kubernetes


           Kubernetes;  temelde  uygulamaların  dağıtımını,  ölçeklenmesini  ve  yönetimini  otomatikleştirmek
           için  yazılmış  açık  kaynaklı  bir  konteyner  orkestrasyon  aracıdır.  Uygulamaların  günden  güne
           konteynerleştirilmesi  ile  Kubernetesin  dokunduğu  alan  giderek  artmıştır  ve  öyle  ki  sunucular
           üzerinde toptan bir veri merkezi işlevselliğine kadar gidebilmektedir.

           Kubernetes  birçok  nesneden  oluşur.  Bu  nesneler  tanım  olarak  YAML  formatındadır  ve  GitOps
           pratiklerine göre GIT deposunda yaml dosyaları olarak saklanır. Bu dosyalar GitOps sürecinin sonunda

           test veya canlı Kubernetes ortamlarına kurulur. Kubernetesin bu kadar kabiliyetli olmasının nedenleri,
           kendi içerisinde sanal ağ yapılandırması ve ağ politikalarıyla konteynerlerde çalışan uygulamalara
           dışarıdan  bir  hizmete  bağımlı  kalmada  ağ  ve  güvenlik  hizmeti  verebilir  durumda  olmasıdır.  Ek
           olarak  kurulabilir  veya  dışarıdan  entegre  edilebilir  depolama  sistemi  yönetimi  yetenekleriyle,
           uygulamaların kalıcı disk ihtiyaçlarını da çözebilir duruma gelmiştir. Bilişim ekosistemi Kubernetes
           kullanımını artırdıkça daha fazla kullanım durumu ortaya çıkmaktadır.





           3.3. ArgoCD


           ArgoCD,  Kubernetes  için  açık  kaynaklı  bir  GitOps  sürekli  teslim  aracıdır.  ArgoCD  git  deposunda
           saklanan kubernetes yaml yapılandırma dosyalarını Kubernetes ortamlarına otomatik olarak dağıtır.
           Git  üzerinden  sürüm  kontrolünün  denetlenebilir  olmasını  sağlar.  Hem  Git’ten  gelen  kaynağın
           hem  de  hizmete  alınan  uygulamanın  durumunu  izleyerek  bir  Kubernetes  denetleyicisi  görevi
           görür. Ikisi arasındaki farkları arar ve dağıtılan yazılım uygulamasını manuel veya otomatik olarak

           güncelleme imkanı sağlar. Bunun yanı sıra, web arayüzü üzerinden farklılıkların mevcut durumunun
           görselleştirilmiş bir raporunu da sunar. ArgoCD ayrıca Keycloak kimlik yönetimi aracını da destekler
           ve rol tabanlı erişim kontrolüne sahiptir. Geliştirici ekiplerine, kendi projelerine erişim ve kurulum
           için yetkilendirme sağlar. Ayrıca Helm desteği de bulunmaktadır.

           ArgoCD, bir Git sunucu ve Jenkins ile birlikte Kubernetes üzerinde koşan iş yükleri için tüm yaşam
           döngüsünü yönetebilir.


           Uzmanlar,  gelecekteki  standart  yazılım  geliştirme  süreçlerinin,  yazılım  geliştirmeden  başlayarak,
           CI/CD süreçlerini ve gözlemlenebilirliği içeren GitOps sürecini içermesi gerektiğini önermektedir.
           Özellikle süreklilik isteyen firmalar için tüm yazılım yaşam döngüsünü kapsayabilecek çözümlerin
           olması çok önemlidir.
   41   42   43   44   45   46   47   48   49   50   51