29 Jan 2016 in Series: CoreOS Overview, CoreOS, Overview

CoreOS Overview, Part One

This post is available in: Chinese

CoreOS is an important part of many container stacks. In this series of posts, we’re going to take a look at CoreOS, why it’s important, and how it works. If you don’t know anything about CoreOS already, don’t worry. We start at the beginning.

The Basics and How CoreOS Is Different From Other Linux Systems

CoreOS is designed for security, consistency, and reliability.

  • Automatic CoreOS updates are done using an active/passive dual-partition scheme to update CoreOS as a single unit, instead of using a package-by-package method. We go over this in detail later.

  • Instead of installing packages via yum or APT, CoreOS uses Linux containers to manage your services at a higher level of abstraction. A single service's code and all dependencies are packaged within a container that can be run on a single CoreOS machine or many CoreOS machines in a cluster.

  • Linux containers provide similar benefits to complete virtual machines, but are focused on applications instead of entire virtualized hosts. Because containers don’t run their own Linux kernel or require a hypervisor, they have almost no performance overhead. The lack of overhead allows you to gain density which means fewer machines to operate and a lower compute spend.

CoreOS runs on almost any platform, including Vagrant, Amazon EC2, QEMU/KVM, VMware, OpenStack, and your own bare-metal hardware.

Read More
28 Jan 2016 in Deis v1 PaaS, DigitalOcean, Tutorial

How To Set Up a Deis Cluster on DigitalOcean

In a previous post, we used Rigger to deploy Deis on DigitalOcean. In this post, we take a different and more detailed approach.

Introduction

Deis is an open source private Platform as a Service (PaaS) that simplifies deploying and managing your applications on your own servers. By leveraging technologies such as Docker and CoreOS, Deis provides a workflow and scaling features that are similar to that of Heroku, on the hosting provider of your choice. Deis supports applications that can run in a Docker container, and can run on any platform that supports CoreOS.

Read on to learn how to set up your own 3-machine Deis cluster on DigitalOcean.

Note: This tutorial is based on the v1.9.0 release of Deis.
Read More
22 Jan 2016 in CoreOS, AWS, Tutorial

Production CoreOS on AWS EC2

In previous posts, we learnt about installing CoreOS on VirtualBox to get you up to speed with cloud-config files and the general installation process. We also learnt about various CoreOS components, such as systemd, fleet, and etcd. However, if you want to run CoreOS in production, there are several other things to take care of: security, system failures, cluster scaling, and remote access, to name just a few.

CoreOS ensures scalability and failsafe clustering out of the box. And cloud deployment is the way to go if you want scalable, secure infrastructure. But how do you get a CoreOS cluster running in the cloud? There are several related questions. Do you need to install CoreOS on all the nodes separately? What about the cloud-config files? How does a cluster get defined logically?

In this post I’ll go over the CoreOS installation process and hopefully answer these questions for you.

Read More
20 Jan 2016 in Roundup, Containers

Popular Off-The-Shelf Container Tooling

With the rise of Infrastructure as a Service (IaaS), more and more people are turning to containers (and microservices) as new models of application development that take full advantage of everything the cloud has to offer.

These models offer many benefits over old ways of working, but bring with them a unique set of new challenges: service discovery, infrastructure management, cluster orchestration, monitoring, container-centric continuous integration, to name just a few.

Thankfully, there are a number of popular off-the-shelf tools that can help you with these challenges.

We'll take a look at a few of those tools in this post.

Read More
14 Jan 2016 in Announcement, Helm, Kubernetes

The Helm 0.3 Release Line Is Here

Helm is a package manager for Kubernetes.

Helm 0.3.0 was released last week, and 0.3.1 was released this week with a few minor bug fixes.

The 0.3 release line of Helm introduces several improvements to linting. It also introduces two new Helm commands: helm generate and helm template. These pave the way for generic template support in Helm, and provide a plugin architecture for implementing arbitrary template engines. Also, Helm charts now have a source: field for specifying a URL to the source used to create the chart's resources.

In addition to these new features, many bugs in the 0.2 release line have been found and fixed. Several parts of the codebase have been refactored for easier maintainability and better testing.

Read More