DevOps öğrenmeye yeni başlayanlar için hazırladığımız bu serinin ilk bölümünde, tamamen sıfırdan başlayarak bir Todo API uygulamasını nasıl oluşturacağınızı, Docker ile konteynerize edeceğinizi ve yerel bir Kubernetes cluster'ında çalıştıracağınızı adım adım öğreneceksiniz. Bu seri boyunca aynı 'todo-ops' uygulamasını kullanarak Helm, ArgoCD gibi araçlarla ilerleyeceğiz. İlk bölümde henüz bir veritabanı olmadan, bellek içi bir dizi ile çalışan basit bir HTTP servisi inşa edeceğiz.
Öncelikle işletim sisteminize uygun araçları kurmanız gerekiyor. macOS kullanıcıları Homebrew ile Docker Desktop veya OrbStack'i, Linux kullanıcıları ise apt ile Docker ve Kind'i kurabilir. Kurulum sonrası her aracın çalıştığını versiyon komutlarıyla doğrulayın. Ardından bir proje klasörü oluşturup Git ile versiyon kontrolünü başlatın: 'mkdir todo-ops && cd todo-ops && git init'. Bu klasör seri boyunca tüm çalışmalarımızın temeli olacak.
Uygulamamız, Node.js ile yazılmış basit bir Todo API. package.json dosyasına Express bağımlılığını ekleyip, server.js dosyasında GET /todos, POST /todos ve GET /healthz olmak üzere üç endpoint tanımlıyoruz. GET /todos tüm todo listesini JSON olarak dönerken, POST /todos yeni bir todo ekler. GET /healthz ise Kubernetes sağlık kontrolü için kullanılacak ve her zaman 200 OK dönecek. Uygulama 3000 portunda dinleyecek ve 0.0.0.0 adresine bağlanacak (konteyner içinde önemli).
Bu aşamada uygulamamız çalışmaya hazır. Bir sonraki adımda bu uygulamayı Docker imajına dönüştürecek ve Kubernetes üzerinde çalıştıracağız. Bu serinin devamında veritabanı ekleme, konfigürasyon yönetimi, Ingress, Helm ve ArgoCD ile GitOps süreçlerini de işleyeceğiz. Şimdilik adımları takip ederek temeli sağlam atın. Tüm kodlara GitHub reposundan ulaşabilirsiniz.