Container Linux: Difference between revisions

Content deleted Content added
m Added to category for Linux distributions
No edit summary
 
(30 intermediate revisions by 23 users not shown)
Line 1:
{{short description|Linux distribution}}
{{Use mdy dates|date=August 2014}}
{{Redirect|CoreOS|its successor, Fedora CoreOS|Fedora Linux}}
{{Infobox OS
| name = Container Linux
Line 34 ⟶ 35:
| updatemodel =
| package manager =
| succeeded by = Fedora CoreOS<br>RHEL CoreOS<br>Flatcar Container Linux
| repo = {{URL|github.com/coreos}}
| website = {{URL|https://coreos.com}}<ref>{{Cite web |date=2021-01-21 |title=CoreOS Container Linux 2514.1.0 Documentation |url=https://coreos.com/os/docs/latest/ |access-date=2021-01-21 |website=coreos.com |archive-date=2020-11-11 |archive-url=https://web.archive.org/web/20210121163852/https://coreos.com/os/docs/latest/}}</ref>
}}
 
'''Container Linux''', (formerly '''CoreOS Linux'''), is a discontinued [[Open-source software|open-source]] lightweight [[operating system]] based on the [[Linux kernel]] and designed for providing infrastructure tofor [[Computer cluster|clustered]] deployments,. while focusing on automation, easeOne of applicationits deployment,focuses security, reliability andwas [[scalability]]. As an operating system, Container Linux provided only the minimal functionality required for deploying applications inside [[software container]]s, together with built-in mechanisms for [[service discovery]] and configuration sharing.<ref name="container-linux-rename">{{Cite web
| url = https://coreos.com/blog/tectonic-self-driving.html#coreos-linux-is-now-container-linux
| title = CoreOS Linux is now Container Linux
Line 59 ⟶ 60:
}}</ref><ref name="itnews2day">{{Cite web
| url = http://itnews2day.com/2013/08/22/coreos-linux-based-server-systems/
| title = CoreOS – a new approach to Linux-based server systems
| date = August 22, 2013
| access-date = March 26, 2014
| website = itnews2day.com
| archive-date = November 29, 2014
}}</ref><ref name="coreos-using">{{Cite web
| archive-url = https://web.archive.org/web/20141129021412/http://itnews2day.com/2013/08/22/coreos-linux-based-server-systems/
| url-status = dead
}}</ref><ref name="coreos-using">{{Cite web
| url = https://coreos.com/using-coreos/
| title = CoreOS documentation: Using CoreOS
Line 83 ⟶ 88:
| date = March 25, 2016 | access-date = May 24, 2016
| website = gentoo.org
}}</ref> [[Chrome OSChromeOS]], and [[Chromium OSChromiumOS]] through a common [[software development kit]] (SDK). Container Linux adds new functionality and customization to this shared foundation to support server hardware and use cases.<ref name="itnews2day" /><ref>{{cite web
| url = https://www.youtube.com/watch?v=JeICd9XyXfY&t=422
| title = CoreOS: Anatomy of a CoreOS update
Line 89 ⟶ 94:
| author = Brian Harrington | publisher = Rackspace
| website = youtube.com
}}</ref>{{rp|7:02}} CoreOS was developed primarily by [[Alex Polvi]], Brandon Philips, and Michael Marineau,<ref name="wired-201308" /> with its major features available as a [[stable release]].<ref>{{cite web
| url = https://coreos.com/blog/stable-release/
| title = CoreOS Stable Release
Line 99 ⟶ 104:
| access-date = August 28, 2014
| website = coreos.com
| archive-date = November 11, 2020
}}</ref><ref>{{cite web
| archive-url = https://web.archive.org/web/20201111201601/https://coreos.com/releases/
| url-status = dead
}}</ref><ref>{{cite web
| url = https://coreos.com/blog/etcd-2.0-release-first-major-stable-release/
| title = etcd&nbsp;2.0 Release – First Major Stable Release
| date = January 28, 2015 | access-date = June 14, 2015
| author = Brandon Philips | website = coreos.com
}}</ref>
 
The CoreOS team announced the [[End-of-life (product)|end-of-life]] for Container Linux on May 26, 2020,<ref name=eol /> offering [[Fedora_Fedora (operating_systemoperating system)#EditionsCoreOS|Fedora CoreOS]],<ref>{{Cite web|title=Fedora CoreOS Documentation :: Fedora Docs Site|url=https://docs.fedoraproject.org/en-US/fedora-coreos/|access-date=2020-08-16|website=docs.fedoraproject.org}}</ref> and RHEL CoreOS as its replacement, both based on [[Red Hat Enterprise Linux|Red HatRHEL]]. CoreOS as its replacement.
 
== {{Anchor|ROCKET|APPC|ACI|OCP|OCI|RKT}}Overview ==
Line 133 ⟶ 141:
| date = March 10, 2014 | access-date = January 20, 2015
| website = docker.com
}}</ref> to the operating-system-level virtualization features of the Linux kernel, as well as providing a standardized format for containers that allows applications to run in different environments.<ref name="linux.com-737364" /><ref name="coreos-containers" /> In December 2014, CoreOS released and started to support '''rkt''' (initially released as ''Rocket'') as an alternative to Docker, providing through it another standardized format of the application-container images, the related definition of the container [[runtime environment]], and a [[Communications protocol|protocol]] for discovering and retrieving container images.<ref>{{Cite web
| url = https://www.linux.com/news/featured-blogs/200-libby-clark/806347-collaboration-summit-keynote-alex-polvi-coreos
| title = CoreOS Co-Founder Alex Polvi Talks Containers, Rocket vs. Docker, and More
Line 153 ⟶ 161:
| date = February 4, 2015 | access-date = June 22, 2015
| author = Josh Berkus | publisher = [[LWN.net]]
}}</ref> CoreOS provides rkt as an implementation of the so-called ''app container'' (appc) specification that describes the required properties of the ''application container image'' (ACI);. CoreOS initiatedcreated appc and ACI as an independent committee-steered set of specifications,<ref name="lwn-644089">{{Cite web
| url = https://lwn.net/Articles/644089/
| title = CoreOS Fest and the world of containers, part 1
Line 163 ⟶ 171:
| date = December 3, 2014 | access-date = June 22, 2015
| author = Nathan Willis | publisher = [[LWN.net]]
}}</ref> aimingaimed at having themto become part of the vendor- and operating-system-independent ''Open Container Initiative,'' (or OCI;, initially named the ''Open Container Project'' or (OCP<ref>)
containerization standard,<ref>
{{cite news
| last1 = McAllister
Line 175 ⟶ 184:
| quote = Announced at the DockerCon conference in San Francisco on Monday, the Open Container Project (OCP) will maintain and develop a common container runtime and image format based in part on code and specs donated by Docker.
}}
containerization standard,</ref> which was announced{{ by whom|date=Januarya group of large tech 2017}}companies in June 2015.<ref>{{cite news
</ref>)
containerization standard, which was announced{{by whom|date=January 2017}} in June 2015.<ref>{{cite news
| url = https://techcrunch.com/2015/06/22/docker-coreos-google-microsoft-amazon-and-others-agree-to-develop-common-container-standard/
| title = Docker, CoreOS, Google, Microsoft, Amazon and others come together to develop common container standard
Line 196 ⟶ 204:
}}</ref>
 
Container Linux uses [[ebuild]] scripts from Gentoo Linux for automated [[Compiler|compilation]] of its system components,<ref name="coreos-sdk-building" /><ref name="gentoo-based" /> and uses [[systemd]] as its primary [[init]] system, with tight integration between systemd and various Container Linux's internal mechanisms.<ref name="linux.com-737364" /><ref>{{Cite web
| url = https://coreos.com/using-coreos/systemd/
| title = CoreOS documentation: Using systemd with CoreOS
Line 234 ⟶ 242:
}}</ref>
 
To ensure that only a certain part of the [[Computer cluster|cluster]] reboots at once when the operating system updates are applied, preserving that way the resources required for running deployed applications, CoreOS provides ''locksmith'' as a [[Reboot (computing)|reboot]] manager for Container Linux.<ref>{{Cite web
| url = http://www.centurylinklabs.com/interviews/simple-introduction-to-coreos-with-ceo-alex-polvi-and-cto-brandon-philips/
| title = Simple Introduction to CoreOS with CEO Alex Polvi and CTO Brandon Philips
Line 242 ⟶ 250:
| archive-url = https://web.archive.org/web/20150622162656/http://www.centurylinklabs.com/interviews/simple-introduction-to-coreos-with-ceo-alex-polvi-and-cto-brandon-philips/
| archive-date = June 22, 2015
}}</ref> Using locksmith, one can select between different update strategies that are determined by how the reboots are performed as the last step in applying updates; for example, one can configure how many cluster members are allowed to reboot simultaneously. Internally, locksmith operates as the {{Mono|locksmithd}} [[Daemon (computing)|daemon]] that runs on cluster members, while the {{Mono|locksmithctl}} [[command-line]] utility]] manages configuration parameters.<ref>{{Cite web
| url = https://coreos.com/docs/cluster-management/setup/update-strategies/
| title = CoreOS documentation: Update strategies
Line 266 ⟶ 274:
}}</ref><ref>{{Cite web
| url = https://code.google.com/p/omaha/
| title = Omaha – software installer and auto-updater for Windows
| access-date = October 11, 2014
| website = code.google.com
Line 277 ⟶ 285:
| archive-url = https://web.archive.org/web/20090506062328/http://omaha.googlecode.com/svn/wiki/OmahaOverview.html
| archive-date = May 6, 2009
}}</ref> Additionally, CoreOS provides ''CoreUpdate'' as a web-based [[Dashboard (management information systems)|dashboard]] for the management of cluster-wide updates. Operations available through CoreUpdate include assigning cluster members to different groups that share customized update policies, reviewing cluster-wide breakdowns of Container Linux versions, stopping and restarting updates, and reviewing recorded update logs. CoreUpdate also provides aan [[HTTP]]-based [[API]] that allows its integration into third-party utilities or [[deployment system]]s.<ref name="coreos-updates" /><ref>{{Cite web
| url = https://godoc.org/github.com/coreos/go-omaha/omaha
| title = Package omaha
Line 317 ⟶ 325:
| date = January 15, 2014 | access-date = February 13, 2014
| author = Brandon Philips | website = speakerdeck.com
}}</ref> Etcdetcd is also used in [[Kubernetes]] software.
 
