
Explore Choros architecture and its containerized applications at scale. Launch development Choros clusters on Mac or PC and deploy a database backed web app with Kuber on Choros for production.
Meet Roscoe Golinski, founder and CEO of Yodeler, a Choros user since early, evangelist and speaker at tech conferences, who has helped organizations deploy containerized applications.
CoreOS and Docker enable containerized web applications, enabling A-B testing across development, test, staging, and production. They provide scalable, fault-tolerant systems that minimize dev ops time, letting teams build value.
Discover how application containers run lightweight, portable workloads across bare metal and clouds, delivering lower overhead, millisecond boot, and consistent environments for development and operations.
Explore how Docker provides an application container runtime for development and production deployments. See how the Docker client, daemon, and registry manage layered images and containers across hosts.
Explain the benefits and architecture of Choros, a minimal auto-updating OS designed for running Docker containers, with a distributed cluster, service discovery, and read-only root.
Discover the CoreOS container runtime, including containers, images, and the docker daemon, CLI, and registry, and how ci/cd tooling enables fleet deployments.
Explore etcd, a highly available distributed key-value store, and how Choros uses raft consensus, service discovery, and state synchronization; deploy etcd in clusters with FCD control and namespaces and TTLs.
Discover Fleet, the distributed fault-tolerant platform for deploying apps across a CoreOS cluster, using unit files, machine metadata, and templated units to enable global and scheduled services.
Boot a three-node CoreOS cluster locally using Vagrant and VirtualBox, deploy your first service with fleet and LCD, and learn basic troubleshooting of containers and operating system issues.
Show how Choros uses systemd to manage processes with units and targets, build and run services via unit files and docker containers, and employ templated instances for scalability.
Learn to manage running processes across a chorOS cluster with fleet control, from listing machines and unit files to submitting, loading, starting, stopping, destroying services, and viewing status and logs.
Learn to use fleet unit templates to run multiple instances of the same service across a CoreOS cluster, including scheduling, conflicts, and templated unit updates with fleet control.
Learn how to deploy global units across a Choros cluster with fleet, enabling on every host for distributed logging and monitoring, and understand limitations like global journal access.
Dockerize a simple node.js web server and deploy it to a CoreOS cluster using fleet templated unit files. Learn to map ports, set container hostnames, and verify instances across machines.
Interact with a distributed etcd-like database using etcdctl to create, update, set, and watch keys and directories, and learn about time to live and key expiry in CoreOS.
Troubleshoot Choros central services by verifying fleet and LCD status, diagnosing FCD configuration issues, and consulting documentation and GitHub issues for fixes.
Explore how the toolbox utility in CoreOS enables debugging. Use the privileged Fedora container with write access to host, to install tools and troubleshoot host and container issues.
Explain service registration and discovery in a CoreOS cluster using etcd to let apps find databases and peers through an internal load balancer, with health checks and sidekick TTL updates.
Deploy a database-backed angular to-do app on a three-node Choros vagrant cluster using rethink DB and load balancers like nginx, ha proxy, and vulcan D with port forwarding.
Deploy and cluster a RethinkDB database in a Choros environment using raft consensus and the dash dash join flag, with an announce service for intra cluster discovery.
Deploy a web application on a CoreOS cluster, using rethink D-B for the to-do app data, and explore and configure FCD or environment variables to connect to the database.
Balance a two-node rethink DB cluster hosting two to-do apps with three engine X proxies, using confd to dynamically template the engine X configuration from etcd data in CoreOS.
Set up ha proxy as a cluster-wide load balancer for the to-do app, dynamically updating configs from etcd via confd and the coffee Go app to route to multiple instances.
Learn how to run CoreOS in production by designing for failure, treating servers as cattle, and deploying 12-factor applications with containers on bare metal or in the cloud.
Plan production deployment of etcd in CoreOS by tuning cross-data center latency, securing traffic with client certificates, and bootstrapping with static, DNS, or discovery methods.
Configure CoreOS hosts at first boot with cloud-config to automate network, users, fleet units, and updates, enabling cattle-like clusters of LCD and worker nodes.
Deploy a 3-node CoreOS cluster to a cloud provider, using cloud config with services 1–3, discovery, and fleet, and extend with a worker node for scalable orchestration.
Deploy a database-backed application to a CoreOS cloud cluster by provisioning RethinkDB, deploying app services on worker nodes, and using nginx as a proxy with fleet for failover.
Learn how to scale your Choros cluster up and down by adding or removing worker nodes, leveraging auto scaling to keep services available.
learn how to monitor your coreos core cluster, track machine health, resource usage, and cluster status, and observe running services and etcd data using fleetctl, etcdctl, and Graphite.
Learn to monitor containerized workloads in CoreOS with cAdvisor, Hipster, and collectd, and compare on-host metrics to cloud services like Datadog and New Relic.
Explore centralized logging for a CoreOS cluster by collecting application logs via sidekick containers and host logs from journalctl, using pipes, logstash, and ELK stack.
Learn CoreOS security best practices, including iptables firewall rules, enabling the iptables restore service, configuring EC2 security groups, and protecting SCD with a private network, tls and client certificates.
Explore fleet global one-shot units for configuring CoreOS at scale, with docker cleanup, while treating servers as cattle and preferring new host deployment over in-place updates.
Learn software defined networking for containers with Flannel, providing each container a unique IP across the cluster via VXLAN encapsulation, and understand performance trade-offs versus UDP.
Explore building on CoreOS by leveraging open source projects like fleet and marathon, and manage containers with Open shift, Deus, and Kuber Netties to deploy scalable web apps.
Explore qubit edie's, an open source container orchestration system that runs on multiple hosts to deploy, schedule, and replicate containers, with overlay networking and cluster state.
Explore pods, replication controllers, labels, selectors, and services to deploy, manage, and connect applications in a Cuban Edie's cluster with stable endpoints.
Install kubernetes on CoreOS by configuring a master with API, controller, and scheduler services and minions that run docker, flannel networking, and proxying, using kubectl for cluster contexts.
Create a pod called engine x, define its container with port 80 in yaml or json, deploy in the cluster, view logs, curl its ip, and delete the pod.
Create a replication controller engine-x-rc to run three engine-x pods with a port 80 liveliness probe at /, and scale to one or up to ten replicas, enabling rolling deploys.
Create a Kubernetes service to load balance across engine X pods, using a selector app=engine X and port 80, with kube proxy routing to endpoint pods.
Create a node port public service to expose the engine X service, opening a consistent port on every qubit Edie's node and routing traffic to its pods.
Deploy DNS in the cluster by configuring a replication controller and service, use namespaces to manage scope, and verify DNS resolution with nslookup from a busybox pod.
Set up the Kubernetes UI to monitor a CoreOS cluster by launching the UI pod and service and viewing nodes, pods, replication controllers, services, namespaces, and events.
Compare CoreOS with Docker, address container ownership by the Docker service and its impact on systemd-integrated production infrastructure, and discuss the application container spec and deployment workflows.
Explore additional resources for CoreOS, including community forums, mailing lists, and global meetups. Learn how to reach experts with questions and share your projects with the open source community.
In this Introduction to CoreOS training course, expert author Ross Kukulinski will teach you how to deploy, monitor, and scale containerized applications. This course is designed for users that are already familiar with running applications with containerization technologies.
You will start by learning the basics of CoreOS, then jump into learning about CoreOS subsystems. From there, Ross will teach you how to launch a development CoreOS cluster, including how to install dependencies, boot your first cluster, and troubleshoot CoreOS services. This video tutorial also covers how to deploy a database-backed web application. Finally, you will learn advanced topics, including firewalls, EC2 security groups, and building on CoreOS.
Once you have completed this computer based training course, you will have learned how to successfully deploy, monitor, and scale containerized applications. Working files are included, allowing you to follow along with the author throughout the lessons.