Skip to main content
Version: 1.0.0

Cluster Customization

Zeet supports three distinct cluster types.

  1. Managed Clusters: These are clusters created from within Zeet, and managed entirely by Zeet. Managed clusters abstract away the techincal intricacies of Kubernetes and allows users to focus on building and deploying their Projects.

  2. Self-Managed Clusters: Self-managed clusters are those you operate and maintain independently. You can use these clusters in Zeet by uploading the Kubeconfig for your cluster.

  3. Ejected Clusters: While Zeet-managed clusters excel at simplifying the complexities of Kubernetes, Zeet also offers users the option of unmanaged, highly configurable clusters through Cluster Ejection, providing greater customization flexibility for those who wish to customize their Zeet-managed clusters.

Cluster Ejection

When you initiate the creation of a new cluster through Zeet, it is configured using a pre-defined template. This template is used by Zeet to setup essential infrastructure and services for your projects, such as Prometheus, Traefik, and the cluster infrastructure itself. By default, we manage these infrastructure components behind the scenes. Nevertheless, if you wish to tailor your cluster configuration for more advanced scenarios, we offer the option to expose these modules to you as Projects in your Zeet Dashboard, though a procedure we refer to as Cluster Ejection.

Once completed, you will be provided with the Terraform modules for your cluster in a GitHub repo. You are free to modify this template to fit your needs.

info

Please note that the Cluster Ejection process results in the addition of 1 to 3 active Projects to your Zeet dashboard. These Projects are billable and will incur normal Project rates if they exceed the 3 free Project limit.

How to initiate Cluster Ejection

To initiate Cluster Ejection for your cluster, please reach out to Zeet Support, detailing your requirements and the cluster you wish to eject. Once a request is submitted, we will acknowledge and complete the process within 3-4 business days.

PRO Feature

Cluster Ejection is only available for teams on the Zeet PRO Plan. For more information, please refer to our Pricing page or contact Zeet Support.

After Ejection

After Cluster Ejection, you'll receive a GitHub repository containing the cluster configuration template used to initialize your cluster. This template, implemented as a Terraform module, is deployed within your cluster as a Zeet Project. You can access it through the Zeet dashboard, and it will typically be categorized under the group zeet-infrastructure, alongside other infrastructure modules like Traefik and Prometheus.

Modifying Template Settings

You have the flexibility to adjust your cluster template settings by utilizing the Terraform Variables accessible within your Zeet Project. For instance, if you want to activate A100 GPUs for your cluster, simply update the enable_a100 Terraform variable from its default value of false to true.

Modifying Cluster Template

To understand the functionality of these Terraform variables and to customize the template itself, you can edit the Terraform module provided to you on GitHub. After making changes to the Terraform module on GitHub, it's important to note that you'll need to manually trigger a new workflow for your Terraform project in Zeet for the modifications to take effect.