14 Kasım 2016 Pazartesi

LXC - Linux Containers

Giriş
LXC Linux Containers anlamına gelir. Klasik bir LXC şöyledir.
Host Machine-[Ubuntu 16.04][185.82.xx.xx]
  • Container1 [10.0.8.9]
  • Container2 [10.0.8.100]
  • Container3 [10.0.8.101]
  • Container4 [10.0.8.102]
LXC'ten Önce
Açıklaması şöyle
The container history started 1979 with Unix V7 Chroot and continued, 2000 FreeBSD Jails, 2001 Linux VServer, 2004 Solaris Containers, 2005 Open VZ, 2006 Process Containers, 2008 LXC, etc.
Yani sıra şöyle
Chroot - 1979
FreeBSD Jail - 2000
Linux VServer - 2001
Solaris Containers - 2004
Open VZ - 2005
Process Containers - 2006

Linux VServer - 2001
Açıklaması şöyle. 2001 yılında başlıyor. cgroups bu konuda önemli bir adım.
Container technology was first introduced in 2001 through Jacques Gélinas’s Linux-VServer project. This early form of container technology underwent several redesigns such as the addition of cgroup functionality that allows the limitation and prioritization of resources (CPU, memory, block I/O, network) without the need for starting any virtual machines; and also the namespace isolation functionality that allows for the complete isolation of an application’s view of the operating environment, including process trees, networking, user IDs and mounted file systems and namespaces (source: Resource management: Linux kernel Namespaces and cgroups). 
İlk LXC - 2008
Açıklaması şöyle. 2008 yılında ortaya çıkıyor
In 2008, IBM engineers added a layer of userspace tooling to make the technology more palatable to developers. In 2014, the LXC 1.0 release further addressed LXC security concerns by leveraging existing Linux technologies such as seccomp and SELinux to control and protect against DoS attacks from malicious code-breaking out of containers. 
LXC ve Docker
2013 yılında ortaya çıkan ilk Docker altta LXC kullanıyordu. Daha sonra bıraktı. Açıklaması şöyle.
Launched in 2013, Docker was initially based on LXC and added user-friendly tools to attract developers looking for alternatives to bulky VMs. Eventually, Docker diverged from LXC by developing its own containerized architecture. 
Şu anki LXC ve Docker arasındaki en büyük fark LXC çoklu uygulama çalıştırabilir, yani multi process'tir. Docker ise tek bir uygulama çalıştırabilir, yani single process'tir.

LXD – An Upgrade for LXC Containers
Açıklaması şöyle.
LXD has been described as the next-generation system container.  It enhances system-level containerization with a REST API that can connect to the LXC libraries. Written in Go, it creates a system daemon that apps access through a UNIX socket via HTTPS further expanding the possibilities of distributed systems portability. LXD builds on top of LXC and extends its capabilities through the kernel rather than sitting independent of the OS. It acts much like a VM with a hypervisor, but without the resource overhead.
Namespace Nedir?
Namespace Nedir? yazısına taşıdım



Hiç yorum yok:

Yorum Gönder