<a id="howto-member-add"></a>

# How to add a cluster member to an existing MicroCloud

A MicroCloud cluster can consist of up to fifty cluster members. These can be added during [initialization](https://canonical.com/microcloud/docs/default/how-to/initialize/index.html.md#howto-initialize) as well as at any time afterward, up to this limit.

## Interactive configuration

To add a cluster member to a MicroCloud, run the **microcloud add** command on one of the existing cluster members:

```bash
sudo microcloud add
```

On the machine you want to add to the cluster, run the **microcloud join** command:

```bash
sudo microcloud join
```

Answer the prompts on both sides to add the cluster member.

## Non-interactive configuration

To automate adding a cluster member, provide a preseed configuration in YAML format to the **microcloud preseed** command:

```bash
cat <preseed_file> | microcloud preseed
```

In the list of systems, include only the new machine and set either `initiator` or `initiator_address`, which can point to any machine
that is already part of the MicroCloud.

Distribute and run the same preseed configuration on both the machine being added, and the cluster member used for the `initiator` or `initiator_address`.
See the [full reference](https://canonical.com/microcloud/docs/default/reference/preseed/index.html.md#ref-preseed-full-configuration-example) for possible configuration options or the minimal example below.

### Minimal preseed using multicast discovery

You can use the following minimal preseed file to add another machine to an existing MicroCloud.
In this case `micro01` takes over the role of the initiator.
Multicast discovery is used to find the existing MicroCloud on the network:

The disk `/dev/sdb` will be used for the machine’s local storage pool.
The already existing remote storage pool will be extended with `/dev/sdc`:

```yaml
lookup_subnet: 10.0.0.0/24
initiator: micro01
session_passphrase: foo
systems:
- name: micro04
  ovn_uplink_interface: eth1
  storage:
    local:
      path: /dev/sdb
    ceph:
      - path: /dev/sdc
```

Run the **microcloud preseed** command on `micro01` and `micro04` to add the new cluster member.
