Kubernetes ile ilgili bi sorum olacakti. Henüz kubernetes’i yeni ögreniyorum.
Diyelim ki sadece backend icin bi NodeJS uygulamam var ve bu NodeJs uygulamama bagli bi Postgres-DB. Bu NodeJs uygulamam Rest (yada Graphql, fark etmez) isteklerini aliyor, isteklere bagli olarak databaseimden verileri cevap olarak atiyor, response ediyor felan. Yani NodeJs’te frontend uygulamasi yok, sirf arka planda olacak olan islerle ugrasiyor bu nodejs express uygulamam ve db ile iletisimde kaliyor. Bu Db containerini ve NodeJs backend uygulamamim oldugu containeri bir podun icine mi koymam dogru yada Db ve NodeJs backend uygulamamin oldugu containerlar ayri ayri podlarin icinde mi olmasi gerekiyor? docker’da compose dosyasinda nodejs uygulamamin oldugu yerde depends_on postgres_db diyodum ve öyle kaldiriyodum ayaga ama kubernetesteki (production icin) dogru yaklasim nedir?
Merhaba, bu sorunun cevabı aslında şu soruya vereceğiniz cevapla alakalı. Bu iki uygulama birbirlerinden ayrı scaling ihtiyacına sahip mi? Yani siz gerektiği zaman iki tane nodejs container çalıştıracaksınız. Bu durumda iki tane de db olsun mu? Yüzde 99 cevap hayırdır. O nedenle ayrıpodlar olarak deploy etmeniz gerekir. Bunlar birbirlerinden tamamen bağımsız iki uygulama. Life cyclelari ayni değil dolayısıyla ayrı birer obje olarak ele alınmalı
epeyce gec bi yanit olacak ama kusuruma bakmayin lütfen.
Mesela eger ben bir nodejs backend-uygulamasi yazarsam (express, graphql, postgres) bu postgres dbler hep ayri ayri sanal makinalarda olmasi gerekir degil mi? Yani nodejsin oldugu sanal makina dbye ulasmasi icin hep dbnin oldugu sanal makinaya ulasmasi gerekir… Yoksa nodejs uygulamami scale edemem (yanilmiyosam)… Ama diyelim ki ben postgres db deki performansi yükseltmek istiyorum (örnegin sorgulama, yazma verileri cok oldugu icin) ve dbnin calistigi/oldugu sanal makinayi ikiye scale etmek istiyorum… Peki bu o zaman nasil olacak? Mümkün mü bu? Sonucta db verilerinin mount edildigi dosya tek bir sanal makinada? Yada scale edersem bu mount edilen dosyayi (volume) dbnin oldugu iki sanal makinada da sync halinde mi tutuyor? Umarim ne demek istedigimi anlamissinizdir… Bu sorularin yanitlari bi türlü netlesmedi kafamda ve bana rahat vermedi acikcasi
Eger bu verileri ben aws, azure gibi seyler üzerinden yaparsam daha tuzlu olur diye düsünüyorum ve onun icin soruyorum…
Simdiden yardiminiz, fikirleriniz icin tesekkürler… Udemy’deki kurslar icinde emeginize saglik…