Docker ve Kubernetes

Docker ve Kubernetes Nedir ?

Merhaba arkadaşlar, mobilhanem.com’da yepyeni bir yazı serisine Docker ve Kubernetes Eğitim Serisine başlıyoruz.

Docker Nedir ?

Docker son yıllarda dünyada popülerlik kazanmış bir geliştirici aracıdır. Linux ve Windows işletim sistemlerinde, sistemin geri kalanından izole sanal bir işlem birimini bir saniye içinde açılmasına olanak sağlar. Bildiğimiz, klasik sanal makinelerden (virtual machine) en büyük farkı ise sisteme çok az yük bindirerek, donanımları sanallaştırma ihtiyacı duymadan, işletim sistemi desteği ile çalışmasıdır.

Bu yazılım tabanlı sanallaştırma teknolojisine işletim sistemi container’ı denir. Daha önceleri başka sistemlerde çeşitleri olsa da Docker adı altında 2013’te ortaya çıkmış ve günümüzde popüler hale gelmiştir. Docker’dan önce ise Linux containerları, Google gibi devasa ölçekli bir şirkette çalışan yazılımların kaynakları daha az kullanarak, sunucuları daha yoğun ve efektif bir şekilde kullanabilmesi için geliştirilmiş, şu an ise herkese açık olan open-source teknolojilerdir.

Docker containerlarının hazır kullanılabilir imajları Docker Hub aracılığı ile dağıtılmaktadır. Bu sayede bir kullanıcı bilgisayarında docker run wordpress komutunu çalıştırarak saniyeler içinde sistemden tamamen izole bir WordPress kopyası çalıştırabilir. 

Geliştiricler bu hız ve izolasyonlar sayesinde Docker’ı bir çok alanda kullanmaya başladılar. En çok kullanılan alanlardan biri ise testler oldu. Her test çalıştırmadan önce tertemiz bir ortam olması testlerin güvenilirliğini ve hızını arttırdı. Ayrıca mikroservis mimarisini kullanan şirketler ise uygulamalarının kopyalarını sistemde iz bırakmadan, ve birbirini etkilemeden kolaylıkla çalıştırabilir hale getirdi. Bunların dışında kullan at veritabanları gibi daha önce sanal makinelerle hayal edilmesi güç şeyleri bugün alışkanlık haline geldi.

Kubernetes Nedir ?

Docker bir sunucuda ya da normal bilgisayarda çalışır. Çalışan Docker agent’ına, docker komutları, yada API üzerinden komut gönderilebilir. Container’ı oluştur, durdur, başlat, yeni imaj indir, imaj oluştur gibi komutlar bulunmaktadır. Birden fazla sunucuda Docker çalıştırmak için, Docker Swarm teknolojisini tanıtmış olsa da günümüzde Kubernetes popüler hale gelmiştir. Kubernetes, Google’ın kendi içinde binlerce sunucuyu yönetmek için tasarladığı Borg ve Omega sistemlerinin devamı olarak, açık kaynak şeklinde halka sunulmuştur. Sadece containerların yönetimi değil, servis keşfetme, konfigürasyon, dosya sistemleri gibi ortak sorunların çözülmesini de amaçlar.

Docker ve Kubernetes derslerimizi aşağıdaki sırada devam edeceğiz.

İçerik:

  • Docker Yükleme ve İlk Kullanım
  • Docker İmajları ve Docker Hub
  • Kendi Docker imajımızı yapalım
  • Dockerfile ile deklaratif şekilde imaj oluşturma
  • Docker ile performans ve log takibi
  • Örnek Docker İmajları ve Kullanımları
  • Docker Volumes ile Kalıcı veri ve Veritabanları
  • Docker’ın test ortamlarında kullanımı, (Bitbucket Pipelines’tan örnek)
  • Kubernetes’e Giriş
  • Pod, ReplicaSet ve Deployment ile mikroservisler
  • Service ve Ingress ile dışarı servis sunmak
  • Healthcheck ve Autoscaling ile dayanıklı servisler

Docker hakkında detaylı bilgi için tıklayınız.

Kubernetes hakkında detaylı bilgi için tıklayınız.

Tüm Docker ve Kubernetes Eğitimi için tıklayınız!

191

Mustafa Akın

SRE Architect @Atlassian Opsgenie
PhD Öğrencisi @Bilkent Üniversitesi

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?