April 30th, 2018
During the lessons, learning activities and hands-on components of this course, the student will gain knowledge about CoreOS. You will walk through a local installation as well as how to use our Cloud Servers in order to follow along with our demos. Whether it is using CoreOS for container implementations, clustering, or understanding how to update and view reports, this course will allow you to gain hands-on experience with CoreOS.
Intro to Linux Academy
About the Course
In this video, I will briefly overview all of the cool stuff we'll be covering in CoreOS Essentials.
About the Instructor
Curious about the instructor? Take a look at this video for a quick introduction!
Intro to CoreOS
A Gentle Introduction to CoreOS
The Birth of CoreOS
Ever wonder how CoreOS was created? In this video we'll discuss the origins of the CoreOS project & talk a little bit about the group who keeps the project alive.
Why Use CoreOS?
What's the major benefit of CoreOS Container Linux over other operating systems? In this video, we'll overview a few reasons why some prefer CoreOS.
Community Vs. Enterprise
CoreOS comes in two flavors: Community (Container Linux) & Enterprise (Tectonic). In this video, we'll discuss a couple of key differences between the Enterprise & Community versions of CoreOS.
Container Linux in VirtualBox
Install Container Linux in VirtualBox
Spinnig up a CoreOS Container Linux image on your machine is as easy as 1-2-3. In this video, we will walk through installing Container Linux from beginning to end. NOTE: CoreOS documentation and available iso - https://coreos.com/os/docs/latest/booting-on-virtualbox.html https://github.com/coreos/scripts/blob/master/contrib/create-coreos-vdi
In this video, we'll quickly review CoreOS Architecture before breaking down the three main components of Container Linux.
Fleet, once considered one of the three building blocks of CoreOS container Linux, is an extension of Systemd used to manage container lifecycle.
CoreOS primarily uses Systemd for container lifecycle management and other system management. In this video, we will do an overview of Systemd and how it fits within the CoreOS ecosystem.
Systemd Unit Files
CoreOS utilizes Systemd unit files to control container lifecycle and manage other system functions. In this video, we'll quickly review Systemd unit files.
etcd is a sophisticated key/value store that acts something like the "heart" of container Linux, enabling administrators to quickly and easily update values over a CoreOS cluster.
QUIZ: CoreOS Architecture
rkt is a container runtime created specifically for CoreOS, capable of running container images from Quay, Docker, and private registries. In this video, we'll overview the origins of rkt and its integration with CoreOS.
rkt, the container image repository of choice for CoreOS, has a lightweight and efficient architecture that streamlines container lifecycle management. In this video, we will learn about rkt architecture.
Docker vs. Rkt
You're probably asking yourself, "What's the big difference between Docker and rkt? Why should I use one over the other?" Well, there are some key differences between needed permissions to run a container in Docker vs. rkt that can make a huge difference in how secure containers are.
QUIZ: Container Runtimes in CoreOS
Tools of the Trade
Ignition, a system provisioning tool created specifically for CoreOS, is an extremely powerful tool for managing your cluster. In this video, we will overview Ignition and how it functions in CoreOS.
Fleet, a sophisticated wrapper for Systemd, is considered to be the third building block for CoreOS Container Linux. In this video, we will overview Fleet and how it integrates with CoreOS.
Fleet, the unit scheduler for CoreOS, has a sophisticated architecture made up of Standard and Global units. Learn more about how Fleet runs in this quick video.
Now that we know the inner workings of Fleet, let's take a look at Fleet in action! In this video, I will demonstrate how to load, start, stop, and destroy a Fleet unit using the fleetctl client.
Quay.io has a fascinating backstory. It was the very first private container registry, created in 2013 by two guys looking to support their own customers. Eventually, Quay grew into its own product and is now a major part of CoreOS. In this video, we'll talk about Quay and how it works with CoreOS.
Matchbox is a system provisioning tool created by CoreOS, best for provisioning large clusters. In this video, we'll talk a bit about Matchbox and how it is best utilized to manage a CoreOS cluster.
update_engine is the utility used for automatically managing updates on CoreOS Container Linux. In addition to handling automatic updates, it can also be used in emergency situations to manually rollback to previous partitions. In this video, we will review the update_engine.
QUIZ: CoreOS Tools of the Trade
CoreOS machines are provisioned with an application based on the cloud-init project, called coreos-cloudinit. In this video, we will take a look at coreos-cloudinit and see how it uses YAML templates to configure CoreOS Container Linux.
There are several possible approaches to deploying a CoreOS system. For those who prefer to work with JSON over YAML, CoreOS offers Ignition as a "set and forget" approach to configuring your system.
Manual Updates with update_engine_client
CoreOS sets itself apart from other operating systems by managing its own updates with the update_engine_client, but sometimes there is a need to push an update manually. If you ever need to force an update manually in CoreOS, that can be done with the update_engine_client.
CoreOS is famous for its self-managed automatic updates, but what happens if something goes wrong? Fortunately, CoreOS provides a relatively simple way to rollback updates using cgpt. In this video, we will walk through the process of performing an update rollback on CoreOS.
CoreOS uses systemd-networkd.service -- or just networkd -- for managing network configuration on Container Linux. This can be done on boot using Ignition or cloud-config, or configured on-the-spot with systemd drop-in units. In this video, we'll overview networkd and how to best utilize the tool in CoreOS.
cloud-config files can not only be used to configure new machines but can also be used to install services on running machines. In this video, I'll demonstrate how to configure etcd on an existing environment using cloud-config. Generate an etcd discovery URL by running the following command, replacing [CLUSTER-SIZE] with the amount of servers in your cluster: `$ curl http://discovery.etcd.io/new?=[CLUSTER-SIZE]`
QUIZ: Cluster Management in CoreOS
Installation and Working with Tectonic
Tectonic by CoreOS
Tectonic by CoreOS offers 10 -- count em -- TEN free licenses for the purpose of experimenting with their new enterprise product, but before you can launch the installer, you will need to set up your desktop. In this video, we will walk through the prerequisites for launching Tectonic on AWS.
Launch a Tectonic Cluster Using a Web Browser
Launching a Tectonic by CoreOS cluster is as easy as pie when you use the included web launcher. In this video, we will walk through launching a full cluster on an existing AWS account.
Launch a Tectonic Cluster using Terraform (CLI)
For those who are brave, a Tectonic cluster can be launched using CLI-only thanks to Terraform. In this video, we'll walk through deploying a 9-node Tectonic cluster on AWS using Terraform.
Now that we have seen Tectonic deployed using the web deployer and via CLI using terraform, we can easily clean up our AWS account (and stop billing) using the command, `terraform destroy`. In this video, I will demonstrate the clean-up process for Tectonic.
QUIZ: CoreOS Installation and Working with Tectonic
Join the Community
As with most Open Source projects, CoreOS has a robust community filled with enthusiastic Container Linux users. In this video, we'll discuss all of the ways you can connect with other like-minded people; either to reach out for help or just to make a new friend.