Redpanda in Kubernetes
Kubernetes is a container orchestration tool that helps you to manage Redpanda cluster deployments using declarative configuration files called manifests. Kubernetes provides a standardized way of achieving the following:
-
High availability
-
Disaster recovery
-
Scalability
Redpanda Helm chart vs Redpanda Operator
Redpanda offers two tools for deploying Redpanda clusters in Kubernetes:
-
Redpanda Helm chart (recommended)
-
Redpanda Operator (not recommended for new deployments)
Redpanda recommends the Helm chart for all new deployments.
-
Redpanda Helm chart
-
Redpanda Operator
The Redpanda Helm chart generates and applies all the manifest files you need for deploying Redpanda on Kubernetes. For example:
-
StatefulSet
-
Headless ClusterIP Service
-
NodePort Service
You can deploy the Helm chart with the default settings, or customize the configuration by overriding the default values in your own YAML file with the --values
option or in the command line with the --set
option.
The Redpanda Operator extends Kubernetes by defining a custom resource definition (CRD) to represent Redpanda clusters as Kubernetes resources. The Redpanda Operator monitors Kubernetes for Redpanda resources, and it creates or updates Redpanda clusters to match the declarative specification in the CRD.
Redpanda does not recommend the Redpanda Operator for new deployments. The Redpanda Operator was built for Redpanda Cloud and has unique features and workflows for that specific use case. If you’re not already using the Redpanda Operator, use the Helm chart. |
The documentation for Redpanda Operator is provided only for existing users in the Reference section.
Managed vs bare-metal
You can run Redpanda on managed Kubernetes platforms as well as in bare-metal environments.
Managed Kubernetes
Managed Kubernetes platforms manage one or more components of a Kubernetes cluster for you. Several cloud computing providers offer products that provision Kubernetes clusters on their platform. For example, Google offers GKE and Amazon offers EKS.
Managed Kubernetes platforms do the following:
-
Maintain and update the control plane software
-
Monitor the health of master nodes and perform repairs, as needed.
You are responsible for deploying and maintaining your applications on the worker nodes. Managed Kubernetes platforms allow you to provision cloud instances to serve as worker nodes. These instances are pre-configured with the Kubernetes agent software and automatically join your Kubernetes cluster.
Get started
To get started, follow one of these guides:
-
Azure Kubernetes Service (AKS)
-
Google Kubernetes Engine (GKE)
-
Local (kind and Minikube)
Or, see the production deployment workflow.
Documentation conventions
The Kubernetes documentation follows these conventions:
-
Resource names: Kubernetes resources names, such as Service or PersistentVolume, are distinguished by the use of Pascal case. These are the names of resources when specified as a kind in manifest files.
-
Helm values: Helm values, such as
storage.persistentVolume.enabled
, are rendered in monospace font and written according to the JSON path specification.