CoreOs

Senthamil selvi
3 min readSep 17, 2018

--

What is CoreOs?

CoreOS is a type of operating system that has been described as a “clustered operating system” and as “Linux for massive server deployments.” It is administrated by a company called CoreOS, Inc. CoreOS is an open-source technology built with a design that helps automate various aspects of system administration.

System Design CoreOs

The general design of a CoreOS installation is geared towards clustering and containerization.

The main host system is relatively simple and foregoes many of the common “features” of traditional servers. In fact, CoreOS does not even have a package manager. Instead, all additional applications are expected to run as Docker containers, allowing for isolation, portability, and external management of the services.

Containers of CoreOs

etcd

The data written to etcd is available to all containers within the host and is also automatically replicated to other nodes in the cluster. The etcd interface is simple HTTP/JSON API. Etcd can be used manually with the command line tool etcdctl that is preinstalled in CoreOS.

fleet

In order to actually orchestrate the CoreOS clusters that you are building, a tool called fleet is used. A rather simple concept, fleet acts as a cluster-wide init system. Each individual node within a clustered environment operates its own conventional systemd init system. This is used to start and manage services on the local machine. In a simplified sense, what fleet does is provide an interface for controlling each of the cluster members’ systemd systems.

cloud-config

The cloud-config system was inspired by the cloud-init project and their cloud-config file. Cloud-init, however, includes tools which are not used by the CoreOS. Only a subsection of the original project, that was deemed relevant, is implemented in CoreOS. A cloud-config file can contain instructions for a number of components. The CoreOS cloud-config file allows portable pre-configuration to easily add new nodes to a cluster.

Advantages of CoreOs

  • CoreOS provides stable and reliable updates to all systems connected to their update service. The automatic updates are important in keeping a system secure, and do so without compromising the performance of any running services.
  • The OS is divided into two root partitions often referred to as root A and B. Hosts initially boot into the root A while root B is used for downloading and installing new updates. With the two separate partitions, system updates are performed atomically and can be rolled back. A currently running root is never modified preventing the server from ever entering an unstable or partially updated state. When updates to the dormant root are finished, a simple reboot is enough to switch to the second root with a freshly updated system.
  • Even with the two-part root system, the CoreOS is extremely lean allowing minimal memory usage. Keeping the strain on the system nominal frees most of the resources to be used by the containers. From the few components that run the CoreOS, the majority are open source and can be custom tailored to specific applications as necessary.
  • New developers can get up and running quickly rather than waste time installing all the required software and versions on their machine and making sure that nothing conflicts.

Contact Us:

044–42645495 |+91–9789968765

#67, “Deva Daya”,1st Main Road, Gandhi Nagar, Adyar | Chennai — 600020

| www.bigdatatraining.in|www.admatic.in|

Originally published at gist.github.com.

--

--