/cluster-manager

Containership Cluster Management Plugin

Primary LanguageGoApache License 2.0Apache-2.0

Containership Cluster Manager

CircleCI Go Report Card codecov

Overview

The Containership cluster manager is a plugin that enables deep integrations with Containership Cloud for clusters provisioned using Containership Kubernetes Engine (CKE) as well as existing clusters that have been attached to the platform.

Features

Core Features

There are many core features that apply to both CKE clusters and attached clusters.

CKE Features

These features are available only for clusters provisioned using CKE.

  • Kubernetes (and etcd) upgrade management

Structure

The Containership cluster manager is composed of two primary components: the cloud-coordinator and cloud-agent.

Coordinator

The Containership coordinator runs as a Kubernetes Deployment with a single replica. It performs synchronization and reconciliation of Containership cloud resources (e.g. registries, plugins). It is also responsible for orchestrating Kubernetes cluster upgrades.

Agent

The Containership agent runs as a Kubernetes DaemonSet on all nodes, including masters. It performs synchronization and reconciliation of host-level resources such as SSH keys. It is also responsible for performing Kubernetes upgrades of individual nodes.

Releases and Compatibility

Containership releases follow the semver format. Similar to other projects in the Kubernetes ecosystem, a new major version of the cluster manager is released for every Kubernetes minor version. Also in line with the Kubernetes ecosystem, Containership supports a sliding window of 3 minor versions of Kubernetes. Please refer to the following compatibility matrix for specific compatibility information. Please also refer to the official changelog for release notes.

Compatibility Matrix

Support for previous Kubernetes versions can be inferred by using the sliding window. For example, cluster-manager 6.x supports Kubernetes versions 1.12.x - 1.14.x.

Kubernetes 1.14.x Kubernetes 1.13.x Kubernetes 1.12.x Kubernetes 1.11.x Kubernetes 1.10.x
cluster-manager 6.x
cluster-manager 5.x
cluster-manager 4.x
cluster-manager 3.x
cluster-manager 2.x

Contributing

Thank you for your interest in this project and for your interest in contributing! Feel free to open issues for feature requests, bugs, or even just questions - we love feedback and want to hear from you.

PRs are also always welcome! However, if the feature you're considering adding is fairly large in scope, please consider opening an issue for discussion first.