Skip to content

k0d1r/k3s-helm-pipeline-ci-cd-deployment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

K3s Helm Pipeline CI/CD Deployment

Bu proje, K3s üzerinde Helm chart kullanarak Python uygulaması ve PostgreSQL veritabanı dağıtımını otomatikleştiren bir CI/CD altyapısı sunar.

Klasör Yapısı ve Açıklamalar

  • backend/: Python uygulaması dosyaları

    • app.py: Ana uygulama kodu
    • Dockerfile: Uygulamanın konteyner imajı için yapılandırma
    • requirements.txt: Python bağımlılıkları
  • deployment/: Ana Helm chart ve şablonlar

    • Chart.yaml, values.yaml: Helm chart tanımı ve yapılandırma değerleri
    • templates/: Kubernetes manifest şablonları (deployment, service, hpa, ingress vb.)
    • charts/: Bağımlı chart paketleri
  • infrastructure/: Ek Helm chartlar

    • gitlab-runner/: CI/CD işlemleri için GitLab Runner chartı ve şablonları
    • postgres/: PostgreSQL veritabanı için Helm chart ve şablonlar
  • kubeconfig/: Kubernetes erişim dosyası (admin.conf)

  • Ana dizin dosyaları:

    • .gitlab-ci.yml: CI/CD pipeline tanımı
    • .gitignore: Git için hariç tutulacak dosyalar
    • README.md: Proje açıklaması

Kullanılan Teknolojiler

  • K3s (hafif Kubernetes)
  • Helm (Kubernetes paket yöneticisi)
  • GitLab Runner (CI/CD)
  • Python
  • Docker
  • PostgreSQL

Kurulum ve Kullanım

  1. K3s ortamını kurun.
  2. Helm ile bağımlılıkları yükleyin:
    helm dependency update deployment/
  3. Değer dosyasını (values.yaml) ihtiyaca göre düzenleyin.
  4. PostgreSQL'i dağıtmak için:
    helm install postgres infrastructure/postgres/ -n python-app --create-namespace
  5. Uygulamayı dağıtmak için:
    helm install python-app deployment/ -n python-app \
       --set image.tag=latest \
       --set image.repository=your-registry/python-app

CI/CD

CI/CD süreçleri .gitlab-ci.yml ile tanımlanır. Otomatik test, imaj oluşturma ve dağıtım adımlarını içerir. GitLab Runner chartı ile pipeline işlemleri Kubernetes üzerinde çalıştırılır.

Katkı

Katkı sağlamak için projeyi fork’layıp PR gönderebilirsiniz.

About

K3s Kubernetes deployment with GitLab CI/CD pipeline using Helm charts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors