Dockerfile: Creating Images with Best Practices

Cloud Native applications are delivered as containers. Containers, and more specifically, container images encapsulate the application and all its dependencies in a portable format. Containerizing an application involves creating a Dockerfile, building the image and pushing it to an image registry. Create a Dockerfile To containerize an application, create a Dockerfile alongside the application’s source code. The Dockerfile has instructions describing how […]

CKA Sınavını Nasıl Geçtim – Sınav Rehberi (Certified Kubernetes Administrator)

Merhaba değerli okurlarım, CKA (Certified Kubernetes Administrator) sınavını geçtikten sonra birçok platformda sınavı nasıl geçtim, nelere çalışmalıyım gibi birçok sorular aldım. Bu yazıyı yazmamdaki amaç sizlerinde CKA sınavına nasıl bir şekilde çalışmanız ve Kubernetes yönetiminin nasıl yapıldığını öğrenmenizi amaçlamaktadır. Eğer CKA sınavına girmeye hazırlanıyorsanız çevrenizden veya araştırmalarınızdan duyacağınız şeylerden birtanesi CKA’nın zor bir sınav olduğudur. Çünkü temel olarak sınavda bilginizi […]

Kubernetes LAB 09 20/20

Merhaba arkadaşlar bu laboratuvar yazımızda Kubernetes Scheduling (Zamanlama) işlemleri hakkında uygulamalı örnekler yapacağız. Eğer teori kısmında eksiklikleriniz olduğunu düşünüyorsanız bu linkte bulunan Kubernetes Scheduling yazımı okumanızı tavsiye ederim. Sistemin pod’ları sizin adııza dağıtmasına izin vermek genellikle iyi bir yol olsada, bir pod’un hangi node’da kullanılacağını belirlemek isteyebilirsiniz. Örneğin; bazı pod’lar için özel donanım gereksinimi olabilir. VIP pod’ları yeni, daha hızlı […]

Kubernetes Scheduling (Zamanlama) 19/20

Merhaba arkadaşlar, yavaş yavaş Kubernetes Eğitim Serimizi sonlandırıyoruz. Umarım bu süre içerisinde size faydalı olabilmişimdir. Sizlere birşeyler katabilmek, sorularınıza cevap verebilmek benim için çok önemli, eğer kafanıza takılan bir sorun veya bir konu var ise ilgili konuya yorum atabilirsiniz. Bu bölümde arkadaşlar scheduling (zamanlama) konusunu öğreneceğiz. Bu bölümle birlikte; kube-scheduler zamanlayıcısının nasıl programlandığını öğrenecek, pod zamanlayıcısını kullanmak için label’ları kullanabilecek, […]

Kubernetes LAB08 18/20

Merhaba arkadaşlar bugünkü laboratuvar yazımızda Ingress Controller’larla ilgili örnekler yapacağız. Bir nevi uygulamalarımızı gelişmiş service olarak dağıtacağız diyebiliriz. Cluster dışına çıkacak yada host node içerisinde düşük sayıdaki port’ları gösterecek çok sayıda service’iniz varsa ingress controller veya service ağı oluşturabilirsiniz. Kubernetes’in nginx’i resmen desteklediği olsada burada kurulumu daha kolay olan Traefik ingress controller’ları kullanacağız. Öncelikle bir deployment oluşturalım. Deployment içerisindeki label’ları […]

Kubernetes Ingress 17/20

Merhaba değerli arkadaşlar, Kubernetes eğitim serimizin bu yazısında Ingress konusunu yazacağım. Bu bölümün sonunda; Ingress Controller ile Service arasıdaki farkı görebilecek, Ingress Controller dağıtımı yapabilecek ve Ingress Rule yapılandırması yapabileceksiniz. Peki o halde şimdi şunu öğrenelim, nedir bu Ingress denilen olay? Daha önceki yazılarımda bir uygulamayı cluster dışında göstermek için servisler kullanmıştık. Aynı işlevi yapmak için Ingress Controller ve Kurallarını(Rules) […]

Kubernetes LAB07 16/20

Merhaba arkadaşlar, bu yazımda Kubernetes Volumes konusunun örneklerini yapacağız. Container dosyaları geçici dosyalardır. Bir container’ın yıkılması veya yeniden başlatılması durumunda kaybolacaktırlar. Ek olarak bir pod içerisindeki container’lar arasında dosyaları paylaştırmak için birtakım yöntemlere ihtiyacımız olacaktır. Volume, bir pod’daki container’lar tarafından erişilebilen bir dizindir. Mevcut Docker volume’lerinin aksine, bir Kubernetes volume’ü pod’ların yaşam döngüsüne sahiptir, container’ların değil. Aynı pod içerisinde farklı […]

Kubernetes Volume 15/20

Merhaba sevgili okurlarım bu yazımda sizlere Kubernetes’de Volume ve bu volume’ler içerisinde veriler nasıl tutulur, oluşturulur bunları anlatacağım. Bu yazının sonunda; Persistent (kalıcı) Volume’lerin ne olduğunu anlayıp, oluşturabilecek, Persistent volume claimleri yapılandırabilecek, Volume erişim modlarını yönetebilecek, Kalıcı bir depolamaya sahip olan uygulamalar geliştirebilecek, Dinamik depolama ile ilgili işlemler yapmayı öğrenecek ve Secrets ile ConfigMaps’i yapılandırabileceksiniz. Pod spec içerisinde bir veya […]

Kubernetes LAB06 14/20

Merhaba arkadaşlar bu laboratuvarımızda Kubernetes Service Yönetimini konusu hakkında örnekler yapacağız. Servisler, (mikroservis olarakta bilinir.) mantıksal bir pod cluster’ına erişme politikasını ilan eden nesnelerdir. Yerel uygulamalar erişim için endpoint API’ını kullanabilir. Yerel olmayan uygulamalar arka uç pod’lara erişmek için sanal IP tabanlı bridge kullanabilir. Servis tipleri şunlardır: ClusterIP (varsayılan) cluster’ın internal IP’sini gösterir. Sadece cluster içinde erişilebilir. NodePort noed IP’sini […]

Kubernetes Service Yönetimi 13/20

Merhabalar, Kubernetes Eğitim Serimizin 13. yazısına gelmiş bulunmaktayız. Bu yazımızda size Kubernetes içerisinde servisleri anlatacağım. Bu yazıyla beraber Kubernetes servislerinin ne olduğunu bir uygulama ile beraber görebileceksiniz. Mevcut servis türlerini tartışacağız. Yerel bir proxy başlatıp ardından cluster DNS kullanmayı öğreneceğiz. Daha önce değindiğim gibi Kubernetes Mimarisi birbirine bağlı geçici ayrık nesneler kavramı üzerine inşa edilmiştir. Servisler herhangi belirli pod’un sonlanabileceği […]