Belgeler QueryVS
  • QueryVS belgeler
  • Database Belgeler
  • Dağıtık Sistemler
    • DevOps Engineering Belgeler
      • package_management
      • fundementals
      • kernel_space
      • test_engineering
      • linux_distributions
      • messaging_services
      • project_management_services
    • Infrastructure Engineering belgeler
      • linux_system_management
      • Cloud Belgeler
      • Container Belgeler
      • GitOps Belgeler
      • Management of infrastructure Belgeler
      • Orchestration Belgeler
      • proxy
      • gitops
      • networking
      • System Design Belgeler
      • Virtualization Belgeler
    • Linux System >Engineering Belgeler
      • init sistemleri Belgeler
      • benchmark
      • Linux From Scratch Belgeler
      • git_repository_services
    • Linux System Management Belgeler
      • static_tests
      • google_sre_book
      • user_space
      • dynamic_tests
    • Site Reliability Engineering Belgeler
      • repository_services
    • System Design Belgeler
      • Best Problems (System Design) Belgeler
      • Terminology
      • Theorems
  • Message Brokers Belgeler
  • Security Belgeler
  • Software Engineering
    • software_engineeringforinfra
    • standards
    • Programing Languages Belgeler
  • building_and_running_code
    • monitoring_services
    • useful_tools_for_management
Powered by GitBook
On this page
  1. Dağıtık Sistemler
  2. Infrastructure Engineering belgeler

Container Belgeler

Bir konteyner, bir yazılım uygulamasının çalışması için gerekli olan tüm bağımlılıkları ve sistem kaynaklarını tek bir paket halinde kapsayan ve izole edilen bir çalışma ortamıdır. Bu, uygulamanın farklı ortamlarda tutarlı bir şekilde çalışmasına olanak tanır.

Konteyner teknolojileri, uygulama paketleme ve dağıtım sürecini basitleştirir ve hızlandırır. Konteyner, bir uygulamanın bağımlılıklarının belirtilmesine ve önceden yapılandırılmış bir çalışma ortamında yürütülmesine olanak tanır. Bu, uygulamanın farklı işletim sistemleri, donanım ve bulut ortamlarında tutarlı bir şekilde çalışmasına olanak tanır.

Konteyner teknolojileri, farklı uygulama türleri için kullanılır, özellikle microservice mimarileri ve bulut bilişim ortamları gibi modern yazılım geliştirme yaklaşımları için popülerdir. Konteyner teknolojileri arasında Docker, Kubernetes, Apache Mesos ve CoreOS gibi platformlar bulunur. Bu teknolojiler, uygulama dağıtımının otomatikleştirilmesini, yönetimini ve ölçeklendirilmesini kolaylaştırarak, yazılım geliştirme ve dağıtım süreçlerinde önemli bir etkiye sahiptir.

Container Tarihi

  • Chroot (1979) : Unix V7'nin 1979'da geliştirilmesi sırasında, chroot sistem çağrısı tanıtıldı

  • FreeBSD Jails (2000) : Bazı işletim sistemlerinde jail() sistem çağrısı ile işlemlerin sanal işletim sistemi ortamında çalışması mümkün hale getirildi.

  • Linux VServer (2001) : FreeBSD Jail'ler gibi, Linux VServer da bir bilgisayar sisteminde kaynakları (dosya sistemleri, ağ adresleri, bellek) bölebilen bir hapishane mekanizmasıdır.

  • Solaris Containers (2004) : Solaris Konteynerlerinin ilk halka açık beta sürümü yayınlandı. Bu, ZFS'den anlık görüntü ve klonlama gibi özellikleri kullanabilen bölgeler tarafından sağlanan sistem kaynakları kontrol ve sınır ayırma özelliklerini birleştiriyor.

  • Open VZ (Open Virtuzzo) (2005) : Bu, Linux için yamalı bir Linux çekirdeği kullanan bir system-level virtualization teknolojisidir ve sanallaştırma, izolasyon, kaynak yönetimi ve kontrol noktası sağlar. Kod resmi Linux çekirdeği parçası olarak yayınlanmadı.

  • Process Containers (cgroup) (2006) : Google tarafından 2006'da başlatılan Süreç Konteynerleri, bir dizi işlemin kaynak kullanımını (CPU, bellek, disk G/Ç, ağ) sınırlandırmak, hesaplamak ve izole etmek için tasarlanmıştır. Bir yıl sonra "Kontrol Grupları (cgroups)" olarak yeniden adlandırıldı ve sonunda Linux çekirdeği 2.6.24'e birleştirildi.

  • LXC (2008) : Linux konteyner yöneticisinin ilk ve en kapsamlı uygulamasıdır. 2008 yılında cgroups ve Linux namespaces kullanılarak oluşturulmuştur ve tek bir Linux çekirdeği üzerinde çalışırken herhangi bir yama gerektirmez.

  • Warden (2011) : LXC'yi ilk aşamalarda kullanarak Warden'ı başlattı ve daha sonra kendi uygulamasıyla değiştirdi. Warden, herhangi bir işletim sisteminde ortamları izole edebilir, bir daemon olarak çalışır ve konteyner yönetimi için bir API sağlar. Bir koleksiyon konteynerlerinin birden fazla ana bilgisayar üzerinde yönetilmesi için bir istemci-sunucu modeli geliştirilmiştir ve Warden, cgroups, namespaces ve işlem yaşam döngüsünü yönetmek için bir hizmet içerir.

  • LMCTFY (2013) : 2013 yılında Google'ın konteyner yığınının açık kaynaklı bir sürümü olarak başlatıldı ve Linux uygulama konteynerleri sağladı. Uygulamalar "konteyner farkındalığı" oluşturarak kendi alt-konteynerlerini oluşturabilir ve yönetebilirler. LMCTFY'deki aktif dağıtım, Google'ın temel LMCTFY kavramlarını libcontainer'a katkıda bulunmaya başlamasıyla 2015 yılında durduruldu ve libcontainer, şu anda Open Container Foundation'ın bir parçasıdır.

  • Docker (2013) : Docker, 2013 yılında ortaya çıktığında konteynerler popülerliğini artırdı. Docker'ın büyümesiyle konteyner kullanımının el ele gitmesi tesadüf değildir. Warden'ın yaptığı gibi, Docker da ilk aşamalarında LXC'yi kullandı ve daha sonra bu konteyner yöneticisini kendi kütüphanesi olan libcontainer ile değiştirdi. Ancak, Docker'ın konteyner yönetimi için tüm bir ekosistem sunması, kendini diğerlerinden ayıran en önemli özelliğiydi..

  • The Importance of Container Security Is Revealed (2016) : Konteyner tabanlı uygulamaların geniş çapta benimsenmesiyle, sistemler daha karmaşık hale geldi ve risk arttı, konteyner güvenliği için temeller atıldı. Dirty COW gibi güvenlik açıkları bu düşünceyi yalnızca ilerletti. Bu, yazılım geliştirme yaşam döngüsü boyunca güvenlikte bir kaymaya yol açarak, onu DevSecOps olarak da bilinen kapsayıcı uygulama geliştirmenin her aşamasının önemli bir parçası haline getirdi. Amaç, pazara sunma süresini kısaltmadan sıfırdan güvenli konteynerler oluşturmaktır.

PreviousCloud BelgelerNextGitOps Belgeler

Last updated 2 years ago