How Gravity Works

Gravity is an opinionated snapshot-based Kubernetes packaging and management tool kit for true application portability.

Download Gravity

What is Gravity

Gravity is an open source tooklit for creating “images” of Kubernetes clusters and the applications running inside the clusters. The resulting images are called application bundles and they are just .tar files.

An application bundle can be used to re-create full replicas of the original cluster in any environment where compliance and consistency matters, i.e. in locked-down AWS/GCE/Azure environments or even in air-gapped server rooms. A bundle can run without human supervision, as a “kubernetes appliance”.

Gravity has been running in production in major financial institutions, government data centers and enterprises. Gravitational open sourced it in the fall of 2018. The Gravity Community Edition is open sourced with an Apache 2.0 license and can be found on Github.

Gravity vs …

There are plenty of Kubernetes distributions out there. Most of them aim to be flexible, general purpose platforms. Gravity has a more narrow focus on compliance and reducing the overhead of managing Kubernetes:

Who is Gravity for?

We have seen the following primary use cases for using a image-based Kubernetes approach (there may be others):

Anyone who needs Kubernetes best practices out of the box, without having to proactively manage it can benefit from Gravity. It allows you to focus on building your product instead of managing Kubernetes.

Application Bundles

An Application Bundle produced by Gravity includes:

A bundle is all one needs to re-create the complete replica of the original Kubernetes cluster, with all deployed applications inside, even in an air-gapped server room.

Remote Access and Compliance

Each cluster provisioned with Gravity includes the built-in SSH/Kubernetes gateway called Teleport. Teleport provides the following benefits:

Teleport can also be used independently without Gravity, it has been audited multiple times by reputable cyber security companies and it has been deployed in production in multiple organizations.

Is Gravity Production Ready?

Yes! Even though Gravity was open sourced in September 2018, it started life much earlier, as a component of a larger, proprietary system called Telekube.

Fully autonomous Gravity clusters are running inside of large banks, government institutions, enterprises, etc. Some of the commercial users of Gravity are listed here.

Why did We Build Gravity?

Our mission is to allow software creators to easily share their products with customers without having to convert themselves into software operators.

The original use case for Gravity was to allow Kubernetes applications to be deployed into 3rd party environments, like on-premises datacenters. That’s why Gravity includes features like the built-in, graphical cluster installer, infrastructure validation and a built-in privileged access manager (Teleport) for providing remote support.

These features also resonated with security-minded teams who need to run applications in environments where compliance matters. Gravity clusters are always identical and do not allow any configuration drift over time, which allows cluster designers (aka, Devops or SREs) to “publish” clusters that are approved for production and allow multiple teams within the organization to rapidly scale their Kubernetes adoption without having to become security and Kubernetes experts themselves.

Building from source

Gravity is written in Go. There are two ways to build the Gravity tools from source: by using locally installed build tools or via Docker. In both cases you will need a Linux machine.

Building on MacOS, even with Docker, is possible but not currently supported

$ git clone [email protected]:gravitational/gravity.git
$ cd gravity

# Running 'make' with the default target uses Docker.
# The output will be stored in build/current/
$ make

# If you have Go 1.10+ installed, you can build without Docker which is faster.
# The output will be stored in $GOPATH/bin/
$ make install

# To remove the build artifacts:
$ make clean

Known Issues

While the code is open source, we’re still working on updating the documentation to reflect the differences between the proprietary and community/OSS editions of the software. We are also working on providing open source users with pre-built binaries on a regular basis.

Gravity Enterprise & Community

Gravity is available through our commercial Enterprise offering or the Community open source, Apache 2.0 licensed, software.

Gravity Enterprise

Gravity Enterprise enhances Gravity Community, the open-source Kubernetes packaging solution, to meet security and compliance requirements. It is trusted by some of the largest enterprises in software, finance, healthcare, security, telecom, government, and other industries.

Demo Gravity Enterprise

Gravity Community

Gravity Community is an upstream Kubernetes packaging solution that takes the drama out of on-premises deployments. Gravity Community is open-source software that anyone can download and install for free.

Download Gravity Community

This site uses cookies to improve service. By using this site, you agree to our use of cookies. More info.