Kubernetes Bölüm 12: Helm

Uygulamaları Kubernetes’e dağıtmak karmaşık olabilir. Tek bir uygulama kurmak, her biri ayrıntılı bir YAML manifest dosyası yazmanızı gerektiren, Pod, Service, Deployment ve ReplicaSet’ler gibi birden çok birbirine bağlı Kubernetes kaynağı oluşturmayı içerebilir. Helm, developer’ların ve operatörlerin uygulamaları ve hizmetleri Kubernetes cluster’ında daha kolay paketlemesine, yapılandırmasına ve dağıtmasına olanak tanıyan bir Kubernetes paket yöneticisidir. Helm paketleri, […]

Kubernetes Bölüm 11: YAML Konfigürasyon Dosyaları

Kubernetes üzerinde bir deployment yapmak istediğimizde .yaml uzantılı konfigürasyon dosyaları oluşturarak bu işlemleri gerçekleştirebililiriz. Bir konfigürasyon dosyası muhakkak 3 bölümden oluşur. Metadata YAML dosyasında spec olarak geçen kısımdır. Status. Bu kısım bizim yazdığımız bir kısım değil aslında, Kubernetes tarafından oluşturulur ve eklenir. Desired State kavramından daha önce bahsetmiştik. Actual State ise aslında olduğu durumdur. Her […]

Kubernetes Bölüm 10: Kubernetes Kurulumu

Kubernetes Cluster Kurulumu Kurulum Ubuntu üzerine yapılacak, bu sebeple komutlar Ubuntu – Debian ailesi uygun olacak, CentOS – Redhat ailesinde kullanırken bunu göz önüne almak gerekiyor. Sunucuların Hazırlanması Bu kısımda anlatılanlar tüm node’lar üzerinde yapılacak işlemleri kapsamaktadır. İlk önce swap’ın kapatılması gerekiyor. Kubernetes geliştirilirken Swap olmayacak şekilde, swap açık olmayacak şekilde geliştirildi. Eğer swap kapatılmazsa […]

Kubernetes Bölüm 9: Kubectl

Kubernetes’in CLI aracıdır. Cluster’ı yönetmek için kullanırız. Cluster üzerinde deployment yapmak, uygulamaları incelemek ve loglara erişmek gibi eylemleri gerçekleştirebilmek için kullanırız.  ~/.kube/config dosyasındaki bilgilere göre çalışır. Kubectl Komut Yapısı Tüm çalıştırılacak komutlar kubectl ile başlamak zorundadır. Temel kullanım şekli: kubectl [çalıştırılacak komut] [type] [name] [flag] Çalıştırılacak komutlara örnek verecek olursak: get, create, apply, delete, describe […]

Kubernetes Bölüm 8: Replication

Kubernetes’in de varoluş amacıdır replication. Temelde replication, sistemde çalışan uygulamaların, mikro servislerin, container’ların çoklanmasıdır. Replication gerçekleştikten sonra Kubernetes Desired State’i (İstenilen Durum) kontrol eder. Replication’a ihtiyaç duyulan durumlar: Scailing (Ölçekleme) Reliability (Sistemin kusursuz çalışması) Load Balancing (Yük dengeleme) Replication Metotları Replication Controller Kuberbetes’te replication’ın en temel halini uygulayan metottur. Pod’ların replication yönetimi, bir controller üzerinden […]

Kubernetes Bölüm 7: Loglama

Her sistemde olduğu gibi Kubernetes’te logları takip etmek oldukça önemlidir. Monitör etme, debug etme gibi çok temel işlevlerine yerine getirebiliyor olmak hayat kurtarıcıdır. Kubernetes’te log üretilen yapılar şöyledir: Pod Container Kubernetes bileşenleri Daemon Set Kubernetes servisleri Oluşan loglara Kubernetes API ile erişilebiliyor. Loglama Yapıları Loglama yapıları ikiye ayrılır: Node Level ve Cluster Level. Node Level […]

1

Kubernetes Bölüm 6: Pod Yaşam Döngüsü ve Probe’lar

