CoreOS Essentials

Course

April 30th, 2018

Intro Video

Photo of Treva Williams

Treva Williams

Training Architect

Length

07:35:53

Difficulty

Intermediate

Course Details

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.

Syllabus

Introduction

Intro to Linux Academy

About the Course

00:00:55

Lesson Description:

In this video, I will briefly overview all of the cool stuff we'll be covering in CoreOS Essentials.

About the Instructor

00:00:52

Lesson Description:

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

00:03:11

Lesson Description:

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?

00:02:32

Lesson Description:

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

00:02:32

Lesson Description:

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

00:05:55

Lesson Description:

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

CoreOS Architecture

Container Linux

CoreOS Architecture

00:02:24

Lesson Description:

In this video, we'll quickly review CoreOS Architecture before breaking down the three main components of Container Linux.

Fleet

Fleet Architecture

00:03:40

Lesson Description:

Fleet, once considered one of the three building blocks of CoreOS container Linux, is an extension of Systemd used to manage container lifecycle.

Systemd

Systemd Overview

00:05:25

Lesson Description:

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

00:02:27

Lesson Description:

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

etcd Architecture

00:06:08

Lesson Description:

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

00:30:00

Container Runtimes

rkt

rkt Overview

00:02:58

Lesson Description:

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 Architecture

00:07:30

Lesson Description:

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

00:02:45

Lesson Description:

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

00:15:00

Tools of the Trade

Ignition

Ignition

00:04:29

Lesson Description:

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

Fleet Overview

00:03:04

Lesson Description:

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 Architecture

00:03:40

Lesson Description:

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.

Using Fleet

00:08:13

Lesson Description:

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

Quay.io

00:02:32

Lesson Description:

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

Matchbox Overview

00:04:28

Lesson Description:

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

About update_engine

00:02:47

Lesson Description:

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

00:15:00

Cluster Management

System Provisioning

coreos-cloudInit

00:03:18

Lesson Description:

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.

Ignition

00:06:42

Lesson Description:

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

00:03:47

Lesson Description:

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.

Manual Rollbacks

00:03:14

Lesson Description:

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.

Networkd

Networkd Overview

00:03:54

Lesson Description:

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.

etcd

Using etcd

00:05:19

Lesson Description:

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

00:30:00

Installation and Working with Tectonic

Tectonic by CoreOS

System Setup

00:05:05

Lesson Description:

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

00:15:13

Lesson Description:

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)

00:10:13

Lesson Description:

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.

Clean-Up

00:04:27

Lesson Description:

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

00:15:00

What Next?

CoreOS Community

Join the Community

00:01:00

Lesson Description:

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.