> For the complete documentation index, see [llms.txt](https://docs.platform9.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.platform9.com/private-cloud-director/getting-started/getting-started-with-community-edition/prerequisites.md).

# Prerequisites

{% hint style="danger" %}
**Community Edition is not for production workloads.** Use it for labs, evaluation, and learning only.
{% endhint %}

## Quick Start Checklist

Use this if you want the minimum viable lab setup.

* [ ] Community Edition (CE) Host: [Ubuntu 24.04](https://cloud-images.ubuntu.com/releases/noble/release/) VM with 8 CPUs, 32GB RAM, 100+ GB free space
* [ ] Hypervisor host: [Ubuntu 24.04](https://cloud-images.ubuntu.com/releases/noble/release/) VM with 8+ CPUs, 16+ GB RAM, 100+ GB free space
* [ ] Both the CE host and hypervisor host(s) can reach the internet
* [ ] You can access both CE and the hypervisor(s) via SSH (port 22)
* [ ] You can access the CE host via HTTPS (port 443)
* [ ] Install Community Edition on the CE host (see [Install](/private-cloud-director/getting-started/getting-started-with-community-edition/install.md))

```bash
curl -sfL https://go.pcd.run | bash
```

## Detailed Prerequisites

Community Edition (CE) uses two system types:

* **CE host**: runs the control plane and web UI.
* **Hypervisor hosts**: run your VMs.

### Community Edition Host (CE Host)

This host runs the <code class="expression">space.vars.product\_name</code> control plane and web interface.

#### Operating system

* **Supported:** [Ubuntu 24.04 AMD64 cloud image](https://cloud-images.ubuntu.com/releases/noble/release/)
* **Not supported:** Minimal cloud image (missing required packages, such as `crontab`)
* **Other distributions:** Not supported by the installer

#### Sizing

* **CPU:** 8 logical CPUs, 12+ for Kubernetes workloads
* **RAM:** 28GB minimum, 32GB recommended
* **Disk:** 100GB minimum free space, SSD recommended
* **CPU architecture:** Intel Nehalem / AMD Bulldozer or newer (x86-64-v2)

#### Kubernetes management plane (optional)

If you enable the Kubernetes management plane during installation, the CE host requires:

| Resource | Minimum         | Recommended     |
| -------- | --------------- | --------------- |
| **CPU**  | 12 logical CPUs | 16 logical CPUs |
| **RAM**  | 32 GB           | 48 GB           |

The installer verifies the minimum requirements before proceeding. Disable the Kubernetes management plane to use the base CE host requirements.

#### Network

* **Internet access**
* **IPv6:** Must be enabled, but doesn't need an address
* **Firewalld:** Must be stopped and disabled (if installed)

```bash
# Stop the firewalld service
sudo systemctl stop firewalld
# Prevent it from starting on boot
sudo systemctl disable firewalld
```

<details open>

<summary>Ports and outbound access</summary>

**Ports open locally (CE host):**

* 443, 2379, 2380, 3306, 4194, 5395, 5672, 5673, 6264, 8023, 8158, 8285, 8558, 9080, 10250, 10255

**Outbound access:**

* TCP 53, 443
* UDP 53, 123

</details>

### Hypervisor Hosts

These hosts run your actual VMs.

#### Operating system

* **Supported:** [Ubuntu 24.04 AMD64](https://cloud-images.ubuntu.com/releases/noble/release/) cloud image
* **Not supported:** Minimal cloud image (missing required packages, such as `crontab`)
* **Other distributions:** Not supported by the installer

#### Sizing

* **CPU:** 8 logical minimum, 16+ recommended
* **RAM:** 16GB minimum, 32GB+ recommended
* **Disk:** 100GB minimum free space, 200GB+ recommended (shared storage is better)

#### Nested virtualization (if hypervisors are VMs)

If your hypervisor hosts run as VMs, nested virtualization must be enabled.

**VMware vSphere**

* For hypervisor hosts running as VMs on vSphere:
  * Enable hardware virtualization on the vCPUs before installing Ubuntu
  * Allocate at least 115GB thin-provisioned disk (to allow for 100+ GB free space after OS)
  * Accept promiscuous mode, MAC address changes, and forged transmits on the vSwitch (not at the port group!) to allow nested VMs running on the hypervisor VM to access the external network

**Proxmox**

* Enable CPU type "host" or "kvm64"
* Enable nested virtualization

{% hint style="info" %}
If hypervisor hosts are running as VMs, nested virtualization must be enabled and visible to the hypervisor host operating system.
{% endhint %}

#### Nested virtualization check

```bash
# Run this on the hypervisor host
egrep "svm|vmx" /proc/cpuinfo

# Should show output with vmx (Intel) or svm (AMD) flags
# No output = nested virtualization not enabled
```

### Storage Backend

You need shared storage for persistent VM disks and live migration. Ephemeral disks work without shared storage and are stored locally on each hypervisor host.

Options:

1. **NFS (Easiest for Testing)**
   * Minimum: 100GB+ available on NFS mount point
   * Best for: Lab environments, proof-of-concept
   * Performance: Good for testing, adequate for light workloads
2. **External Storage Array**
   * Minimum: Depends on your needs
   * Best for: dev/test environments, extended proof-of-concept
   * Performance: Excellent
3. **Local Storage**
   * Uses hypervisor local disk
   * Best for: Ephemeral VMs, temporary workloads
   * Limitation: VM live migration and VM HA are not supported

See [Storage Overview](/private-cloud-director/storage/storage-overview.md) for detailed configuration.

### Network Requirements

#### Default Kubernetes CIDRs

* Services: `10.21.0.0/16`
* Pods: `10.20.0.0/16`

{% hint style="info" %}
**Check for conflicts:** If your network uses these ranges, see [Custom Installation](/private-cloud-director/getting-started/getting-started-with-community-edition/custom-installation.md) to change them BEFORE installing.
{% endhint %}

#### Required external URLs

The CE installer must reach these endpoints. If you’re behind a firewall, whitelist them.

* `go.pcd.run` - Installer script
* `quay.io`, `registry.k8s.io` - Container images
* `github.com` - Software downloads
* `gcr.io` - Required if the Kubernetes management plane is enabled
* [Complete list](/private-cloud-director/getting-started/getting-started-with-community-edition/common-issues.md#required-ports-and-external-urls) of required ports and URLs

{% hint style="warning" %}
**Proxy environments:** The Kubernetes management plane can be installed in proxy environments, but provisioning Kubernetes clusters through it is not supported.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.platform9.com/private-cloud-director/getting-started/getting-started-with-community-edition/prerequisites.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