Container Linux also provides the {{Mono|fleet}} cluster manager, which controls Container Linux's separate systemd instances at the cluster level. As of 2017, "fleet" is no longer actively developed and is deprecated in favor of [[Kubernetes]].<ref>{{cite web|last1=Wood|first1=Josh|title=Container orchestration: Moving from fleet to Kubernetes|url=https://coreos.com/blog/migrating-from-fleet-to-kubernetes.html|website=coreos..com|publisher=CoreOS}}</ref> By using {{Mono|fleetd}}, Container Linux creates a distributed [[init|init system]] that ties together separate systemd instances and a cluster-wide {{Mono|etcd}} deployment;<ref name="lwn-617452" /> internally, {{Mono|fleetd}} daemon communicates with local {{Mono|systemd}} instances over [[D-Bus]], and with the {{Mono|etcd}} deployment through its exposed API. Using {{Mono|fleetd}} allows the deployment of single or multiple [[Software container|containers]] cluster-wide, with more advanced options including [[Redundancy (engineering)|redundancy]], [[failover]], deployment to specific cluster members, dependencies between containers, and grouped deployment of containers. A command-line utility called {{Mono|fleetctl}} is used to configure and monitor this distributed init system;<ref>{{Cite web
| url = https://www.digitalocean.com/community/tutorials/how-to-use-fleet-and-fleetctl-to-manage-your-coreos-cluster
| title = How To Use Fleet and Fleetctl to Manage your CoreOS Cluster
Line 361 ⟶ 369:
 