Pod Statüleri Pending: Kubernetes tarafından Pod kabul edildi, container image’lerinin inmesi bekleniyor. Running: Pod, bir Node ile ilişkilendirildi ve tüm container’lar oluşturuldu. Succeeded: Pod’daki tüm container’lar sonlandırıldı, yeniden başlatılmayacaklar. Failed: Tüm container’lar sonlandırıldı, sonlandırılırken en az 1 tanesi hata verdi. Unknown: Pod state alınamıyor. Pod’un üzerinde çalıştığı Node’dan bilgi alınamıyor.   Probe’lar Periyodik olarak cluster’da […]

Kubernetes Bölüm 5: Imperative ve Declarative Yöntemler

Imperative yöntem, özel komutlar vasıtasıyla işi yürütmektir. Declarative yöntem ise bir veya birden fazla script ile yapılacak işin tanımlanarak yapılması işlevidir. Imperative Pod Yaratma

Örneğimizde bir Nginx Pod’u oluşturduk. Bunun run özel komutu ile yaptık. İşte bu tür şekilde, default olarak kullandığımız yapılara imperative yöntem diyoruz. Declarative Yöntemle pod Yaratma Genelde YAML dosyaları kullanılarak […]

Kubernetes Bölüm 4: Trafik Yönetimi

Kubernetes’de Pos üzerinde trafik yönetiminin amaçladıkları: Pod’ları tüm cluster içerisinden erişilebilir hale getirmek (expose) Service üzerinden Pod’ları erişilebilir hale getirmek Kubernetes’te out of the box olarak gelen ve adı Kube-DNS olan bir DNS özelliği bulunur. Yaptığı iş Service’lere otomatik dns atanmasıdır. Nodeport Dış dünyadan gelen istekleri kabul etmek için oluşturabileceğimiz nesne tipidir. Tüm Node’lar, default […]

1

Kubernetes Bölüm 3: Deployment, Stateful Sets, Daemon Sets, Service, Label, Annotation, Secret

Deployment Rest objeleleridir. Workload’ları yaratmak ve yönetmek için yaygın bir şekilde kullanılırlar. Dockerfile’a benzer bir yapısı vardır. Deployment, Replica Set ile derlenirken Replication Controller’ın birçok fonksiyonunu kopyalıyor gibi gözükse de rolling update noktasında birçok problemin çözülmesini sağlamaktadır. Replication Controller kullanarak update işlemi yapılmak istendiğinde öncelikle yeni Replication Controller için plan sunulmak zorundadır, ayrıca geçmişi izleme, […]

1

Kubernetes Bölüm 2: Mimari

Kubernetes cluster’ında iki tür node vardır: Kubernetes Master ve Kubernetes Node. Kubernetes Node Kubernetes Node worker, yani container’lar ile ilgili işler bunların üzerinde gerçekleştirilir. Cluster’ın iş yükü Node’lar üzerinde gerçekleşir. Kubernetes Node üzerindeki bileşenler: Kubelet Kube-Proxy Container Runtime Container Runtime Container Yönetiminden sorumludur. Container’ların durdurulması, başlatılması, container image’llerinin indirilmesi gibi tüm container işlemleri bu bileşenin […]

1

Kubernetes Bölüm 1: Kubernetes Nedir?

Container yığınlarının dağıtılması, ölçeklendirilmesi ve yönetimini otomatikleştirmek için oluşturulmuş open source container orkestrasyon aracıdır. Google tarafından, Go programlama dili kullanılarak yazılmıştır. İsmi Yunanca kökenlidir, Dümenci anlamına gelir, bu sebeple de logosunda gemi dümeni vardır. Bazı kaynaklarda k8s (k + 8[harf sayısı: ubernete] + s) veya kube olarak bahsedildiğini görebiliriz. Kubernetes proje olarak başladığında adı Procejt […]

Patreon

üzerinden bize destek olabilirsiniz!

.

Birlikten kuvvet doğar! Sizde #patreon üzerinden bizim yanımızda olabilirsiniz. Yaptığımız gönüllü çalışmaları arttırmak için bize destek olun.

Ücretli ve Ücretsiz Eğitimler

Türkiye'nin en büyük veri bilimi topluluğu ile kariyerinizi inşa edin.

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.