Banzai Cloud Pipeline supports multiple Kubernetes distributions and Kubernetes versions on multiple providers (see the detailed list).

Prerequisites 🔗︎

  1. To create and manage clusters at a cloud provider (for example, Amazon AWS or Google Cloud Platform), you need to prepare an access key at the provider with the proper privileges. For details, see the provider-specific sections of this chapter, for example, EKS.
  2. Add the credentials created in the previous step to Pipeline’s secret store. For details, see Creating secrets in Pipeline.

Create new cluster 🔗︎

  1. Make sure that you have completed the Prerequisites, and that the secret has the privileges required to create new clusters.

  2. Log in to Pipeline.

  3. Navigate to Main Menu > Cluster Management and click CREATE. Cluster management

  4. Select the provider you want to use.

    • To use a specific provider, click the provider you want to use.
    • Pipeline can recommend alternatives from multiple providers. To use this, click Recommend the most cost-effective cloud. For details on how cluster recommendation works, see Cluster recommendation.
    • To import an existing cluster from a provider, click Import cluster. For details, see Import your existing Kubernetes cluster.

    Select provider

  5. Select the Kubernetes distribution and geographic regions you want to consider: Pipeline will recommend you a cluster infrastructure based on the parameters you provide. You can use the managed offering of the provider, or Banzai Cloud PKE, our CNCF certified Kubernetes distribution.

    Provide required cluster resources

  6. (Optional) If you want to use spot (also called preemptive) instances of your provider to reduce the costs of the cluster, set the Tolerance for spot risk field.

  7. Set the cluster resources (CPU and memory) you need.

  8. (Optional) If you want a cluster with specific network bandwidth, nodes from a specific instance family (for example, compute optimized), or adjust the number of nodes in the cluster, click ADVANCED SETTINGS and configure these parameters to suit your needs.

    Setting networking, instance families, and number of nodes

  9. Click GET RECOMMENDATION.

  10. Based on the information you have provided so far, Pipeline recommends possible cluster layouts, with startup time and cost estimates. Select the most suitable for you, then click NEXT. Select cluster layout

  11. Pipeline displays the details of the node pools (number of VCPUs and memory, instance type, and so on).

    • To add labels to a node, click Details > Add labels.
    • To delete an unneeded node, click Details > Delete.
    • To add additional node pools to the cluster, click ADD NEW NODE POOL.

    Adjust node pools

  12. Set the name of the cluster (so you can find it easily later on the Cluster Management page), and select which Kubernetes version you want to run on the cluster, then click NEXT. Select Kubernetes version

  13. Review the settings of the cluster.

    Cluster overview

  14. Pipeline starts to create the cluster. Depending on your provider, this can take several minutes. Some combinations may even need up to an hour, but please, be patient. Deleting cloud resources managed by Pipeline may cause an inconsistent state and resource leaks.

  15. You can start using your cluster, for example, deploy applications or configure other Pipeline features.

Create new cluster from the CLI 🔗︎

  1. Make sure that you have completed the Prerequisites, and that the secret has the privileges required to create new clusters.

  2. Log in to Pipeline.

  3. Prepare a JSON file with the options and parameters of the cluster you want to create. For details, examples, and the most common options of the different providers, see the provider-specific sections of this chapter, for example, EKS or GKE.

  4. Create the cluster by running the following command:

    banzai cluster create --file <path-to-JSON-file>
    
  5. Pipeline starts to create the cluster. Depending on your provider, this can take several minutes.

    To check the status of the cluster, run the following command:

    banzai cluster get "<cluster-name>"
    

    Once the cluster is ready, you can try to run some simple commands. banzai cluster shell executes a shell within the context of the selected cluster. If you type a command in the shell opened, or pass arguments to it, it will be executed in a prepared environment. For example, you can list the nodes of the cluster using the original kubectl command by running:

    banzai cluster shell --cluster-name "<cluster-name>" -- kubectl get nodes
    
  6. You can start using your cluster, for example, deploy applications or configure other Pipeline features.

Further reading 🔗︎

Check the provider support section for a comparison of available distributions.