CKE (Cybozu Kubernetes Engine) is a distributed service that automates Kubernetes cluster management.
Project Status: Most features are implemented.
-
Docker
Data in Docker volumes must persist between reboots.
-
A user who belongs to
docker
group -
SSH access for the user
-
Bootstrapping and life-cycle management.
CKE can bootstrap a Kubernetes and etcd cluster from scratch. CKE can also add or remove nodes to/from the Kubernetes and etcd cluster.
-
Managed etcd cluster
CKE manages an etcd cluster for Kubernetes. Other applications may also store their data in the same etcd cluster. Backups of etcd data are automatically taken by CKE.
Details are described in docs/etcd.md.
-
Cluster features:
-
Sabakan integration
CKE can be integrated with sabakan, a service that automates physical server management, to generate cluster configuration automatically.
Sabakan is not a requirement; cluster configuration can be supplied externally by a YAML file.
-
High availability
CKE stores its configurations in etcd to share them among multiple instances. Etcd is also used to elect a leader instance that exclusively controls the Kubernetes cluster.
-
Operation logs
To track problems and life-cycle events, CKE keeps operation logs in etcd.
This repository contains these programs:
cke
: the service.ckecli
: CLI tool forcke
.
To see their usage, run them with -h
option.
docs directory contains tutorials and specifications.
CKE is licensed under MIT license.