Windows Server 2016

Konteyner (Container) Nedir?

Windows Server 2016 ile birlikte gelen yeni özelliklerden biri Konteyner kullanımıdır. Konteyner kullanarak uygulamalar için yalıtılmış bir ortam sağlanır.

 

Tek bir sunucuda veya sanal sunucuda birden çok konteyner kullanılabilir ve her konteyner, uygulamalara kontrollü ve taşınabilir bir alan sağlayarak yalıtılmış eksiksiz bir çalışma ortamı sağlar.

Konteyner, uygulamanın işletim sistemini etkilemeden ve işletim sisteminin uygulamayı etkilemeden çalışması için ideal bir ortamdır. Bir bakıma sanallaştırmanın bir sonraki evrimidir denilebilir.

Konteynerler ana işletim sisteminde çalıştırılsa da birbirlerinden izole çalışırlar, yalıtılmış olan bu konteynerler simüle edilmiş bir ortam sağlarken, içinde çalışan uygulamaların güvenliğini ve güvenilirliğini artırır.

Windows Server 2016, farklı gereksinimler için farklı yalıtım seçeneklerini sahip iki farklı konteyner türünü destekler.

  • Windows Server Containers. İşlem ve adalanı yalıtım teknolojisi yoluyla uygulama yalıtımı sağlar. İşletim sistemi kernel’ini konteyner ana sunucusu ile konteynerler arasında paylaşır. Bu daha hızlı bir başlangıç sağlar fakat konteynerlerin tamamen yalıtımını sağlamaz.
  • Hyper-V Containers. Hyper-V üzerindeki Nested Virtualization yapılmış sanal makineler üzerinde çalışır ve sanal makineler bazında yalıtım sağlar. İşletim sistemi kernel’ini üzerinde bulunduğu sanal sunucu ile paylaşmaz ve bu da daha gelişmiş bir yalıtım sağlar.

Konteynerler, bir uygulama için eksiksiz bir işletim sistemi gibi görünür ve birçok bakımdan sanal makinelere benzer.

  • Bir işletim sistemi çalıştırır.
  • Dosya sistemlerini destekler.
  • Herhangi bir fiziksel bilgisayar veya sanal makine gibi ağ üzerinden erişilebilir.

Fakat yine de konteynerlerin arkasındaki teknoloji ve kavramlar sanal makinelerden farklıdır. Konteynerler Windows PowerShell komutları veya açık kaynaklı Docker platformu kullanılarak yönetilebilir.

 

Konteyner Tanımları

Windows Server 2016 üzerinde Konteyner kullanmadan önce, konteyner mimarisini oluşturan temel kavramları öğrenmek gerekir.

  • Container Host. Windows Containers özelliği yüklenmiş fiziksel veya sanal makinelerdir. Bir veya daha fazla konteyner çalıştırabilir.
  • Container Image. Konteynerler image’lardan oluşur. Konteyner’in dosya sisteminde veya kayıt defterinde değişiklikler yapıldığında, bu değişiklikler konteyner’in sanal alanında (Sandbox) tutulur. Bazı durumlarda konteyner’de yapılan değişiklikleri bir image olarak saklayarak başka konteynerlerde de kullanmak istenebilir. Bu durumda Container Image’lar kullanılır.
  • Container OS Image. Konteyner’e işletim sistemi ortamını sağlayan ilk katmandır. Container Host üzerindeki işletim sisteminin bir kopyasıdır.
  • Sandbox. Yeni bir konteyner oluşturulduğunda otomatik olarak oluşan boş alandır. Dosya sistemi değişiklikleri, kayıt defteri değişiklikleri veya yazılım yüklemeleri gibi konteynerde yapılan değişiklikleri tutar. Bu değişiklikler tutulabilir veya silinebilir.
  • Container Repository. Container image’larının ve bağlı dosyaların saklandığı depolama alanıdır.

 

Windows Server Containers