== {{Anchor|TECTONIC|FLANNEL}}Deployment ==
When running on dedicated hardware, Container Linux can be either permanently installed toon local storage, such as a [[hard disk drive]] (HDD) or [[solid-state drive]] (SSD),<ref>{{Cite web
| url = https://coreos.com/docs/running-coreos/bare-metal/installing-to-disk/
| title = CoreOS documentation: Installing CoreOS to disk
Line 394 ⟶ 402:
 
Container Linux can also be deployed through its commercial distribution called ''Tectonic'', which additionally integrates Google's [[Kubernetes]] as a cluster management utility. {{As of|2015|04}}, Tectonic is planned to be offered as [[beta software]] to select customers.<ref name="lwn-644089" /><ref>{{cite news
| url = httphttps://www.zdnet.com/article/coreos-is-bringing-googles-kubernetes-to-the-enterprise/
| title = CoreOS is bringing Google's Kubernetes to the enterprise
| date = April 6, 2015 | access-date = April 29, 2015
Line 403 ⟶ 411:
| date = April 6, 2015 | access-date = April 29, 2015
| author = Ben Kepes | magazine = [[Forbes]]
}}</ref> Furthermore, CoreOS provides ''Flannel'' as a component, implementing an [[overlay network]] required primarily for the integration with Kubernetes.<ref name="lwn-644089" /><ref>{{Cite web
| url = https://coreos.com/blog/introducing-rudder/
| title = Introducing flannel: An etcd-backed overlay network for containers
Line 419 ⟶ 427:
{{Clear}}
 
== {{Anchor|Derivatives}}Derivatives ==
Following its acquisition of CoreOS, Inc.<ref>{{Cite web|url=https://www.cnbc.com/2018/01/30/red-hat-buys-coreos-for-250-mililon.html|title=Red Hat pays $250 million for CoreOS, a start-up that sells Google-developed technology|last=Rosoff|first=Matt|date=2018-01-30|website=CNBC|language=en|access-date=2019-06-06}}</ref> in January 2018, Red Hat announced<ref>{{Cite web|url=https://coreos.com/blog/fedora-coreos-red-hat-coreos-and-future-container-linux|title=Fedora CoreOS, Red Hat CoreOS, and the future of Container Linux {{!}} CoreOS|website=coreos.com|access-date=2019-06-06}}</ref> that it would be merging CoreOS Container Linux with Red Hat's Project Atomic, to create a new operating system, Red Hat CoreOS, while aligning the upstream Fedora Project open source community around Fedora CoreOS, combining technologies from both predecessors.
 
On March 6, 2018, Kinvolk GmbH announced Flatcar Container Linux, a derivative of CoreOS Container Linux.<ref>{{Cite web|url=https://kinvolk.io/blog/2018/03/announcing-the-flatcar-linux-project/|title=Announcing the Flatcar Linux project {{!}} Kinvolk|website=kinvolk.io|date=March 6, 2018 |access-date=2019-06-06}}</ref> [https://www.flatcar-linux.org/ Flatcar Container Linux], a derivative of CoreOS Container Linux. This tracks the upstream CoreOS alpha/, beta/, and stable channel releases, with an experimental Edge release channel added in May 2019.<ref>{{Cite web|url=https://kinvolk.io/blog/2019/05/introducing-the-flatcar-linux-edge-channel/|title=Introducing the Flatcar Linux Edge Channel {{!}} Kinvolk|website=kinvolk.io|date=May 15, 2019 |access-date=2019-06-06}}</ref>
 
== Reception ==
Line 443 ⟶ 451:
== External links ==
{{Commons category|CoreOS}}
* Official {{Official website|https://coreos.com/|CoreOS}} and [[GitHub]] source code repositories: {{GitHub|coreos|CoreOS|link=hidden}}, {{GitHub|coreos/etcd|etcd|link=hidden}}, {{GitHub|coreos/fleet|fleet|link=hidden}}, {{GitHub|coreos/rkt|rkt|link=hidden}} and {{GitHub|coreos/coreos-overlay|CoreOS-overlay|link=hidden}}
* {{DistroWatch|CoreOS|name=CoreOS}}
* [http://www.sebastien-han.fr/blog/2013/09/03/first-glimpse-at-coreos/ First glimpse at CoreOS], September 3, 2013, by Sébastien Han
* [httphttps://www.zdnet.com/article/coreos-linux-for-the-cloud-and-the-datacenter-7000031137/ CoreOS: Linux for the cloud and the datacenter], [[ZDNet]], July 2, 2014, by Steven J. Vaughan-Nichols
* [httphttps://www.infoworld.com/article/2692889/open-source-software/coreos-an-existential-threat-to-linux-vendors.html What's CoreOS? An existential threat to Linux vendors], ''[[InfoWorld]]'', October 9, 2014, by Matt Asay
* [httphttps://www.thecloudcast.net/2015/03/the-cloudcast-180-understanding-coreos.html Understanding CoreOS distributed architecture], March 4, 2015, a talk to Alex Polvi by Aaron Delp and Brian Gracely
* [https://github.com/coreos/fleet/blob/master/Documentation/architecture.md CoreOS fleet architecture], August 26, 2014, by Brian Waldon et al.
* [httphttps://googlecloudplatformcloudplatform.blogspotgoogleblog.com/2014/05/official-coreos-images-are-now-available-on-google-compute-engine.html Running CoreOS on Google Compute Engine], May 23, 2014
* [https://www.phoronix.com/scan.php?page=news_item&px=CoreOS-Btrfs-To-EXT4-OverlayFS CoreOS moves from Btrfs to Ext4&nbsp;+ OverlayFS], [[Phoronix]], January 18, 2015, by Michael Larabel
* [https://lwn.net/Articles/646054/ Containers and persistent data], [[LWN.net]], May 28, 2015, by Josh Berkus
* [https://www.flatcar-linux.org/ Flatcar Container Linux]
 
{{Linux distributions}}{{Virtualization software}}
{{Linux}}
{{Linux kernel}}
{{Linux containers}}
[[Category:Linux distributions]]
[[Category:Enterprise Linux distributions]]
[[Category:Linux containerization]]
[[Category:Containerization software]]
[[Category:Operating systems based on the Linux kernel]]
[[Category:Red Hat software]]
[[Category:Software using the Apache license]]
[[Category:Virtualization software for Linux]]
[[Category:X86-64 operating systems]]