Book Image

Learning CoreOS

By : Kingston Smiler. S, Shantanu Agrawal
Book Image

Learning CoreOS

By: Kingston Smiler. S, Shantanu Agrawal

Overview of this book

CoreOS is an open source operating system developed upon the Linux kernel. The rise of CoreOS is directly related to the rise of Docker (a Linux container management system). It is a minimal operating system layer and takes a different approach to automating the deployment of containers. The major difference between CoreOS and other Linux distributions is that CoreOS was designed to deploy hundreds of servers. CoreOS immensely helps the users to create systems, which are easy to scale and manage, making life easier for all, be it developer, QA, or deployer. This book is all about setting up, deploying, and using CoreOS to manage clusters and clouds. It will help you understand what CoreOS is and its benefits as a cloud orchestration platform. First, we’ll show you how to set up a simple CoreOS instance with single node in the cluster and how to run a Docker container inside the CoreOS instance. Next, you’ll be introduced to Fleet and systemd, and will deploy and distribute Docker services across different nodes in cluster using Fleet. Later, you’ll be briefed about running services in a cluster with constraints, publishing the services already running on the cluster to new services, and making your services interact with each other. We conclude by teaching you about advanced container networking. By the end of the book, you will know the salient features of CoreOS and will be able to deploy, administrate, and secure a CoreOS environment.
Table of Contents (15 chapters)
Learning CoreOS
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Integrating Flannel with CoreOS


Flannel runs a daemon flanneld on each host, responsible for allocating a free IP within the configured subnet. flanneld sets a watch on etcd information and routes the packets using the mechanism configured.

Although the flanneld service is not part of the standard CoreOS distribution, when the flanneld service is started through cloud-config, CoreOS internally starts a service before other initializations to pull flanneld from the docker registry. flanneld is stored as a docker container in the CoreOS enterprise registry.

The same setup used for Weave networking is being used here. Note that for Flannel, hostnames are irrelevant.

The following is the cloud-config file used to create setup. The other configuration files are reused from the Static discovery section in Chapter 3, Creating your CoreOS cluster and Managing the Cluster. Set $num_instances to 2 in the config.rb file as we need to start only two instance of members.

#cloud-config

---
coreos:
  etcd2...