Gravity is an open source tooklit for packaging Kubernetes applications for running in remote, restricted and regulated environments, i.e. environments an application developer may not even have access to.
Gravity packages an entire Kubernetes cluster including the applications
running inside, into a single deployable file. The resulting file is called
a cluster image and it is just a
A cluster image can be used in two ways.
Gravity has a narrow focus on packaging, deploying and updating Kubernetes applications in restricted, regulated and remote envrionments, i.e. environments an application developer may not have direct access to, when traditional CI/CD is not applicable. Some examples of Gravity usage include:
Traditional Kubernetes distributions aim to be flexible, general purpose platforms. They follow the traditional cloud-native approach of deploying Kubernetes, i.e. as a layer on top of infrastructure and usually require an active ongoing management.
Gravity packages Kubernetes itself, as well as all of its dependencies and even SSH access into an application itself, allowing developers to make no assumptions about the target infrastructure. If there’s already a Kubernetes cluster on-site, Gravity will deploy and update application in it. But if there is not, Gravity will create a cluster from scratch. This enables true application portability.
A Cluster Image produced by Gravity includes:
A cluster image 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.
A cluster image can be quite large, because it contains everything an application needs to be deployed on a “clean” infrastructure, but they also be quite small, if a developer only packages an application update from a previous version.
Each cluster provisioned with Gravity includes the built-in SSH/Kubernetes gateway called Teleport. Teleport provides the following benefits:
kubectlcommands executed on cluster nodes.
The Gravity Community Edition is open-sourced under Apache 2.0 license and can be found on Github.
In the cloud, self-hosted, or open source