Overview

This guide will lead you through the process of getting started with a production instance of the Banzai Cloud Pipeline platform. After completing the steps, you will have an environment applicable for production requirements.

If you need an environment for evaluation, check the other quick start guides first.

The system will run all the components of Banzai Cloud Pipeline on a standard Kubernetes cluster of your choice.

Prerequisites

Before we start, there are a few items that you will need on the machine that will be used to manage the deployment (usually your laptop or a dedicated management machine).

  • MacOS or Linux (x86_64) — most of the native tooling around Kubernetes is for these platforms, so is ours
  • Banzai CLI tool — the installation process depends heavily on the Banzai CLI tool
  • Docker 18.09+ — the heavy lifting of the deployment is managed by a Docker container

Banzai CLI tool

The installation process depends heavily on the Banzai CLI tool, which you will anyway like to use for everyday tasks in the Banzai Cloud world.

The quickest way to install the banzai-cli package for your environment is to run the following command:

curl https://getpipeline.sh | sh

Alternatively you can use our packages for the most popular Linux distributions. You can install Banzai CLI on macOS directly with Homebrew: brew install banzaicloud/tap/banzai-cli. For more options, check our detailed Installation guide for Banzai CLI.

You will also need kubectl`, the command line tool for Kubernetes. The Homebrew formula for Banzai CLI takes care of installing it, but because most Linux distributions have outdated packages for kubectl, we recommend the following one-liner, or other options from the Kubernetes documentation:
curl https://getpipeline.sh | sh -s – kubectl.

Please make sure that your Banzai CLI is up-to-date.

Docker

The installer needs a recent version — at least 18.09 — of the Docker container engine. If you don’t already have it installed, follow the Docker docs for your platform.

Please note that the Docker daemon should be running, the docker command should be in the PATH, and the account used for the installation process should have the privileges needed to run containers (for Linux, check the post-installation steps).

In case of Docker for Mac, you will have to ensure that at least 3 CPU and 3 GiB of memory is allocated. You can check this on the Advanced tab of the Preferences window of Docker for Mac.

Infrastructure

You will need to provide a Kubernetes context that Banzai CLI can use to deploy Banzai Cloud Pipeline into. To have a highly available and durable installation, scale your cluster based on the following principles:

  • Have highly available Kubernetes control plane (at least three nodes in the etcd cluster, and two API servers behind HA load balancer).
  • Have at least two worker nodes that are ready to run Banzai Cloud Pipeline components, even if one of them breaks.
  • Allocate at least 8 CPU cores and 8 GiB memory for the components.
  • Take care of the durability and availability of the default storage class.

We assume that persistent volume claims for the default storage class, and load balancer service resources are fulfilled by an applicable controller.

You can choose from the following guides to create a PKE cluster at different providers:

The use of managed Kubernetes services like GKE may also be an option, but you will need to alter your kubeconfig to use inlined token or certificate authentication for a service account, because authorization helpers are not supported by the installer.

You should check that the cluster context is selected correctly in the shell you will use for the installation by issuing a command like kubectl get nodes.

You will also need to set a DNS CNAME or A record pointing to the load balancer service endpoint.

Install Banzai Cloud Pipeline

  1. Initialize the workspace for the configuration of the Banzai Cloud Pipeline you install:

    banzai pipeline init --provider=k8s
  2. Check the values file that will be used for the configuration (~/.banzai/pipeline/default/values.yaml by default, use the --workspace flag to change).

  3. Set a fully qualified domain name that you can create later as the externalHost key of the values file. If you want to customize the installation, check the advanced configuration section.

  4. To start the deployment, run:

    banzai pipeline up

    The installation will deploy the components of Banzai Cloud Pipeline to the Kubernetes cluster.

Logging in with Banzai CLI

Your Banzai Cloud Pipeline instance is ready for use!

If the installation was successful, the last few lines of the output contains a user name and password that can be used for logging in.

The installer will give instructions for setting up the DNS record for your installation.

At the end you can log in to the new Pipeline instance.

A browser window will show up, and you’ll be able to log in with the username and password from the output. After that, you can return to your console.

Next steps

To try the features of the platform, you will have to create a cluster first. To launch a PKE cluster in Amazon EC2, follow the Create a PKE cluster on AWS guide. Moreover, the advanced configuration section has specific guides and a detailed reference for the configuration of Banzai Cloud Pipeline.