Fiziksel ya da sanal bir bilgisayarda tek bir çekirdek (kernel) üzerinde çalışan tek bir kullanıcı modu vardır. Windows Server Containers kullanıldığında ana sunucu işletim sistemi üzerindeki tüm konteynerler ile bir çekirdeği paylaşır. Bunun anlamı, Windows konteynerler birbirinden izoledir ama doğrudan Windows Server 2016 üzerinde çalışırlar. Windows Server Container üzerinde stateless uygulamalar çalışır. Ayrca Konteynerlerin grafik arabirimi (GUI) olmadığı için paket programlar çalıştırılmaz. Hızlı test uygulama dağıtımları için uygundur.

 

Hyper-V Containers

Sanal makinelere benzer bir şekilde, Hyper-V konteynerler de çalışan bir alt sistemdir. Fakat Hyper-V konteynerlerdeki işletim sistemi tam bir Windows işletim sistemi değildir. Windows server işletim sisteminin optimize edilmiş, soyulmuş bir halidir. Hyper-V konteyner, diğer Hyper-V konteynerler, hipervizör ve ana sunucusu arasında izole edilerek, güvenliği artırılmış bir yalıtım sağlar.

Hyper-V konteynerler oluşturulduğunda base container image’ı kullanarak otomatik bir Hyper-V sanal makine oluşturur ve saniyeler içerisinde çalışır duruma gelir. Hyper-V konteyner normal bir sanal makinede olan tam sürüm bir işletim sistemine sahip olmadığı için çok daha hızlıdır.

Hyper-V üzerindeki bir sanal makinede oluşturulan konteyner, Hyper-V konteyner değil, Windows Konteynerdir. Karıştırılmamalıdır. Hyper-V konteyner kullanabilmek için Hyper-V üzerinde Nested Virtualization etkinleştirilmelidir.

Hyper-V konteynerlerin her birinin kendi Windows OS Kernel’i ve doğrudan kendine atanan bellekleri vardır. Bu bazı durumlarda daha düşük bir performans sağlasa da daha güçlü bir izolasyon sağlar. Özellikle bu durumdan dolayı multitenant yapılarda veya kendi işletim sistemi güncelleme ve uyumluluk için bağımsız yaşam döngüsü yönetimine sahip olmak isteyen kuruluşlar için kullanımı tercih edilir.

 

Windows Server 2016 Containers Kurulum Gereksinimleri

Windows Server Containers kurulumu planlanırken Windows Server konteyner ve Hyper-V Konteyner için gereksinimleri ve desteklenen senaryoları bilmek gerekir.

 

Container Host Gereksinimleri

Container Host için gereksinimler aşağıdaki gibidir.

  • Windows Container Host için desteklenen işletim sistemleri
    • Windows Server 2016 (Full veya Server Core)
    • Windows 10 (Anniversary Update ve sonrası)
  • Hyper-V Konteyner kullanılacaksa, Hyper-V rolünün yüklenmesi gerekir.
  • Windows Server konteyner ana sunucusunda C sürücüsüne Windows işletim sistemi yüklenmiş olmalıdır.

 

Virtualized Container Host Gereksinimleri.

  • Virtualized Container Host için desteklenen işletim sistemleri
    • Windows Server 2016 (Full veya Server Core)
    • Windows 10 (Anniversary Update ve sonrası)
  • Nested Virtualization etkinleştirilmeli.
  • En az iki sanal çekirdek (vCore)
  • En az 4 GB Memory
  • Intel VT-x ve Extended Page Tables (EPT) destekli işlemci.
  • Hyper-V versiyon 8.0 ve üstü sanal makine

 

Desteklenen Senaryolar

Windows Server 2016 konteynerler iki Container OS Image kullanır. Windows Server Core ve Nano Server.

Desteklenen senaryo tablosu aşağıdaki gibidir.

Host OSWindows Server Container Hyper-V Container
Windows Server 2016 Desktop ExperienceServer Core imageNano Server image
Windows Server 2016 CoreServer Core imageNano Server image
Windows 10 Insider releasesNot availableNano Server image

 

 

Windows Server 2016 Containers kurulumu ile ilgili detaylı bilgi için: Windows Server 2016 Containers Kurulumu

3 Comments

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

error: Content is protected !!