On-prem deployments giving you a hard time? You can rely on Gravity, a Kubernetes packaging solution
Here’s something to help you put your feet on the ground! Gravity is an open source toolkit for creating “snapshots” of Kubernetes clusters. In this article, we take a closer look at its features and how it can be useful for your Kubernetes applications.
According to its GitHub repo, those snapshots created with Gravity are called ‘application bundles’.
“An application bundle can be used to re-create full replicas of the original cluster in any environment where compliance and consistency matter, even in air-gapped server rooms. A bundle can run without human supervision, as a ‘Kubernetes appliance’.”
What are the benefits of using Gravity you ask? Good question. According to its GitHub repo, the benefits include
- Idempotent clusters – Clusters created from the same bundle are always identical. There is no configuration drift over time; no “special snowflakes”.
- Clusters are always “wrapped” with a privileged access gateway called Teleport – Unifies k8s and SSH authentication and keeps a detailed audit log for compliance purposes.
- Includes tools to perform infrastructure validation prior to cluster provisioning – Allows cluster designers to prevent users from installing clusters on infrastructure that does not meet the system requirements.
Now, to give an overview of the features Gravity brings to this toolkit, here are the most interesting highlights:
For further information on the features and characteristics of Gravity, make sure to check out the official documentation.
If you are eager to give it a try, the Gravity team has created a Quick Start Guide. Here’s what you need to know.
Gravity is a Linux-based toolkit and, therefore, supports by default 64-bit versions of the Linux distributions specified here. What’s more, this guide requires Docker version 1.8 or newer. Run
docker info before continuing to make sure you have Docker up and running on your system.
If you are ready to go for the full deal, here’s how you get the tools. Gravity consists of three major components, namely:
tele: the CLI tool which is used for packaging and publishing applications.
tsh: the SSH client for establishing secure SSH connections between the Ops Center and the application instances running behind firewalls on private clouds.
tshis a part of Gravitational Teleport, a free open source SSH server developed, maintained and supported by Gravitational. It can be used independently from Gravity.
- Ops Center: the Web UI for managing published applications and remotely accessing private cloud deployments.
tsh CLI tools onto your machine. You need to have
# Download the latest version (this includes pre-releases and beta releases): $ curl https://get.gravitational.io/telekube/install | bash # ... or, if a specific version is needed: $ curl https://get.gravitational.io/telekube/install/5.2.3 | bash
tele version to make sure the installation was successful and then download the sample application Mattermost:
$ git clone https://github.com/gravitational/quickstart.git