Pojemnik Linux - Container Linux
Deweloper | czerwony kapelusz |
---|---|
rodzina OS | Linux (oparty na Gentoo Linux ) |
stan roboczy | w rozwoju |
Model źródło | Otwarte źródło |
Pierwsze wydanie | 03 października 2013 |
Najnowsze wydanie | 2247.5.0 / 15 października 2019 |
Najnowsze podgląd | 2275.2.0 / 15 października 2019 |
target marketing | Serwery i klastry |
platformy | x86-64 |
kernel typ | Monolityczny ( Linux kernel ) |
Licencja | Apache License 2.0 |
Oficjalna strona internetowa | coreos |
Pojemnik Linux (dawniej CoreOS Linux ) jest open-source lekki system operacyjny oparty na jądrze Linuksa i zaprojektowany dla zapewnienia infrastruktury do skupionych wdrożeń, skupiając się na automatyzację, łatwość wdrażania aplikacji, bezpieczeństwo, niezawodność i skalowalność . Jako system operacyjny, Pojemnik Linux zapewnia tylko minimalną funkcjonalność wymaganą dla wdrażania aplikacji wewnątrz pojemników oprogramowania , wraz z wbudowanymi mechanizmami wykrywania usług i udostępnianie konfiguracji.
Pojemnik Linux akcji fundamenty z Gentoo Linux , Chrome OS i Chromium OS poprzez wspólny Software Development Kit (SDK). Pojemnik Linux dodaje nową funkcjonalność i dostosowanie do tego wspólnego fundamentu ze sprzętem i przypadków użycia serwera wsparcie. W styczniu 2015 r CoreOS jest aktywnie rozwijany głównie przez Alex Polvi, Brandon Phillips i Michaela Marineau z jej głównych funkcji dostępnych w wydaniu stabilnym .
Przegląd
Pojemnik Linux zapewnia żadnego menedżera pakietów jako sposób dystrybucji aplikacji ładowność, wymagając zamiast uruchomić wszystkie aplikacje w swoich pojemnikach. Służąc jako jednego hosta sterowania instancji Container Linux używa bazowy system operacyjny, poziom wirtualizacji cech jądra Linuksa do tworzenia i konfigurowania wielu pojemników, które wykonują jako pojedyncze linuksowych systemów. W ten sposób zasób podział pomiędzy pojemników odbywa się za pośrednictwem wielu odosobnionych użtykownika przypadkach zamiast stosowania hypervisor i zapewniając pełnoprawnym maszyn wirtualnych . Podejście to opiera się na Linux Kernel cgroups i obszary nazw funkcji, które razem zapewniają zdolności do limitu, konto i wykorzystania zasobów izolatu ( procesora , pamięci, dysku I / O , etc.) dla zbiorów użtykownika procesów .
Początkowo Pojemnik Linux wykorzystywane wyłącznie Döcker jako składnik zapewniając dodatkową warstwę abstrakcji i interfejs do wirtualizacji przez system operacyjny na poziomie cech jądra Linux, a także dostarczenie znormalizowanego formatu pojemników, które umożliwia uruchamianie aplikacji w różnych środowiskach. W grudniu 2014 r CoreOS zwolniony i zaczął wsparcia RKT (początkowo wydany jako Rocket ) jako alternatywa dla Döcker, zapewniając przez to inny znormalizowany format obrazów aplikacji kontenera, powiązanych definicji pojemnik środowiska wykonawczego oraz protokół do odkrywania i pobierania obrazów kontenerów. CoreOS zapewnia RKT jako realizacji tak zwanej aplikacji pojemnik (appc) Wartość wskazująca wymaganych właściwości obrazu zastosowanie pojemnika (ACI); CoreOS zainicjowany APPC i ACI jako niezależna komisja niekierowane zestaw specyfikacji, zmierzające do ich posiadania stać się częścią udostępnionej przez dostawcę systemu operacyjnego i niezależne otwarty pojemnik Initiative (OCI, początkowo nazwany otwarty pojemnik projektu lub OCP) norma containerization, który został ogłoszony w czerwcu 2015 r.
Pojemnik Linux używa marne skrypty z Gentoo Linux dla automatycznej kompilacji swoich komponentów systemu i wykorzystuje Systemd jako podstawowy Init systemu ze ścisłej integracji między Systemd i mechanizmów wewnętrznych różnych Container Linuksa.
dystrybucja aktualizacje
Pojemnik Linux osiąga dodatkowe bezpieczeństwo i niezawodność systemu operacyjnego aktualizacjach stosując FastPatch jako schemat podwójnego partycji dla odczytu tylko części jego instalacji, co oznacza, że aktualizacje są wykonywane jako całość i zainstalowane na pasywnym wtórnym rozruchowym partycji , które staje aktywne po ponownym uruchomieniu lub kexec . Takie podejście pozwala uniknąć ewentualnych problemów, wynikających z aktualizacji tylko niektórych części systemu operacyjnego, zapewnia łatwe staczania się do znanej-to-be-stabilna wersja systemu operacyjnego i pozwala każdemu partycja rozruchowa być podpisana do dodatkowego zabezpieczenia. Partycja, a jego system plików są automatycznie zmniejszane do zapełnienia całego dostępnego miejsca na dysku momencie ponownego uruchamiania; natomiast partycja zapewnia odczytu i zapisu przestrzeń pamięci, system operacyjny sam w sobie jest zamontowany tylko do odczytu pod / usr .
Aby zapewnić, że tylko pewną część klastra ponownym uruchomieniu od razu, gdy stosowane są aktualizacje systemu operacyjnego, zachowując W ten sposób zasoby niezbędne do uruchamiania aplikacji wdrożonych, CoreOS zapewnia ślusarza jako restart menedżer Container Linux. Korzystanie ślusarza, można wybierać między różnymi strategiami aktualizacji, które są określane przez jak restartuje wykonywane są jako ostatni krok w zastosowaniu aktualizacji; Na przykład, można skonfigurować ilu członków klastra są dozwolone, aby ponownie uruchomić jednocześnie. Wewnętrznie, ślusarz pracuje jako locksmithd demona , który działa na członków klastra, natomiast locksmithctl wiersza polecenia narzędzie zarządza parametrów konfiguracyjnych. Ślusarz został napisany w języku Go i rozpowszechniany na warunkach licencji Apache 2.0 .
System dystrybucji aktualizacje zatrudniony przez Container Linux jest oparty na Google „s open source Omaha projektu, który zapewnia mechanizm toczenia się aktualizacje i podstawowego żądanie-odpowiedź protokół oparty na XML . Dodatkowo CoreOS zapewnia CoreUpdate jako internetowego deski rozdzielczej do zarządzania aktualizacjach całego klastra. Operacje dostępne przez CoreUpdate to przypisanie członków klastra do różnych grup, które akcje niestandardowe zasady aktualizacji, przegląd klastra całej podziałów wersjach Pojemnik Linux, zatrzymanie i ponowne uruchomienie aktualizacji i przeglądu nagranych dzienniki aktualizacji. CoreUpdate zapewnia również HTTP -na API , który umożliwia jego integrację narzędzi innych firm lub systemów wdrażania .
infrastruktura klastra
Pojemnik Linux zapewnia etcd, demona, który działa na wszystkich komputerach w klastrze i stanowi rejestr konfiguracyjny dynamiczne, umożliwiając różne dane konfiguracyjne być łatwo i niezawodnie dzielone pomiędzy członków klastra. Ponieważ dane klucz-wartość przechowywane w etcd jest automatycznie dystrybuowane i replikowane z automatycznym wyborem głównego i konsensusu przedsiębiorczości z wykorzystaniem Raft algorytmu, wszystkie zmiany przechowywanych danych znajdują odzwierciedlenie w całym klastrze, a osiągnięte redundancji Zapobiega awarie pojedynczych członków klastra z powodowania utrata danych. Oprócz zarządzania konfiguracją, etcd zapewnia również wykrywania usług poprzez umożliwienie aplikacji wdrożonych ogłosić siebie i oferowanych przez nich usług. Komunikacja z etcd odbywa się przez odsłoniętą odpoczynek -na API, wewnątrz której wykorzystuje JSON na wierzchu HTTP; API mogą być użyte bezpośrednio (poprzez zwinięcie lub wget , na przykład), albo pośrednio przez etcdctl , który jest wyspecjalizowany Narzędzie wiersza dostarcza także CoreOS .. Etcd stosowany jest również w Kubernetes oprogramowania.
Pojemnik Linux dostarcza również floty menedżera klastra, który steruje osobne instancje Systemd Container Linuksa na poziomie klastra. Począwszy od 2017 roku „floty” nie jest już aktywnie rozwijany i jest zastąpiona Kubernetes . Za pomocą fleetd Container Linux tworzy rozproszone init który łączy oddzielne przykłady Systemd i klastrów szeroki etcd wysunięciem; wewnętrznie fleetd demon łączy się z lokalnym Systemd przypadkach na D-Bus , oraz z etcd rozmieszczenia przez odkrytej API. Korzystanie fleetd pozwala na wdrożenie jednego lub wielu pojemników cluster-szerokie, z bardziej zaawansowanych opcji, w tym zwolnienia , failover , wdrażanie do poszczególnych członków klastra, zależnościami między pojemnikami, a zgrupowane rozmieszczenia pojemników. Narzędzie linii poleceń zwany fleetctl służy do konfigurowania i monitorowania tego rozproszonego systemu startowy; wewnętrznie, to łączy się z fleetd demon użyciu API JSON oparte na górze HTTP, który może być również stosowany bezpośrednio. Gdy stosuje się miejscowo na elemencie klastra fleetctl komunikuje się z lokalną fleetd przykład nad gniazdem domenie Unix ; gdy stosuje się z hostem zewnętrznym SSH tunelowy jest stosowany z uwierzytelniania dostarczonych przez klucze publiczne SSH .
Wszystkie wyżej wymienione demonów i narzędzi wiersza polecenia ( etcd , etcdctl , fleetd i fleetctl ) są napisane w języku Idź i rozpowszechniany na zasadach licencji Apache 2.0.
Rozlokowanie
Kiedy działa na dedykowanym sprzęcie, Pojemnik Linux może być na stałe zainstalowany w lokalnej pamięci masowej, takich jak dysk twardy (HDD) lub dysku SSD (SSD) lub uruchamiany zdalnie poprzez sieć z wykorzystaniem PXE (PXE) ogólnie lub iPXE jako jeden z jego implementacji. CoreOS obsługuje również na różnych wdrożeń wirtualizacji sprzętu platform, w tym Amazon EC2 , DigitalOcean , Google Compute Engine , Microsoft Azure , OpenStack , QEMU / KVM , Vagrant i VMware . Pojemnik Linux może być również zainstalowany na Citrix XenServer, zauważając, że „szablon” dla CoreOS istnieje.
Pojemnik Linux może być również stosowane przez jego dystrybucji handlowej nazwie tektoniczna , która dodatkowo integruje Google Kubernetes jako narzędzia do zarządzania klastrami. Począwszy od kwietnia 2015 roku, planowane jest tektoniczna być oferowane jako beta oprogramowania do wyboru klientów. Ponadto CoreOS zapewnia flanelowa jako element wdrożenia sieci nakładki wymaga przede wszystkim do integracji z Kubernetes.
W lutym 2015, Kontener Linux obsługuje tylko x86-64 architektury.
Pochodne
Po jego nabyciu CoreOS, Inc., w styczniu 2018, Red Hat ogłosił, że będzie łączenie CoreOS Container Linuksa z Red Hata projektu Atomowej, w celu utworzenia nowego systemu operacyjnego Red Hat CoreOS, podczas wyrównywania upstream Fedora projekt open source społeczność wokół Fedora CoreOS , łączące technologie z obu poprzedników.
W dniu 6 marca 2018 roku, Kinvolk GmbH ogłosiła flatcar Linux , pochodna CoreOS Container Linux. Uwzględnia to powyżej CoreOS alfa / beta / stabilne komunikatów kanału, z uwalniania eksperymentalnego kanału krawędź dodanego w maju 2019 r.
Przyjęcie
LWN.net przeglądowi CoreOS w 2014 roku:
Dla tych, którzy łącząc duże, rozproszone systemy aplikacji web-bycie najlepszym przykładem-CoreOS wydaje się mieć wiele ciekawych funkcjonalności. Powinno to pozwolić aplikacji tego typu rosnąć i kurczyć się w miarę potrzeb z popytem, jak również stanowić platformę stabilną gdzie aktualizacje nie są stałym ból głowy. Dla „masywnych wdrożeń serwerów”, CoreOS albo coś z wielu takich samych cechach, wygląda na przyszłość.
Zobacz też
- Wirtualizacji aplikacji - technologia oprogramowania, który obudowuje oprogramowania z systemu operacyjnego, na którym jest wykonywany
- Porównanie oprogramowania do wirtualizacji aplikacji - różne maszyny wirtualne przenośny i język skryptowy
- Porównanie oprogramowania platforma wirtualizacji - różne emulatory i hypervisory, które naśladować całych komputerów fizycznych
- LXC (Linux Pojemniki) - środowisko do uruchamiania wielu izolowanych systemów Linux (kontenery) na jednym hoście sterowania Linux
- Implementacje wirtualizacji operacyjnego na poziomie systemu - w oparciu o wsparcie jądra systemu operacyjnego za wielu przypadkach izolowanych przestrzeni użytkownika
- Oprogramowanie jako usługa (SaaS) - dostawa i licencjonowania oprogramowania model, który jest gospodarzem oprogramowania centralnie i licencje go na zasadzie subskrypcji
- Wirtualizacja - ogólne pojęcie świadczenia wersje wirtualnych platformach sprzętowych komputera, systemów operacyjnych i urządzeń pamięci masowej, itp
Bibliografia
Zewnętrzne linki
- Oficjalne CoreOS i tektoniczne stron internetowych, oraz github kod źródłowy repozytoria: CoreOS , etcd , flota , RKT i CoreOS-overlay
- CoreOS w DistroWatch
- Pierwsze spojrzenie na CoreOS , 3 września 2013, przez Sébastiena Han
- CoreOS: Linux dla chmury i centrum danych , ZDNet , 02 lipca 2014, Steven J. Vaughan-Nichols
- Co znajduje się w CoreOS? Egzystencjalnym zagrożeniem dla Linux dostawców , InfoWorld 9 października 2014 roku, Matt Asay
- Zrozumienie CoreOS rozproszonej architekturze , March 4, 2015, rozmowa Alex Polvi Aaron Delp i Brian Gracely
- CoreOS flota architektura 26 sierpnia 2014 roku przez Briana Waldon et al.
- Uruchamianie CoreOS Google Compute Engine , 23 maja 2014
- CoreOS przemieszcza się z btrfs na ext4 + OverlayFS , Phoronix , 18 stycznia 2015, autorstwa Michaela Larabel
- Pojemniki i trwałe dane , LWN.net 28 maja 2015 roku przez Josha Berkus