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 […]

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 […]

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, […]

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 […]

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 […]

Docker Bölüm 1: Mimari

Genelde yazılarıma mimari ile başlamam biliyorsunuz; fakat Docker’ı uzun uzun anlatmayacağım, çünkü oldukça fazla yapıldı. Herhangi bir yerden Docker’ın ne olduğunu ve ne işe yaradığını rahatlıkla öğrenebiliyoruz artık. Bu yüzden benim gibi detaycı bir karakter iseniz kolay ulaşamayacağınız bilgileri sizin için vermek bana daha cazip geldiğinden bir istisna olarak Docker mimarisinden başlıyorum. Docker Mimarisi Docker […]

Docker Bölüm 2: Komutlar

Docker Kontrol Version Docker Client ve Deamon hakkında bilgi almak için kullanılan komuttur. İşletim sisteminde:

çalıştırdığınızda size Docker hakkındaki bilgiyi verecektir. Info Docker hakkında detaylı bilgi almak için kullanılır.

Debug Yukarıdaki çıktıca Client için debug mode’un kapalı olduğunu gördük, açalım:

Help Bir komut hakkında detaylı bilgi almak için komuttan hemen sonra –help […]

Docker Bölüm 3: Docker Image

Birden çok katmandan oluşan ve Docker container’da için oluşturulmuş dosyalardır. Amaca yönelik, container’lar için tasarlanmış, önceden oluşturulmuş kalıplardır.   Docker Image Özellikleri Container oluşturmak için salt okunur şablonlardır. Bir manifest ve farklı obje dosyalarından oluşur. Manifest dosyasında indirilecek tüm dosyaların bilgileri saklanır. Container silinmeden image silinemez. Bir image silinmek istenirse, öncelikle bu image ile bağımlı […]

Docker Bölüm 4: Dockerfile

Bir image oluşturmak için var olan tüm katmanların madde madde açıklandığı ve tüm işlemlerin detaylıca belirtildiği text dosyalarıdır. Dockerfile, YAML adı verilen, insanlar tarafından kolayca okunup anlaşılabilir bir dil ile kodlanmaktadır. Satırlardan meydana gelir ve her bir satır bir işlemi gösterir. Dockerfile Dosya Yapısı Dockerfile için kullanılabilecek komutlar: https://docs.docker.com/engine/reference/builder/ FROM Hangi image dosyasının referans alınacağını […]

Docker Bölüm 5: Network

Docker sistemimize ilk kez kurulduğu zaman docker0 adında varsayılan olarak bridge network tanımlaması yapılmakta ve gerekli konfigürasyon oluşturulmaktadır. Biz bir değişiklik yapmadığımız sürece docker0 default olarak kullanılır, container’lar da bu switch sayesinde hem birbirleri ile hem de dış dünya ile iletişim sağlayabiliyorlar. Container’ların birbirleriye veya dış dünyayla iletişim kurabilmesi için 2 farklı standart geliştirilmiştir. CNM […]

Docker Bölüm 6: Volume

Container’lar, çalışma mantığı olarak ayağa kaldırıldıktan sonra işlerini yapar ve sonra kapanırlar. Container’lar tamamen izole oldukları için, içlerinde yapılan herhangi bir şey kalıcı olarak saklanmazlar ve silinince de içlerindeki bilgiler de tamamen silinirler. Kritik öneme sahip verilerin saklanacağı container’ların ise bu şekilde kaybedilmemesi gerekir. Örneğin bir üzerinde database bulunan bir container’ımızdaki bilgilerin kaybı bizim için […]

Docker Bölüm 7: Docker Compose

Çok container’lı karmaşık servislerin tanımlanmasını ve çalıştırılmasını sağlayan araçtır. Docker Compose ile çoklu container, gerekli servisler, volume, network vb. kontolünü yapabilir ve yönetebiliriz. Temelde Docker Compose, kullanacağımız her servis için Dockerfile dosyasını kullanır, sonrasında volume ve network gibi ayarları da Docker Compose üzerinde yaparız. Yazım dili YAML’dır. Dosya uzantısı yaml veya yml şeklindedir. Docker Compose […]

Docker Bölüm 8: Docker Swarm

Container mimarisinde çalışan servisleri yönetmek, ölçeklendirmek ve servislerin kesinti olmadan devamlılığını sağlamak için kullanılan cluster yönetim ve orkstrasyon aracıdır. Docker Host üzerinde çalışan container’ler, Host’un fail olmasından sonra ayakta kalamaz ve servisler kesintiye uğrar. Hem high availibility hem ölçeklendirme hem de yedeklilik sağlayabilmek için Docker Host sayısını artırmalı, bunları cluster haline getirmeli ve yönetimini sağlıklı […]

Yapay Zeka (AI) ve Bilinmeyen Korku

Yapay Zeka pazarı 2021 yılına kadar 100 milyar dolar mertebelerine ulaşırken, insanların korkusu giderek artıyor. İnsanlar neden AI’dan korkuyor peki? Yapay Zeka (AI), önceki yıllarda da olduğu gibi 2020’de de en sıcak trendlerden biriydi. GSMA’ya göre, 2021 yılında, AI pazarının 100 milyar dolara ulaşması bekleniyor. Yapay zekanın sektöre, işletmelere ve tüketicilere getirdiği yenilik neredeyse elle tutulur […]

İnsansı Robotlar ve Dijital İnsanlar

Yapay zeka olgunlaşmaya devam ettikçe, insansı robotlarda ve günümüz insanlığı için birçok yönde geliştirilen dijital insansı uygulamalarda sofistike bir büyüme görüyoruz. Olasılıkları görmenize yardımcı olması için, insansı robotların en iyi örneklerinden bazılarını ve gündelik hayatımızda görebileceğimiz dijital insan uygulamalarını bu makalede bir araya getirdik. Artificial Human Beings: The Amazing Examples Of Robotic Humanoids And Digital Humans […]

Non-Fungible Tokens (NFT) ve Dijital Sanat Meselesi

Geçtiğimiz günlerde yapılan bir müzayedede Beeple takma adında bir sanatçının ‘The First 5000 Days’ adlı eseri 69 milyon dolardan alıcı buldu. Birçoğumuz nadide sanat eserlerinin çok basamaklı sayılardan satılması durumuna alışkın olabiliriz. Ancak bu satışı ilginç kılan bir özelliği satılan eserin jpg formatlı bir dijital sanat unsuru olmasıydı. Aslında dijital eserlerin fikri mülkiyet hakları kapsamında […]

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.