BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

Bare Metal Containers Made Easier with Mayu and Yochu

| by Hassy Veldstra Follow 0 Followers on Mar 15, 2016. Estimated reading time: 1 minute |

Giant Swarm has open-sourced Mayu and Yochu, its previously internal tools that make it easier to provision CoreOS clusters on bare metal. Mayu bootstraps CoreOS nodes on bare metal servers and Yochu takes care of provisioning and configuring fleet and etcd to turn a number of physical nodes into a cluster ready to run distributed container-based services.

Mayu runs on a Linux host (directly or in a Docker container) and acts as a preboot execution environment (PXE) server to ship operating-system binaries to target nodes and exposes an HTTPS endpoint for querying the status of the cluster. Mayu has two run-time dependencies: dnsmasq for DHCP and bootp support, and git for recording changes to the cluster. A cloud-config file can be included to be processed by the "coreos-cloudinit" startup process to customize OS-level settings such as user accounts, SSH keys or network configuration, and to assign different roles to different nodes in the cluster. Mayu saves the status of the cluster to a local git repo, recording every change to the cluster as it’s running. Once a cluster has been bootstrapped, the list and status of individual nodes in the cluster can be queried via command line.

Yochu works on a running CoreOS cluster. It is a systemd unit that runs when the physical node boots up and connects to Mayu’s HTTPS endpoint to fetch the binaries for Docker, etcd, and fleet. Yochu is most useful in scenarios where a production requirement dictates a specific version of Docker, fleet or etcd (for example to pin a specific version of Docker while keeping the rest of CoreOS updated). By default, it uses binaries pre-built by Giant Swarm (delivered over HTTPS), but it can use custom binaries instead. Yochu also adds additional security and convenience rules to iptables on every host (e.g. forwarding host’s established connections to containers running on that host).

While containers on bare metal offer better performance and utilization compared to running containers inside virtual machines (e.g. on AWS EC2 or ECS), the tooling available for containers on on-premises bare metal is behind that available for virtualized environments in the cloud. Tools such as Mayu and Yochu (and the recently released coreos-baremetal) help bridge that gap.

Mayu and Yochu are distributed under APL 2.0 on Giant Swarm’s GitHub page.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT