# Creating a Cluster

## Introduction

To train AMESA agent systems on a cluster, you need to install the AMESA controller onto a compatible Kubernetes cluster.

This document will guide you through setting up this cluster using various options:

* Azure: Set up a cluster through our Azure Marketplace AMESA Training Cluster offer
* Automated: Set up a compatible Kubernetes cluster on Azure through the use of Pulumi (IaaS)
* Manually: Set up a compatible Kubernetes cluster through any tool and infrastructure of your choice

## Components

The entire AMESA controller installation consists of two main components:

* Controller: This component connects to the AMESA No-code ui, and allows you to initiate training on your cluster.
* Historian: The historian component records detailed statistics regarding the training process of your agent system. After training, these will be available alongside the agent system in the no-code UI

## RBAC

The installation of AMESA will introduce 2 namespaces, `composabl-train` and `composabl-sims`, for training workers and simulators respectively.

For normal operation, a series of permissions are required by the `ServiceAccount`s of the AMESA installation.

## Cluster Setup

We currently have the following guides to setting up your own cluster:

* [Azure](https://github.com/Composabl/documentation/blob/main/clusters/creating-a-cluster/azure-offer.md), our recommended way of setting up a training cluster
* [Automated](/clusters/creating-a-cluster/automated.md), which describes the use of Pulumi for setting up a compatible cluster on Azure
* [Manual](/clusters/creating-a-cluster/manual.md), if you're experienced in setting up a cluster, or have existing standard tooling for setting up kubernetes clusters


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.amesa.com/clusters/creating-a-cluster.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
