# Prerequisites

## Kubernetes concepts

This tutorial assumes you have a basic knowledge of containers and Kubernetes concepts such as [Objects](https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/), [Pods](https://kubernetes.io/docs/concepts/workloads/pods/pod/), [PersistentVolumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/), and so on. In addition, some of the use cases for operators are mentioned in this tutorial, but you should read the [CoreOS documentation](https://coreos.com/operators/) for a more in-depth explanation of what they are and why they are useful.

## kubectl

[Follow these instructions](https://kubernetes.io/docs/tasks/tools/install-kubectl/) to install `kubectl` on the host used to control and manage your cluster.

## Host requirements

Cluster deployments must be on hosts that satisfy SingleStore’s hardware and software requirements. Specifically, the following requirements must be met on all hosts:

* Red Hat OpenShift Container Platform 4.x+
* Kubernetes versions 1.19 through 1.35
  > **📝 Note**: For supported deployments on AWS, Azure, or GCP, please use [SingleStore Helios](https://www.singlestore.com/pricing/).A [Helm chart](https://github.com/singlestore-labs/singlestore-helm/blob/main/singlestore/README.md) is available for deploying SingleStore clusters via a Kubernetes operator. Please note that the code in this repository is for experimental use only and is not fully tested, documented, or supported by SingleStore. Visit the [SingleStore Forums](https://www.singlestore.com/forum/) for questions about, and support for, this repository.
* Physical or virtual machines with the following:

  * The number of vCPUs, the amount of RAM, and the size of the persistent cache will vary based on the license version used to deploy SingleStore. Refer to [General](https://docs.singlestore.com/db/v9.1/introduction/faqs/general.md) for more information.
  * Running Linux kernel 3.10 or later and either an `xfs` or `ext4` filesystem
  * Each SingleStore Pod needs to be able to communicate with other SingleStore Pods in the same cluster over port 3306
  * The Kubernetes worker nodes/host systems must meet the specified system requirements as outlined in our [System Requirements and Recommendations](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/cluster-configuration/system-requirements-and-recommendations.md) documentation.

Refer to [Set System Requirements](https://docs.singlestore.com/db/v9.1/reference/singlestore-operator-reference/set-system-requirements.md) for more information on how to configure hosts with a Kubernetes DaemonSet.

## Host recommendations

Consideration should be given to future expansion needs. SingleStore recommends that `allowVolumeExpansion` is set to `true` to enable future storage size increases. Refer to the [Kubernetes documentation](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims) for more information.

## Docker Container Repository (Optional)

If your container registry is internal and you cannot access Docker Hub, you can pre-load the following images into your local container repository.

## Operator Container

* <https://hub.docker.com/r/singlestore/operator>

## SingleStore Node Container

* [https://hub.docker.com/r/singlestore/node](http://hub.docker.com/r/singlestore/node)

## SingleStore Tools Container

* <https://hub.docker.com/r/singlestore/tools>

***

Modified at: July 25, 2023

Source: [/db/v9.1/deploy/kubernetes/prerequisites/](https://docs.singlestore.com/db/v9.1/deploy/kubernetes/prerequisites/)

(An index of the documentation is available at /llms.txt)
