Trace Id is missing
Ana içeriğe atla

Kubernetes vs. Docker

Birlikte daha iyi çalışan kapsayıcı teknolojileriyle uygulamaları daha hızlı oluşturun, sunun ve ölçeklendirin.
 

Kubernetes vs. Docker sorusu

Kubernetes vs. Docker söz konusu olduğunda genellikle ya o ya bu olarak konuşulur: Kubernetes mi Docker mı kullanmalıyım? Bu, elmalarla elmalı turtayı karşılaştırmak gibidir ve birini ya da diğerini seçmeniz gerektiği yaygın bir yanılgıdır.

Kubernetes ve Docker arasındaki fark, "hem o hem de bu" sorusu olarak çerçevelendiğinde daha kolay anlaşılır. Gerçek şu ki, seçim yapmak zorunda değilsiniz-Kubernetes ve Docker, kapsayıcılı uygulamalar oluşturmak, sunmak ve ölçeklendirmek için birlikte iyi çalışan temelde farklı teknolojilerdir.

Docker ve kapsayıcıya almanın yükselişi

Docker, uygulamaların bulutta veya şirket içinde çalışabilen taşınabilir, kendi kendine yeterli kapsayıcılar olarak dağıtımını otomatikleştirmek için kullanılan açık kaynaklı bir teknoloji ve bir kapsayıcı dosya formatıdır. Docker, Inc. benzer bir isme sahip olsa da, Microsoft gibi bulut sağlayıcılarıyla işbirliği içinde Linux ve Windows üzerinde çalışmak üzere açık kaynaklı Docker teknolojisini geliştiren şirketlerden biridir.

Ortamları izole etme fikri yeni olmasa ve başka kapsayıcıya alma yazılımları da bulunsa da Docker son yıllarda varsayılan kapsayıcı formatı haline gelmiştir. Docker, bir çalışma zamanı ortamı olan Docker Engine'e sahiptir. Herhangi bir geliştirme makinesinde kapsayıcı oluşturmanıza ve çalıştırmanıza olanak tanır; ardından Docker Hub veya Azure Container Registry gibi bir kapsayıcı kayıt defteri aracılığıyla kapsayıcı görüntülerini depolar veya paylaşır.

Uygulamalar birden fazla sunucuya dağıtılan birden fazla kapsayıcının kullanımına açılacak şekilde büyüdükçe, bunları çalıştırmak daha karmaşık hale gelir. Docker, kapsayıcıya alınan uygulamaları paketlemek ve dağıtmak için açık bir standart sunarken, potansiyel karmaşıklıklar hızla artabilir. Çok sayıda kapsayıcıyı nasıl koordine ediyor ve planlıyorsunuz? Uygulamanızdaki farklı kapsayıcılar nasıl iletişim kuruyor? Çok sayıda kapsayıcı örneğini nasıl ölçeklendiriyorsunuz? Kubernetes bu aşamalarda yardımcı olabilir.

Kubernetes ve kapsayıcı düzenleme

Kubernetes, bu kapsayıcıların nasıl ve nerede çalışacağını kontrol etmek için bir API sağlayan açık kaynaklı bir düzenleme yazılımıdır. Docker kapsayıcılarınızı ve iş yüklerinizi çalıştırmanıza olanak tanır ve birden fazla sunucuda konuşlandırılmış birden fazla kapsayıcıyı ölçeklendirmeye geçerken bazı işletim karmaşıklıklarının üstesinden gelmenize yardımcı olur.

Kubernetes, bir sanal makine kümesini düzenlemenize ve kapsayıcıları mevcut işlem kaynaklarına ve her bir kapsayıcının kaynak gereksinimlerine göre bu sanal makinelerde çalışacak şekilde planlamanıza olanak tanır. Kapsayıcılar, Kubernetes için temel operasyonel birim olan podlar halinde gruplandırılır. Bu kapsayıcılar ve podlar istediğiniz duruma ölçeklendirilebilir ve uygulamalarınızı çalışır durumda tutmak için yaşam döngülerini yönetebilirsiniz.

Kubernetes ile Docker arasındaki fark nedir?

Kubernetes, bu kapsayıcıların nasıl ve nerede çalışacağını kontrol etmek için bir API sağlayan açık kaynaklı bir düzenleme yazılımıdır. Docker kapsayıcılarınızı ve iş yüklerinizi çalıştırmanıza olanak tanır ve birden fazla sunucuda konuşlandırılmış birden fazla kapsayıcıyı ölçeklendirmeye geçerken bazı işletim karmaşıklıklarının üstesinden gelmenize yardımcı olur.

