days
-4
-3
hours
-1
-5
minutes
-4
-4
seconds
-3
-4
search
Bye-bye on-prem deployment drama

On-prem deployments giving you a hard time? You can rely on Gravity, a Kubernetes packaging solution

Eirini-Eleni Papadopoulou
Kubernetes
© Shutterstock / wickerwood  

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.

Gravity is a toolkit for creating “snapshots” of Kubernetes clusters and the applications running inside the clusters and got open sourced this fall by Gravitational.

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’.”

    DevOpsCon Whitepaper 2018

    Free: BRAND NEW DevOps Whitepaper 2018

    Learn about Containers,Continuous Delivery, DevOps Culture, Cloud Platforms & Security with articles by experts like Michiel Rook, Christoph Engelbert, Scott Sanders and many more.

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:

  • Secure cluster snapshots
  • Automated installation wizard
  • Resource validation
  • Application publishing
  • Runs in clouds and on-premise
  • License creation / enforcement
  • Unified access management
  • Role-based access control
  • Security audit logging
  • Integrated certificate authority
  • Identity provider integrations
  • Session recording and playback
  • Multi-cluster control plane
  • Highly available architecture
  • Automated, in-place upgrades
  • Dynamic auto-scaling
  • Cluster logging aggregation
  • Monitoring and health checks

For further information on the features and characteristics of Gravity, make sure to check out the official documentation.

Getting started

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.

SEE ALSO: Kubernetes adoption hasn’t exploded yet, new study shows

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. tsh is 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.

For installing tele and tsh CLI tools onto your machine. You need to have sudo privileges:

# 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

Type tele version to make sure the installation was successful and then download the sample application Mattermost:

$ git clone https://github.com/gravitational/quickstart.git

Author
Eirini-Eleni Papadopoulou
Eirini-Eleni Papadopoulou is an assistant editor for JAXenter.com. Just finished her masters in Modern East Asian Studies and plans to continue with her old hobby that is computer science.

Leave a Reply

Be the First to Comment!

avatar
400
  Subscribe  
Notify of