Pipeline nedir? Hattı kur
What is a pipeline
Bu derste neler öğreneceksin
- Pipeline kavramını tanımlar
- Kestra yı Docker Compose ile çalıştırır
- İlk YAML flow yazar
Limonatacının Fabrikası
Şimdiye kadar bir deftere yazıyordun siparişleri. Ama gerçek bir limonata dükkânı düşün: bir sürü bardak, bir sürü müşteri, bir sürü ödeme. Bunları sıraya koymak lazım. Bardak yıkanır → limonata sıkılır → bardağa konur → müşteriye verilir. Her adım bir istasyon.
İşte bu istasyonlar dizisine pipeline (yani üretim hattı) diyoruz. Veri dünyasında da aynı şey: veri bir yerden gelir → temizlenir → bir yere yazılır → rapor çıkar.
Kestra: Pipeline’ın Şefi
Kestra, bu istasyonları yöneten bir orkestra şefi gibi düşün. Şef der ki: “Önce bardak yıkansın, sonra limonata sıkılsın, sonra müşteriye verilsin.” Bir adım bitmeden öbürü başlamaz.
Kestra’yı bilgisayarımızda Docker Compose ile çalıştıracağız. Docker Compose, birden fazla kutuyu (konteyneri) aynı anda ayağa kaldırmak demek.
# docker-compose.yml
services:
postgres:
image: postgres:18-alpine
environment:
POSTGRES_PASSWORD: lemonade
ports:
- "5432:5432"
kestra:
image: kestra/kestra:latest
ports:
- "8080:8080"
environment:
KESTRA_DB_URL: jdbc:postgresql://postgres:5432/kestra
Terminalde docker compose up -d yaz. Birkaç saniye sonra tarayıcıda http://localhost:8080 açılır. Kestra paneline hoş geldin!
İlk Flow: “Günlük Satış”
Kestra’da her iş bir flow’dur. YAML dosyasıyla yazılır:
id: daily_sales
namespace: lemonade
tasks:
- id: say_hello
type: io.kestra.core.tasks.log.Log
message: "Günaydın! Bugün {{ trigger.date }} işliyoruz."
Bu akışı Kestra paneline yapıştır ve Execute bas. Log ekranında mesajını görürsün.
Neden Bu Kadar Önemli?
İlerleyen derslerde göreceğiz: Kestra, tüm veri yolculuğumuzu otomatikleştirecek. Her sabah 09:00’da dünkü siparişleri çekecek, BigQuery’ye yazacak, dashboard’u güncelleyecek. Sen uyurken, fabrika çalışıyor.
Bugün Yaptık
- Pipeline kavramını öğrendik (üretim hattı metaforu)
- Docker Compose ile Kestra + Postgres 18 ayağa kaldırdık
- İlk YAML flow yazdık ve çalıştırdık
Ellerini Kirlet
docker compose up -dçalıştır, panele git.- Yukarıdaki
daily_salesflow’unu yapıştır, çalıştır. - Mesajı Türkçeleştir: “Merhaba! Bugünün tarihi …” gibi.