Kubernetes, bir sanal makine kümesini düzenlemenize ve kapsayıcıları mevcut işlem kaynaklarına ve her bir kapsayıcının kaynak gereksinimlerine göre bu sanal makinelerde çalışacak şekilde planlamanıza olanak tanır. Kapsayıcılar, Kubernetes için temel operasyonel birim olan podlar halinde gruplandırılır. Bu kapsayıcılar ve podlar istediğiniz duruma ölçeklendirilebilir ve uygulamalarınızı çalışır durumda tutmak için yaşam döngülerini yönetebilirsiniz.

Kubernetes ve Docker: Birlikte daha iyi

Kapsayıcıların vaadi bir kez kodlamak ve her yerde çalıştırmak olsa da, Kubernetes tüm kapsayıcı kaynaklarınızı tek bir kontrol düzleminden düzenleme ve yönetme potansiyeli sağlar. Kapsayıcılarınızı çalıştıran tüm Kubernetes düğümlerinde ağ oluşturma, yük dengeleme, güvenlik ve ölçeklendirme konularında yardımcı olur. Kubernetes ayrıca, kapsayıcı kaynaklarını erişim iznine, hazırlama ortamlarına ve daha fazlasına göre gruplandırmanıza olanak tanıyan ad alanları gibi yerleşik izolasyon mekanizmalarına sahiptir. Bu yapılar, BT'nin geliştiricilere self-servis kaynak erişimi sağlamasını ve geliştiricilerin, geliştirme ortamlarında tüm uygulamanın maketini yapmadan en karmaşık mikro hizmet mimarileri üzerinde bile işbirliği yapmasını kolaylaştırır. DevOps uygulamalarını kapsayıcılar ve Kubernetes ile birleştirmek, bulut tabanlı uygulamaların hızlı teslimatını ve ölçeklenebilir düzenlemesini destekleyen bir mikro hizmet mimarisi temelini daha da mümkün kılar.

Kısacası Kubernetes ile Docker'ı şu amaçlar için birlikte kullanabilirsiniz:

  • Altyapınızı daha sağlam ve uygulamanızı daha yüksek erişilebilir hale getirmek. Bazı düğümler çevrimdışı olsa bile uygulamanız çevrimiçi kalacaktır.
  • Uygulamanızı daha ölçeklendirebilir hale getirmek. Uygulamanız çok daha fazla yük almaya başlarsa ve daha iyi bir kullanıcı deneyimi sunabilmek için ölçek büyütmeniz gerekirse, daha fazla kapsayıcı döndürmek veya Kubernetes kümenize daha fazla düğüm eklemek kolaydır.

Kubernetes ve Docker birlikte çalışır. Docker, kapsayıcılı uygulamaları paketlemek ve dağıtmak için açık bir standart sağlar. Docker'ı kullanarak kapsayıcılar oluşturup çalıştırabilir ve kapsayıcı görüntülerini depolayıp paylaşabilirsiniz. Bir Kubernetes kümesinde bir Docker derlemesi kolayca çalıştırılabilir, ancak Kubernetes'in kendisi tam bir çözüm değildir. Kubernetes'i üretimde optimize etmek için sürekli entegrasyon/sürekli dağıtım (CI/CD) iş akışları ve diğer DevOps uygulamalarıyla birlikte güvenlik, yönetişim, kimlik ve erişimi yönetmek üzere ek araçlar ve hizmetler uygulayın.

Üretimde Kubernetes ve Docker çözüm mimarileri

AKS çözüm mimarisi diyagramı ile mikro hizmetler

AKS ile mikro hizmetler

Mikro hizmet tabanlı mimarinin dağıtımını ve yönetimini basitleştirmek için AKS’yi kullanın. AKS, yatay ölçeklendirme, self-healing, yük dengeleme ve sır yönetimini kolaylaştırır.

AKS için Güvenli DevOps çözüm mimarisi diyagramı

AKS için Güvenli DevOps

DevOps ve Kubernetes birlikte daha iyi. Azure'da Kubernetes ile birlikte güvenli DevOps'u uygulayarak hız ve güvenlik arasındaki dengeyi sağlayabilir ve büyük ölçekte daha hızlı kod sunabilirsiniz.

Azure ile Kubernetes'in gücü üzerine inşa edin

Azure Kubernetes Service (AKS) ile kapsayıcılı uygulamalarınızı dağıtmak ve yönetmek çok kolay. AKS, sunucusuz Kubernetes, bütünleşik bir CI/CD deneyimi ve kurumsal düzeyde güvenlik ve yönetişim sunar. Geliştirme ve operasyon ekiplerinizi tek bir platformda birleştirerek uygulamaları hızla ve güvenle oluşturun, sunun ve ölçeklendirin.

Kubernetes ve Docker’ı kullanmaya başlayın