Kapsayıcılar ile sanal makineler karşılaştırması

Şunlar için geçerlidir: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Bu konu, kapsayıcılar ve sanal makineler (VM' ler) arasındaki temel benzerliklerden ve farklardan bazılarını ve her birini ne zaman kullanmak isteyebileceğinizi açıklar. Kapsayıcıların ve VM'lerin kullanımları vardır; aslında kapsayıcıların çoğu vm'leri doğrudan donanım üzerinde çalıştırmak yerine konak işletim sistemi olarak kullanır. Özellikle de kapsayıcıları bulutta çalıştırırken.

Kapsayıcılara genel bakış için bkz. Windows ve kapsayıcılar.

Kapsayıcı mimarisi

Kapsayıcı, bir uygulamayı konak işletim sisteminde çalıştırmaya yönelik yalıtılmış, basit bir silodur. Kapsayıcılar, konak işletim sisteminin çekirdeğinin üzerine inşa edilir (işletim sisteminin gömülü tesisatı olarak düşünülebilir) ve bu diyagramda gösterildiği gibi, kullanıcı modunda çalışan yalnızca uygulamaları ve bazı hafif işletim sistemi API'lerini ve hizmetlerini içerir.

Kapsayıcıların çekirdek üzerinde nasıl çalıştığını gösteren mimari diyagram

Sanal makine mimarisi

Kapsayıcıların aksine, VM'ler bu diyagramda gösterildiği gibi kendi çekirdeği dahil olmak üzere eksiksiz bir işletim sistemi çalıştırır.

VM'lerin konak işletim sistemi yanında tam bir işletim sistemini nasıl çalıştıracaklarını gösteren mimari diyagram

Kapsayıcılar ile sanal makineler karşılaştırması

Aşağıdaki tabloda, bu tamamlayıcı teknolojilerin bazı benzerlikleri ve farklılıkları gösterilmektedir.

Özellik Sanal makine Konteyner
Yalıtım Konak işletim sisteminden ve diğer VM'lerden tam yalıtım sağlar. Bu, rakip şirketlerin uygulamalarını aynı sunucuda veya kümede barındırma gibi güçlü bir güvenlik sınırı kritik olduğunda kullanışlıdır. Genellikle konaktan ve diğer kapsayıcılardan basit yalıtım sağlar, ancak VM kadar güçlü bir güvenlik sınırı sağlamaz. (Her bir kapsayıcıyı hafif bir VM içerisinde yalıtmak için Hyper-V yalıtım modunu kullanarak güvenliği artırabilirsiniz).
İşletim Sistemi Çekirdek de dahil olmak üzere tam bir işletim sistemi çalıştırır, bu nedenle daha fazla sistem kaynağı (CPU, bellek ve depolama) gerektirir. İşletim sisteminin kullanıcı modu bölümünü çalıştırır ve daha az sistem kaynağı kullanılarak uygulamanız için yalnızca gerekli hizmetleri içerecek şekilde uyarlanabilir.
Konuk uyumluluğu Sanal makine içindeki hemen hemen tüm işletim sistemini çalıştırır. Konak ile aynı işletim sistemi sürümünde çalışır (Hyper-V yalıtım, aynı işletim sisteminin önceki sürümlerini hafif bir VM ortamında çalıştırmanıza olanak tanır).
Dağıtım Windows Yönetim Merkezi'ni veya Hyper-V Yöneticisi'ni kullanarak tek tek VM'leri dağıtma; PowerShell veya System Center Virtual Machine Manager kullanarak birden çok VM dağıtın. Komut satırı aracılığıyla Docker kullanarak tek tek kapsayıcıları dağıtın; Azure Kubernetes Service gibi bir düzenleyici kullanarak birden çok kapsayıcı dağıtın.
İşletim sistemi güncelleştirmeleri ve yükseltmeleri Her vm'ye işletim sistemi güncelleştirmelerini indirin ve yükleyin. Yeni bir işletim sistemi sürümü yüklemek için yükseltme veya genellikle tamamen yeni bir VM oluşturma gerekir. Bu, özellikle çok fazla VM'niz varsa zaman alabilir. Kapsayıcı içindeki işletim sistemi dosyalarını güncelleştirmek veya yükseltmek aynıdır:
  1. Kapsayıcı görüntünüzün derleme dosyasını (Dockerfile olarak bilinir) Windows temel görüntüsünün en son sürümüne işaret etmek için düzenleyin.
  2. Bu yeni temel görüntüyle kapsayıcı görüntünüzü yeniden oluşturun.
  3. Kapsayıcı görüntüsünü kapsayıcı kayıt defterinize gönderin.
  4. Orkestratör kullanarak yeniden dağıtın.
    Düzenleyici, bunu büyük ölçekte yapmak için güçlü otomasyon sağlar. Ayrıntılar için bkz. Öğretici: Azure Kubernetes Service'nde bir uygulamayı güncelleştirme.
Kalıcı depolama Tek bir VM için yerel depolama için sanal sabit disk (VHD) veya birden çok sunucu tarafından paylaşılan depolama için SMB dosya paylaşımı kullanın. Tek bir düğüm için yerel depolama için Azure Diskleri'ni veya birden çok düğüm veya sunucu tarafından paylaşılan depolama için Azure Dosyalar'ı (SMB paylaşımları) kullanın.
Yük dengeleme Sanal makine yük dengeleme, çalışan VM'leri yük devretme kümesindeki diğer sunuculara taşır. Kapsayıcıların kendileri taşınmaz; bunun yerine, bir orkestratör yük ve kullanılabilirlik değişikliklerini yönetmek için küme düğümlerinde kapsayıcıları otomatik olarak başlatabilir veya durdurabilir.
Arızaya dayanıklılık VM'ler, işletim sistemleri yeni sunucuda yeniden başlatılırken kümedeki başka bir sunucuya aktarılabilir. Bir küme düğümü başarısız olursa, üzerinde çalışan tüm kapsayıcılar, düzenleyici tarafından başka bir küme düğümünde hızla yeniden oluşturulur.
Sanal ağ bağdaştırıcılarını kullanır. Daha az sanallaştırma sağlarken ve daha az kaynak kullanırken, sanal bir ağ bağdaştırıcısının yalıtılmış görünümünü kullanır; konak güvenlik duvarı, kapsayıcılarla paylaşılır. Daha fazla bilgi için bkz. Windows kapsayıcı ağı.