# Exoscale Documentation — Dedicated Hypervisors

> Exoscale Dedicated Hypervisors documentation for isolated compute hosts, performance, security, and lifecycle management.

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/

---

# Dedicated Hypervisors

- [Quick Start - Dedicated Hypervisors](https://community.exoscale.com/product/compute/dedicated-hypervisors/quick-start/index.md) - Get started quickly with a guided setup to achieve your first successful use of the service, including the required steps and configuration.
- [Overview - Dedicated Hypervisors](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md) - Terminology and key features at a glance, learn the core concepts, capabilities, and options of this service before you dive deeper.
- [How-To - Dedicated Hypervisors](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/index.md) - Step-by-step guides to configure the service and use specific features, with clear instructions for common tasks and problem solving.
- [Service Boundaries - Dedicated Hypervisors](https://community.exoscale.com/product/compute/dedicated-hypervisors/service-boundaries/index.md) - Service boundaries: quotas, limits, and the guaranteed service levels (SLA) for this product, including key constraints to plan and operate reliably.
- [Reference - Dedicated Hypervisors](https://community.exoscale.com/product/compute/dedicated-hypervisors/reference/index.md) - Dedicated Hypervisors use the standard Exoscale Compute API, CLI, and tooling. Browse deployment target references, parameters, commands, and integration notes.

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/quick-start/

---

# Quick Start - Dedicated Hypervisors

In this quick start guide, you will create and access your first instance (sometimes referred to as a virtual machine or VM) on your dedicated Hypervisor. 

## Prerequisites

Before you create an instance on a Dedicated Hypervisor, make sure the following requirements are met:

- **Exoscale account access**  
  You need access to an Exoscale organization where Dedicated Hypervisors have been provisioned.

- **Assigned Deployment Target**  
  Exoscale must have provisioned your dedicated resources and assigned a [Deployment Target](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md#deployment-target) to your organization. Without an assigned Deployment Target, you cannot launch instances on your Dedicated Hypervisors.

- **Exoscale CLI**  
  Install the latest version of the Exoscale [CLI](https://community.exoscale.com/tools/command-line-interface/index.md) for macOS, Linux, or Windows.

- **API Key**  
  Configure the CLI with your Exoscale API credentials by running `exo config`.

- **Familiarity with Compute Instances**  
  Dedicated Hypervisor instances are created and managed like standard Compute Instances. If you are new to Exoscale Compute, follow the [Compute Quick Start guide](https://community.exoscale.com/product/compute/instances/quick-start/index.md).

- **SSH access**  
  To connect to Linux instances, set up an SSH key pair by following the [SSH key pairs guide](https://community.exoscale.com/product/compute/instances/how-to/ssh-keypairs/index.md). This step can be skipped for Windows instances.
  
- **Network access**  
  Configure the required network access with [Security Groups](https://community.exoscale.com/product/networking/security-group/index.md) and note the relevant Security Group IDs.
  

## First Steps via CLI

### Confirm deployment target
A [Deployment Target](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md#deployment-target) is a virtual abstraction layer that allows you to provision Compute Instances onto dedicated hypervisors.

Run the following command with valid credentials for the target account, be sure to use the correct [Zone](https://community.exoscale.com/platform/dc-zones/index.md#building-around-the-zone-concept):

```bash
exo api list-deploy-targets  --zone=ch-gva-2 
```

  <details>

  <summary>Example output</summary>

  

  ```bash
  exo api list-deploy-targets  --zone=ch-gva-2 
  {
    "deploy-targets": [
    {
      "description": "dedicated resources group",
      "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
      "name": "Dedicated-ch-gva-coe",
      "type": "dedicated"
    }
  ]
  }

  ```

  </details>


### Confirm current instances on your Deployment target
  
Run the following command to view the current allocation of your cluster, replacing the DeployTarget with the ID returned in the previous command. Ensure you select the correct [Zone](https://community.exoscale.com/platform/dc-zones/index.md#building-around-the-zone-concept).

```bash
exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2

```

<details>
<summary>Example output</summary>

```bash

exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2

{
  "allocation": [
    {
      "hypervisor": {
        "id": "b3c8f2a1-6d4e-419a-9e7b-c3f2b8a1d4e0",
        "name": "virt-hv416.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "7f9a1c3e-5b8d-426f-bd02-a4e7c1f8d3b6",
          "name": "stg-mock-lon-core-gw-vpn-002"
        },
        {
          "id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
          "name": "prod-k8s-nyc-worker-eth-005.internal.mock-corp.com"
        }
      ]
    },
    {
      "hypervisor": {
        "id": "f8e7d6c5-b4a3-4210-9f8e-7d6c5b4a3f2e",
        "name": "virt-hv731.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "ad4c5e6f-7a8b-49c0-be1f-2a3b4c5d6e7f",
          "name": "node-atlas-1234.c-cloudy-river-9876.ams.taur.mockmanaged.net"
        },
        {
          "id": "6b7c8d9e-0f1a-42bc-ad3e-4f5a6b7c8d9e",
          "name": "prod-k8s-nyc-worker-solana-002.internal.mock-corp.com"
        }
      ]
    }
  ],
  "description": "dedicated resources group",
  "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
  "name": "Dedicated-ch-gva-2",
  "type": "dedicated"
}
```
</details>

### Create Your Instance

With the above information, you will be able to launch your instance using the CLI:

```bash
exo compute instance create testInstance001  --deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --security-group 2b1ed953-0ce2-4662-9a74-c9f26b310f38
```

<details>

<summary>Example output</summary>

  

```bash
exo compute instance create testInstance001
 ✔ Creating instance "testInstance001"... 24s
┼─────────────────────────────────────────┼──────────────────────────────────────┼
│            COMPUTE INSTANCE             │                                      │
┼─────────────────────────────────────────┼──────────────────────────────────────┼
│ ID                                      │ 8be57fff-10b9-4a15-a20d-6493b517324d │
│ Name                                    │ testInstance001                      │
│ Creation Date                           │ 2026-06-19 12:47:29 +0000 UTC        │
│ Instance Type                           │ standard.medium                      │
│ Template                                │ Linux Ubuntu 22.04 LTS 64-bit        │
│ Zone                                    │ ch-gva-2                             │
│ Anti-Affinity Groups                    │ n/a                                  │
│ Deploy Target                           │ c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 │
│ Security Groups                         │ testsecuritygroup                    │
│ Private Instance                        │ No                                   │
│ Private Networks                        │ n/a                                  │
│ Elastic IPs                             │ n/a                                  │
│ Public IP                               │ inet4                                │
│ IP Address                              │ 92.39.60.52                          │
│ IPv6 Address                            │ -                                    │
│ SSH Key                                 │ -                                    │
│ Disk Size                               │ 50 GiB                               │
│ State                                   │ running                              │
│ Labels                                  │ n/a                                  │
│ Secure Boot                             │ false                                │
│ Tpm                                     │ false                                │
│ Reverse DNS                             │                                      │
│ Application-Consistent Snapshot enabled │ false                                │
┼─────────────────────────────────────────┼──────────────────────────────────────┼
```

</details>



In this example, we have added [Security Group](https://community.exoscale.com/product/networking/security-group/index.md), but you can add further options such as [Anti-Affinity Groups](https://community.exoscale.com/product/compute/instances/how-to/anti-affinity/index.md) or [Cloud-Init and User Data](https://community.exoscale.com/product/compute/instances/how-to/cloud-init-user-data/index.md).

### Check the instance is running where you intended

Run the following command to check the instance had landed on your dedicated hypervisor. 

```bash
exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2
```

<details>
<summary>Example output</summary>

```bash

exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2

{
  "allocation": [
    {
      "hypervisor": {
        "id": "b3c8f2a1-6d4e-419a-9e7b-c3f2b8a1d4e0",
        "name": "virt-hv416.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "7f9a1c3e-5b8d-426f-bd02-a4e7c1f8d3b6",
          "name": "stg-mock-lon-core-gw-vpn-002"
        },
        {
          "id": "8be57fff-10b9-4a15-a20d-6493b517324d",
          "name": "testInstance001"
        },
        {
          "id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
          "name": "prod-k8s-nyc-worker-005.internal.mock-corp.com"
        }
      ]
    },
    {
      "hypervisor": {
        "id": "f8e7d6c5-b4a3-4210-9f8e-7d6c5b4a3f2e",
        "name": "virt-hv731.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "ad4c5e6f-7a8b-49c0-be1f-2a3b4c5d6e7f",
          "name": "node-atlas-1234.c-cloudy-river-9876.ams.mockmanaged.net"
        },
        {
          "id": "6b7c8d9e-0f1a-42bc-ad3e-4f5a6b7c8d9e",
          "name": "prod-k8s-nyc-worker-002.internal.mock-corp.com"
        }
      ]
    }
  ],
  "description": "dedicated resources group",
  "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
  "name": "Dedicated-ch-gva-2",
  "type": "dedicated"
}
```

</details>

If you review the output, we can see that this instance is now running on virt-hv416.gv2.p.exoscale.net in the Geneva Zone.

### Access the Instance

- **SSH Access**  
  Now your instance is running, you can access and manage it using SSH as appropriate using the SSH Key you set up during the Prerequisites.
- **RDP Access**  
  For non domain joined Windows instances, you can get the password for the Local user "Administrator" using the following Exoscale CLI command `exo compute instance reveal-password InstanceID -z ZONE`.


## First Steps via Portal 

Currently, this product cannot be used via the Exoscale Portal, it's CLI only.

## Next Steps 

Learn more about the Exoscale Dedicated Hypervisor architecture and concepts in the
[Overview](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md). For advanced usage check the
[How-To](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/index.md) section.

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/

---

# Overview - Dedicated Hypervisors

## Architecture

Exoscale Dedicated Hypervisors provide single-tenant compute capacity through a [Deployment Target](#DeploymentTarget). This allows you to launch instances on hardware that runs only your instances and the Exoscale hypervisor.

Below is a sample setup for a customer called "ACME Corp", running four instances across two dedicated hypervisors.

![](ded-hyp-diagram.png "Overall Dedicated Hypervisor Architecture Diagram")

This product is designed for workloads that require dedicated hardware isolation, including use cases with specific licensing, compliance, or regulatory requirements.

You can deploy and manage your virtual machines using the same [CLI](https://community.exoscale.com/tools/command-line-interface/index.md) and [APIs](https://community.exoscale.com/reference/api/compute/index.md) as standard [Compute Instances](https://community.exoscale.com/product/compute/instances/index.md), while benefiting from single-tenant access to the underlying CPU, memory, and storage resources.

You can also make use of the same features detailed in the  [Compute howto section ](https://community.exoscale.com/product/compute/instances/how-to/index.md).

### Available configurations

Dedicated Hypervisors are offered in a set of predefined configurations, combining GPU, CPU, memory, and local storage. These configurations are designed to cover common workload profiles, from balanced compute to storage-intensive use cases.

The values listed below indicate the usable capacity.

#### Standard Hypervisors

Indicative balanced configurations for general purpose workloads.

| vCPU | RAM (GB) | Local Storage (GB) |
| ------ | ---------- | -------------------- |
| 96 | 464 | 6912 |
| 144 | 704 | 10368 |

> [!NOTE]
> * Configurations may vary depending on the hardware generation and Zone.  

#### Storage Optimized Hypervisors

Indicative configurations with significantly higher local storage capacity, suitable for data intensive workloads.

| vCPU | RAM (GB) | Local Storage (GB) |
| ------ | ---------- | -------------------- |
| 96 | 464 | 27540 |
| 144 | 704 | 41472 |

> [!NOTE]
> * Configurations may vary depending on the hardware generation and Zone.  

#### GPU Dedicated Hypervisors

GPU-enabled Dedicated Hypervisors provide exclusive access to GPU resources with full host-level isolation. These configurations are designed for AI, machine learning, rendering, and high-performance workloads.

| GPU Model | GPUs | vCPU | RAM (GB) | Notes |
| ----------- | ------ | ------ | ---------- | ------- |
| [RTX Pro 6000](https://www.exoscale.com/gpu/rtx6000/) | 8 | 288 | 960 | Blackwell generation GPU designed for large-scale inference, LLM workloads, and high-throughput AI services |
| [A5000](https://www.exoscale.com/gpu/a5000/) | 6 | 64 | 336 | Versatile GPU for inference, fine-tuning, rendering, and simulation workloads |
| [A40](https://www.exoscale.com/gpu/gpu3/) | 8 | 96 | 448 | GPU optimized for inference, batch processing, and visualization workloads |
| [RTX 3080 Ti](https://www.exoscale.com/gpu/3080ti/) | 6 | 64 | 336 | Cost-efficient GPU for smaller inference workloads, experimentation, and rendering |


> [!NOTE]
> * Configurations may vary depending on the hardware generation and Zone.  
> * GPU Dedicated Hypervisors are only available in selected zones and are subject to capacity constraints.
> * Available GPU models, configurations, and hardware generations may vary by Zone.
> * For detailed availability or specific requirements, please open a [Support Ticket](https://portal.exoscale.com/tickets) or contact Exoscale
> Sales via our [contact form](https://www.exoscale.com/contact/).


### Working with availability requirements

When considering Dedicated Hypervisors, it is advised to always order N+1 units of the same type
in order to help maintain availability during standard operations. In the contrary situation, for
a proactive maintenance happening on a specific Dedicated Hypervisor, then the workload will not
not be migrated and will require a shutdown during the time of the maintenance. Refer to our the
product [SLA](https://community.exoscale.com/product/compute/dedicated-hypervisors/service-boundaries/sla/index.md) for the modalities.

## Terminology

Understanding the basic terms used in Exoscale Dedicated Hypervisors will help you get up and
running quickly. 

Dedicated Hypervisor
: A Dedicated Hypervisor is the underlying host that powers Compute Instances on single-tenant infrastructure. It is reserved for use by one customer and is available in different configuration types, including Standard, Storage Optimized, and GPU.

<span id="DeploymentTarget">**Deployment Target**</span>
: A virtual abstraction layer that allows you to provision Compute Instances onto dedicated infrastructure using a specific Deployment Target ID. While a target can map to a single hypervisor, it most commonly encompasses a pool of multiple hypervisors. Both the deployment target and its underlying composition are fully configured, maintained, and managed by Exoscale. See the [Deployment Target API reference](https://community.exoscale.com/reference/api/compute/deploy-target/index.md).

## Features

Hardware Isolation
: Run instances on dedicated hardware that is isolated from other Exoscale Compute customers.

Rapid Deployment
: Launch virtual machines within seconds through the Exoscale Portal, CLI, or
  API.

Flexible Instance Types
: Choose from various instance families tailored to specific workloads.

Local SSD Storage
: All instances come with enterprise-grade local SSD RAID10 storage, ensuring
  high I/O performance and low latency.

Custom Templates & Snapshots
: Create and deploy instances using [custom templates](https://community.exoscale.com/product/compute/instances/how-to/custom-templates/index.md), and take [snapshots](https://community.exoscale.com/product/compute/instances/how-to/snapshot/index.md) for backups or cloning purposes.

Anti-Affinity Groups
: Distribute instances across different physical hypervisors to improve availability by using [Anti-Affinity Groups](https://community.exoscale.com/product/compute/instances/how-to/anti-affinity/index.md). Please note that the maximum size of your Anti-Affinity Group is limited by the total number of hypervisors available within your Deployment Target, and the limit of 8 instance per Anti Affintiy Group [whichever is lower].
  
vTPM and Secure Boot
: Enhance instance security with vTPM for TPM 2.0 support, enabling Windows BitLocker encryption. [Secure Boot](https://community.exoscale.com/product/compute/instances/how-to/bitlocker-windows/index.md) helps ensure that only signed operating system images are loaded.

Encryption at Rest
: Root volumes are transparently encrypted with AES-256 in XTS mode, with a unique key per volume. Encryption cannot be disabled. Learn more about [encryption at rest](https://community.exoscale.com/product/compute/instances/overview/index.md#encryption-at-rest).

Built-In IAM
: Use [Identity and Access Management](https://community.exoscale.com/product/security/iam/index.md) to control API key permissions with granular access policies.

Instance Pools
: Automatically manage groups of identical instances for high availability and scalability. Follow the [Dedicated Hypervisor Instance Pools guide](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/provision-instance-pool/index.md).


Get started using Exoscale Dedicated Hypervisor in the
[Quick-Start](https://community.exoscale.com/product/compute/dedicated-hypervisors/quick-start/index.md). For advanced usage check the
[How-To](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/index.md) section.

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/

---

# How-To - Dedicated Hypervisors

Step-by-step guides to configure the service and use specific features, with clear instructions for common tasks and problem solving.

- [Check Capacity](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/check-capcity/index.md) - Check Dedicated Hypervisor capacity with the Exoscale CLI by listing deploy targets, hosts, and running instances behind your deployment target.
- [Provision Dedicated Instance Pools](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/provision-instance-pool/index.md) - Learn how to provision and manage Dedicated Hypervisor instance pools with the Exoscale CLI, including deployment targets and lifecycle operations.
- [Provision Dedicated SKS Nodepools](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/provision-sks-nodepool/index.md) - Provision SKS nodepools on Dedicated Hypervisors with the Exoscale CLI, from deployment target setup to cluster management.

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/check-capcity/

---

# Check Capacity

 

> [!NOTE]
> You need to have a Dedicated Hypervisor behind a Deployment target to proceed. 

### Getting Started

Before starting, please note the following aspects and restrictions:

* Ensure that Exoscale Support has provisioned your dedicated resources and provided you with the relevant Deploy Target. *Without this you will not be able to launch instances on your dedicated Hypervisor.*
* Exoscale CLI - Download the latest (≥ v1.45) binary for macOS, Linux, or Windows from [GitHub](https://github.com/exoscale/cli/releases/latest).
* API Key/Secret - Configure via the [CLI](https://community.exoscale.com/tools/command-line-interface/index.md) with `exo config`. 

### Confirm Deployment Target

A [Deployment Target](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md#deployment-target) is a virtual abstraction layer that allows you to provision Compute Instances onto dedicated hypervisors.

Run the following command with valid credentials for the target account, be sure to use the correct [Zone](https://community.exoscale.com/platform/dc-zones/index.md#building-around-the-zone-concept):

```bash
exo api list-deploy-targets  --zone=ch-gva-2 
```

  <details>

  <summary>Example output</summary>

  

  ```bash
  exo api list-deploy-targets  --zone=ch-gva-2 
  {
    "deploy-targets": [
    {
      "description": "dedicated resources group",
      "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
      "name": "Dedicated-ch-gva-coe",
      "type": "dedicated"
    }
  ]
  }

  ```

  </details>



### Check the instances running on your Dedicated Hypervisor

Run the following command to check the following :

- Dedicated Hosts (Hypervisors) that are running behind the deployment target.
- Which instances (VM's) are running on those hosts. 

> [!NOTE]
> This command requires the Deployment Target ID from the previous step (in our example below we use Deployment Target ID
> c9a64f12-3ba7-4c19-bd93-61f2d84c3e55)

```bash
exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2
```

<details>
<summary>Example output</summary>

```bash

exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2

{
  "allocation": [
    {
      "hypervisor": {
        "id": "b3c8f2a1-6d4e-419a-9e7b-c3f2b8a1d4e0",
        "name": "virt-hv416.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "7f9a1c3e-5b8d-426f-bd02-a4e7c1f8d3b6",
          "name": "pool-willdemo-b01a8-hnuqt"
        },
        {
          "id": "8be57fff-10b9-4a15-a20d-6493b517324d",
          "name": "pool-willdemo-b01a8-jcoog"
        }
      ]
    },
    {
      "hypervisor": {
        "id": "f8e7d6c5-b4a3-4210-9f8e-7d6c5b4a3f2e",
        "name": "virt-hv731.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "ad4c5e6f-7a8b-49c0-be1f-2a3b4c5d6e7f",
          "name": "pool-willdemo-b01a8-pryrh"
        },
        {
          "id": "6b7c8d9e-0f1a-42bc-ad3e-4f5a6b7c8d9e",
          "name": "test-instance-002"
        }
      ]
    }
  ],
  "description": "dedicated resources group",
  "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
  "name": "Dedicated-ch-gva-2",
  "type": "dedicated"
}
```

</details>

If you review the output, we can see that there are 4 instances running across both the Hypervisors virt-hv731.gv2.p.exoscale.net and virt-hv416.gv2.p.exoscale.net in the Geneva Zone.

You can estimate your capacity by correlating:
- The placement information from `get-deploy-target`
- The list of instances and their service offering specifications for CPU, RAM, Disk and potential accelerators
- The Dedicated Hypervisors quantity, type and specifications contracted by your organization


## Next Steps 

Learn more about the Exoscale Dedicated Hypervisor architecture and concepts in the
[Overview](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md). For advanced usage check the
[How-To](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/index.md) section for other guides.

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/provision-instance-pool/

---

# Provision Dedicated Instance Pools

 

Exoscale __Instance Pools__ are a service to provision groups of identical
Compute instances automatically. You can define several instances in the pool, and the service will keep the required number up and running for you to achieve:

* __High availability__: using an Instance Pool ensures that the target quantity of instances is running.
* __Elasticity__: Instance Pools can be scaled up and down dynamically so the number of instances matches the actual load for better cost efficiency.
* __Hardware Isolation__: Full hardware isolation from other Exoscale Compute customers with used in combination with Dedicated Hypervisors.

> [!NOTE]
> You need to have a Dedicated Hypervisor behind a Deployment target to proceed. 

### Getting Started

Before creating an Instance Pool with Dedicated hosts, please note the following aspects and restrictions:

* Instance Pools and their managed Compute Instances cannot span multiple Exoscale zones. They cannot be migrated to another zone after being created. 
* Instance Pool member instances might have different types. Updating the instance type applies __only to new members__; existing members remain untouched.
* If an Instance Pool is referenced by a Network Load Balancer service, it
cannot be deleted.
* Ensure that Exoscale Support has provisioned your dedicated resources and provided you with the relevant Deploy Target. *Without this you will not be able to launch instances on your dedicated Hypervisor.*
* Exoscale CLI - Download the latest (≥ v1.45) binary for macOS, Linux, or Windows from [GitHub](https://github.com/exoscale/cli/releases/latest).
* API Key/Secret - Configure via the [CLI](https://community.exoscale.com/tools/command-line-interface/index.md) with `exo config`. 

> [!NOTE]
> You can create an Instance Pool from the Exoscale Portal, however to make use of your Deployment Target you will need to use
> the CLI.

### Confirm deployment target

A [Deployment Target](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md#deployment-target) is a virtual abstraction layer that allows you to provision Compute Instances onto dedicated hypervisors.

Run the following command with valid credentials for the target account, be sure to use the correct [Zone](https://community.exoscale.com/platform/dc-zones/index.md#building-around-the-zone-concept):

```bash
exo api list-deploy-targets  --zone=ch-gva-2 
```

  <details>

  <summary>Example output</summary>

  

  ```bash
  exo api list-deploy-targets  --zone=ch-gva-2 
  {
    "deploy-targets": [
    {
      "description": "dedicated resources group",
      "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
      "name": "Dedicated-ch-gva-coe",
      "type": "dedicated"
    }
  ]
  }

  ```

  </details>

### Create Instance Pool ###

> [!NOTE]
> You need to have created a [Security Group](https://community.exoscale.com/product/networking/security-group/index.md) should you wish to reference one here, as well as the relevant [SSH-Key](https://community.exoscale.com/product/compute/instances/how-to/ssh-keypairs/index.md)!

Here is an example of Instance Pool creation on your Deployment Target using the CLI:

```bash
exo compute instance-pool create web \
    --zone ch-gva-2 \
    --size 3 \
    --description "Web servers" \
    --instance-type medium \
    --template "Linux Ubuntu 20.04 LTS 64-bit" \
    --security-group web \
    --ssh-key william-demo \
    --ipv6 \
    --deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 \
```
<details>

  <summary>Example output</summary>

  

  ```bash
  exo compute instance-pool create web \

  --zone ch-gva-2 \

  --size 3 \

  --description "Web servers" \

  --instance-type medium \

  --template "Linux Ubuntu 20.04 LTS 64-bit" \

  --security-group web \

  --ssh-key william-demo \

  --deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 \

  ✔ Creating Instance Pool "web"... 30s
┼──────────────────────┼──────────────────────────────────────┼
│    INSTANCE POOL     │                                      │
┼──────────────────────┼──────────────────────────────────────┼
│ ID                   │ f7252176-54f8-47ed-8af1-9524db3b81e2 │
│ Name                 │ web                                  │
│ Description          │                                      │
│ Instance Type        │ standard.medium                      │
│ Template             │ Linux Ubuntu 22.04 LTS 64-bit        │
│ Zone                 │ ch-gva-2                             │
│ Anti-Affinity Groups │ n/a                                  │
│ Security Groups      │ web                                  │
│ Private Networks     │ n/a                                  │
│ Elastic IPs          │ n/a                                  │
│ IPv6                 │ false                                │
│ SSH Key              │ william-demo                         │
│ Size                 │ 3                                    │
│ Disk Size            │ 50 GiB                               │
│ Instance Prefix      │ pool-willdemo                        │
│ State                │ scaling-up                           │
│ Labels               │ n/a                                  │
│ Instances            │ pool-willdemo-b01a8-hnuqt            |
|                      | pool-willdemo-b01a8-jcoog            |
|                      │ pool-willdemo-b01a8-pryrh            |
┼──────────────────────┼──────────────────────────────────────┼

  ```

  </details>

### Check the instance is running where you intended

Run the following command to check the instance had landed on your dedicated hypervisor. 

```bash
exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2
```

<details>
<summary>Example output</summary>

```bash

exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2

{
  "allocation": [
    {
      "hypervisor": {
        "id": "b3c8f2a1-6d4e-419a-9e7b-c3f2b8a1d4e0",
        "name": "virt-hv416.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "7f9a1c3e-5b8d-426f-bd02-a4e7c1f8d3b6",
          "name": "pool-willdemo-b01a8-hnuqt"
        },
        {
          "id": "8be57fff-10b9-4a15-a20d-6493b517324d",
          "name": "pool-willdemo-b01a8-jcoog"
        }
      ]
    },
    {
      "hypervisor": {
        "id": "f8e7d6c5-b4a3-4210-9f8e-7d6c5b4a3f2e",
        "name": "virt-hv731.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "ad4c5e6f-7a8b-49c0-be1f-2a3b4c5d6e7f",
          "name": "pool-willdemo-b01a8-pryrh"
        },
        {
          "id": "6b7c8d9e-0f1a-42bc-ad3e-4f5a6b7c8d9e",
          "name": "test-instance-002"
        }
      ]
    }
  ],
  "description": "dedicated resources group",
  "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
  "name": "Dedicated-ch-gva-2",
  "type": "dedicated"
}
```

</details>

If you review the output, we can see that the instance pool is running 3 instances across both the Hypervisors virt-hv731.gv2.p.exoscale.net and virt-hv416.gv2.p.exoscale.net in the Geneva Zone.

### Managing Instance Pools

All management tasks associated with  are also avaliable using the same commands and are detailed in our [Instance Pools How To](https://community.exoscale.com/product/compute/instances/how-to/instance-pools/index.md)

## Next Steps 

Learn more about the Exoscale Dedicated Hypervisor architecture and concepts in the
[Overview](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md). For advanced usage check the
[How-To](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/index.md) section for other guides.
[Instance-Pools](https://community.exoscale.com/product/compute/instances/how-to/instance-pools/index.md)

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/provision-sks-nodepool/

---

# Provision Dedicated SKS Nodepools

In this guide, we will make use of your Dedicated Hypervisors to run [Nodepools](https://community.exoscale.com/product/compute/containers/overview/index.md#nodepools) for an [Exoscale Scalable Kubernetes Service (SKS)](https://community.exoscale.com/product/compute/containers/index.md) cluster, using your Dedicated Hypervisor. 

>[!NOTE]
> You need to have a Dedicated Hypervisor behind a Deployment target to proceed, if you are looking for SKS Nodepools on Shared Compute please follow [Nodepools](https://community.exoscale.com/product/compute/containers/overview/index.md#nodepools)

## Prerequisites

To interact with Exoscale SKS and the resulting Kubernetes cluster, the
following items are required:

* An Exoscale account with access to an organization where Dedicated Hypervisors have been provisioned
* The latest version of the Exoscale [CLI](https://community.exoscale.com/tools/command-line-interface/index.md)
* A [Deployment Target](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md#deployment-target) assigned to your organization. *Without this you will not be able to launch instances on your dedicated Hypervisor*.
* A Deployment Target in the same Zone where you plan to create the SKS cluster and its worker Nodepools

### Confirm deployment target

A [Deployment Target](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md#deployment-target) is a virtual abstraction layer that allows you to provision Compute Instances onto dedicated hypervisors.

Run the following command with valid credentials for the target account, be sure to use the correct [Zone](https://community.exoscale.com/platform/dc-zones/index.md#building-around-the-zone-concept):

```bash
exo api list-deploy-targets  --zone=ch-gva-2 
```

  <details>

  <summary>Example output</summary>

  

  ```bash
  exo api list-deploy-targets  --zone=ch-gva-2 
  {
    "deploy-targets": [
    {
      "description": "dedicated resources group",
      "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
      "name": "Dedicated-ch-gva-coe",
      "type": "dedicated"
    }
  ]
  }

  ```

  </details>

> [!NOTE]
> Make note of the Deployment Target ID, you will need it to proceed with the next steps. 


## Creating a Cluster from the CLI

> [!NOTE]
> If you have a pre-existing SKS cluster already, you can skip to [Managing NodePools on Existing Clusters](#managing-nodepools-on-existing-sks-clusters)

Creating a cluster can be done with the `exo compute sks create`
command, which creates a control plane. By default, the CNI Calico is
deployed on the cluster. The Exoscale Cloud Controller Manager (CCM) is
automatically wired for interaction with Exoscale IaaS.

Because Kubernetes is a clustered application, the control plane and the nodes
need to communicate. Useful ingress ports to have open in your security group before starting:

* 30000 to 32767 TCP from all sources for NodePort and LoadBalancer services
* 10250 TCP with the security group as a source

To create a new group like the above, you can use the CLI:

```bash
exo compute security-group create sks-security-group
```

```bash
exo compute security-group rule add sks-security-group \
    --description "NodePort services" \
    --protocol tcp \
    --network 0.0.0.0/0 \
    --port 30000-32767
```

```bash
exo compute security-group rule add sks-security-group \
    --description "SKS kubelet" \
    --protocol tcp \
    --port 10250 \
    --security-group sks-security-group
```

Depending on which CNI plugin you want to use, you will also need to open additional ports.

If using **Calico as CNI plugin** (default), you need to open:

* 4789 UDP with the security group as a source for VXLAN communication between nodes

```bash
exo compute security-group rule add sks-security-group \
    --description "Calico traffic" \
    --protocol udp \
    --port 4789 \
    --security-group sks-security-group
```

Then you can initiate the cluster:

> [!NOTE]
> You will need to make use of your Deployment Target ID (--nodepool-deploy-target) to create the nodepool on your Dedicated Hypervisors
> In our example below, we have used Deployment Target ID c9a64f12-3ba7-4c19-bd93-61f2d84c3e55, which you must replace with your own.

```bash
exo compute sks create my-test-cluster \
    --zone ch-gva-2 \
    --service-level pro \
    --nodepool-name my-test-nodepool \
    --nodepool-size 3 \
    --nodepool-security-group sks-security-group
    --nodepool-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55
```

<details>

  <summary>Example output</summary>

  

  ```bash
  exo compute sks create my-test-cluster \
    --zone ch-gva-2 \
    --service-level pro \
    --nodepool-name my-test-nodepool \
    --nodepool-size 3 \
    --nodepool-security-group sks-security-group
 ✔ Creating SKS cluster "my-test-cluster"... 21s
 ✔ Adding Nodepool "my-test-nodepool"... 36s
┼───────────────────┼──────────────────────────────────────────────────────────┼
│    SKS CLUSTER    │                                                          │
┼───────────────────┼──────────────────────────────────────────────────────────┼
│ ID                │ 758c9820-d142-44df-a779-9e2c7e612423                     │
│ Name              │ my-test-cluster                                          │
│ Description       │                                                          │
│ Zone              │ ch-gva-2                                                 │
│ Creation Date     │ 2026-06-19 17:51:03 +0000 UTC                            │
│ Auto-upgrade      │ false                                                    │
│ Enable kube-proxy │ true                                                     │
│ Endpoint          │ 758c9820-d142-44df-a779-9e2c7e612423.sks-ch-gva-2.exo.io │
│ Version           │ 1.36.0                                                   │
│ Service Level     │ pro                                                      │
│ CNI               │ calico                                                   │
│ Add-Ons           │ exoscale-cloud-controller                                │
│                   │ metrics-server                                           │
│ Audit Enabled     │ false                                                    │
│ Feature Gates     │                                                          │
│ State             │ running                                                  │
│ Labels            │ n/a                                                      │
│ Nodepools         │ a3b84add-907a-4c20-8557-57644db1b8e0 | my-test-nodepool  │
┼───────────────────┼──────────────────────────────────────────────────────────┼

  ```

  </details>

If using **Cilium as CNI plugin**, you need to open:

* 8472 UDP with the security group as a source for VXLAN communication between nodes
* 4240 TCP with the security group as a source for network connectivity health API (health-checks)
* PING (ICMP type 8 & code 0) with the security group as a source for health checks

```bash
exo compute security-group rule add sks-security-group \
    --description "Cilium (healthcheck)" \
    --protocol icmp \
    --icmp-type 8 \
    --icmp-code 0 \
    --security-group sks-security-group
```

```bash
exo compute security-group rule add sks-security-group \
    --description "Cilium (vxlan)" \
    --protocol udp \
    --port 8472 \
    --security-group sks-security-group
```

```bash
exo compute security-group rule add sks-security-group \
    --description "Cilium (healthcheck)" \
    --protocol tcp \
    --port 4240 \
    --security-group sks-security-group
```

Then, you can initiate the cluster, specifying Cilium as CNI plugin using the `--cni` flag:

> [!NOTE]
> You will need to make use of your Deployment Target ID (--nodepool-deploy-target) to create the nodepool on your Dedicated Hypervisors
> In our example below, we have used Deployment Target ID c9a64f12-3ba7-4c19-bd93-61f2d84c3e55, which you must replace with your own.

```bash
exo compute sks create my-test-cluster-cilium \
    --zone ch-gva-2 \
    --cni cilium \
    --service-level pro \
    --nodepool-name my-test-nodepool \
    --nodepool-size 3 \
    --nodepool-security-group sks-security-group
    --nodepool-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55
```

<details>

  <summary>Example output</summary>

  

  ```bash
  exo compute sks create my-test-cluster-cilium \
    --zone ch-gva-2 \
    --service-level pro \
    --nodepool-name my-test-nodepool-cilium \
    --nodepool-size 3 \
    --nodepool-security-group sks-security-group
 ✔ Creating SKS cluster "my-test-cluster"... 21s
 ✔ Adding Nodepool "my-test-nodepool"... 36s
┼───────────────────┼──────────────────────────────────────────────────────────┼
│    SKS CLUSTER    │                                                          │
┼───────────────────┼──────────────────────────────────────────────────────────┼
│ ID                │ fb9e942f-2709-42ab-bb83-493a0cb757ae                     │
│ Name              │ my-test-cluster                                          │
│ Description       │                                                          │
│ Zone              │ ch-gva-2                                                 │
│ Creation Date     │ 2026-06-19 17:59:01 +0000 UTC                            │
│ Auto-upgrade      │ false                                                    │
│ Enable kube-proxy │ true                                                     │
│ Endpoint          │ fb9e942f-2709-42ab-bb83-493a0cb757ae.sks-ch-gva-2.exo.io │
│ Version           │ 1.36.0                                                   │
│ Service Level     │ pro                                                      │
│ CNI               │ calico                                                   │
│ Add-Ons           │ exoscale-cloud-controller                                │
│                   │ metrics-server                                           │
│ Audit Enabled     │ false                                                    │
│ Feature Gates     │                                                          │
│ State             │ running                                                  │
│ Labels            │ n/a                                                      │
│ Nodepools         │ e6fde5ab-26da-484b-835e-5f1e0cd90fa4 | my-test-nodepool2 │
┼───────────────────┼──────────────────────────────────────────────────────────┼

  ```

  </details>


This `exo compute sks create` command starts a fully dedicated Kubernetes cluster
in your organization in the **Geneva** zone with the service level
**pro** and with **3** nodes.


Run the following command to check the instances have landed on your dedicated hypervisors. 

```bash
exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2
```

> [!NOTE]
> The instances starting with pool- are the ones that are part of our NodePool, we can see they have been spread across both Hypervisors. 


<details>
<summary>Example output</summary>

```bash

exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2

{
  "allocation": [
    {
      "hypervisor": {
        "id": "b3c8f2a1-6d4e-419a-9e7b-c3f2b8a1d4e0",
        "name": "virt-hv416.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "d3a4b9e2-51c0-4f93-8a21-9e73b40cc36a",
          "name": "pool-78506-mwpf"
        },
        {
          "id": "3f92e591-209c-4dbd-ba0a-74d15682bc8a",
          "name": "pool-78506-tochd"
        },
        {
          "id": "c830db7f-5aef-4f11-942b-e01fa8c35921",
          "name": "prod-web-nyc-worker-005.internal.mock-corp.com"
        }
      ]
    },
    {
      "hypervisor": {
        "id": "f8e7d6c5-b4a3-4210-9f8e-7d6c5b4a3f2e",
        "name": "virt-hv731.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "50b601e3-ea11-4835-ad44-24f6a5bce904",
          "name": "pool-78506-nnxph"
        },
        {
          "id": "e29548a3-97df-4f06-bd51-7f394cceab1c",
          "name": "prod-web-nyc-worker-002.internal.mock-corp.com"
        }
      ]
    }
  ],
  "description": "dedicated resources group",
  "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
  "name": "Dedicated-ch-gva-2",
  "type": "dedicated"
}
```

</details>



## Managing Nodepools on existing SKS Clusters

You can create, delete, update, or scale SKS nodepools at any time.

The `--nodepool` options on `exo compute sks create` are optional. 

You also add nodepools to an existing cluster by using the `exo compute sks nodepool add` command, we will combine this with the Deployment Target to have this nodepool run on your Dedicated Hypervisor. 

### Confirm Deployment target

A [Deployment Target](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md#deployment-target) is a virtual abstraction layer that allows you to provision Compute Instances onto dedicated hypervisors.

Run the following command with valid credentials for the target account, be sure to use the correct [Zone](https://community.exoscale.com/platform/dc-zones/index.md#building-around-the-zone-concept):

```bash
exo api list-deploy-targets  --zone=ch-gva-2 
```

  <details>

  <summary>Example output</summary>

  

  ```bash
  exo api list-deploy-targets  --zone=ch-gva-2 
  {
    "deploy-targets": [
    {
      "description": "dedicated resources group",
      "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
      "name": "Dedicated-ch-gva-coe",
      "type": "dedicated"
    }
  ]
  }

  ```

  </details>

> [!NOTE]
> Make note of the Deployment Target ID, you will need it to proceed! 


### Confirm target SKS Cluster ID

Run the following CLI Command and make note to the ID:

```bash
exo compute sks list

┼──────────────────────────────────────┼─────────────────┼──────────┼
│                  ID                  │      NAME       │   ZONE   │
┼──────────────────────────────────────┼─────────────────┼──────────┼
│ fb9e942f-2709-42ab-bb83-493a0cb757ae │ my-test-cluster │ ch-gva-2 │
┼──────────────────────────────────────┼─────────────────┼──────────┼
```

### Create a NodePool running on the Dedicated Hypervisors

Run the following CLI command, replacing sks-cluster-id and deploy-target with the IDs collected in the previous steps, nodepool-name should be replaced with a name of your choosing, the zone should be the zone there your deployment target is located.

exo compute sks nodepool add sks-cluster-id nodepool-name --deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone ch-gva-2


```bash
exo compute sks nodepool add fb9e942f-2709-42ab-bb83-493a0cb757ae dedicated-nodepool --deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone ch-gva-2
```

<details>

  <summary>Example output</summary>

  

  ```bash
  exo compute sks nodepool add fb9e942f-2709-42ab-bb83-493a0cb757ae dedicated-nodepool --deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone ch-gva-2       
 ✔ Adding Nodepool "dedicated-nodepool"... 1m19s
┼─────────────────────────┼──────────────────────────────────────┼
│      SKS NODEPOOL       │                                      │
┼─────────────────────────┼──────────────────────────────────────┼
│ ID                      │ d2c2a882-ccf9-439c-a3ac-1fd399e119d3 │
│ Name                    │ dedicated-nodepool                   │
│ Description             │                                      │
│ Creation Date           │ 2026-06-19 18:20:56 +0000 UTC        │
│ Instance Pool ID        │ 1117b6ff-908b-475e-bc35-7b2e7d8b6f9a │
│ Instance Prefix         │ pool                                 │
│ Instance Type           │ standard.medium                      │
│ Template                │ sks-node-1.36.0-standard             │
│ Disk Size               │ 50                                   │
│ Public IP Assignment    │ inet4                                │
│ IPv6                    │ false                                │
│ Anti Affinity Groups    │ n/a                                  │
│ Security Groups         │ n/a                                  │
│ Private Networks        │ n/a                                  │
│ Version                 │ 1.36.0                               │
│ Size                    │ 2                                    │
│ State                   │ running                              │
│ Taints                  │ n/a                                  │
│ Labels                  │ n/a                                  │
│ Add Ons                 │ n/a                                  │
│ Image GC Min            │ 2m                                   │
│ Image Gc Low Threshold  │ 80                                   │
│ Image Gc High Threshold │ 85                                   │
┼─────────────────────────┼──────────────────────────────────────┼
  ```

  </details>

> [!NOTE]
> Each nodepool can have different characteristics - such as Security Groups, Private Networks, instance type, disk size, Anti-Affinity Groups and so on - depending on the applications you want to run on them and your requirements. 

### Check a NodePool running on Dedicated Hypervisors

Run the following command to check the instances have landed on your dedicated hypervisors. 

```bash
exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2
```
> [!NOTE]
> The instances starting with "pool-" are the ones that are part of our NodePool, we can see they have been spread across both Hypervisors.

<details>
<summary>Example output</summary>

```bash

exo api get-deploy-target c9a64f12-3ba7-4c19-bd93-61f2d84c3e55 --zone=ch-gva-2

{
  "allocation": [
    {
      "hypervisor": {
        "id": "b3c8f2a1-6d4e-419a-9e7b-c3f2b8a1d4e0",
        "name": "virt-hv416.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "5a1e2820-1922-49b4-8632-68936504726e",
          "name": "pool-78506-mwpfm"
        },
        {
          "id": "0a45a64d-d12f-4e1f-8248-abbecc1f5084",
          "name": "pool-1117b-hanhg"
        }
      ]
    },
    {
      "hypervisor": {
        "id": "f8e7d6c5-b4a3-4210-9f8e-7d6c5b4a3f2e",
        "name": "virt-hv731.gv2.p.exoscale.net"
      },
      "instances": [
        {
          "id": "948f9a30-3a76-459a-b73d-3dd228696ef7",
          "name": "pool-ec61e-lgtuu"
        }
      ]
    }
  ],
  "description": "dedicated resources group",
  "id": "c9a64f12-3ba7-4c19-bd93-61f2d84c3e55",
  "name": "Dedicated-ch-gva-2",
  "type": "dedicated"
}
```

</details>


## Next Steps 

Learn more about the Exoscale Dedicated Hypervisor architecture and concepts in the
[Overview](https://community.exoscale.com/product/compute/dedicated-hypervisors/overview/index.md). For advanced usage check the
[How-To](https://community.exoscale.com/product/compute/dedicated-hypervisors/how-to/index.md) section for other guides.
[Simple Kubernetes Service](https://community.exoscale.com/product/compute/containers/how-to/index.md) further Kubernetes guides.

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/service-boundaries/

---

# Service Boundaries - Dedicated Hypervisors

- [Limits and Quotas - Dedicated Hypervisors](https://community.exoscale.com/product/compute/dedicated-hypervisors/service-boundaries/limits-and-quotas/index.md) - Dedicated Hypervisors Limitations and Quotas
- [SLA - Dedicated Hypervisors](https://community.exoscale.com/product/compute/dedicated-hypervisors/service-boundaries/sla/index.md) - Dedicated Hypervisors Service Level Agreement

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/service-boundaries/limits-and-quotas/

---

# Limits and Quotas - Dedicated Hypervisors

## Limits

Dedicated Hypervisors are available in different hardware generations, which may vary by Zone. GPU-enabled Dedicated Hypervisors are only available in Zones where the corresponding GPU resources are deployed. For detailed availability or specific requirements, please open a support ticket or [contact us](https://www.exoscale.com/contact/).

## Quotas

Dedicated Hypervisors are subject to account-level quotas and available capacity. Quotas define how many dedicated hypervisors or related resources can be allocated to an organization.

## Availability
Dedicated Hypervisors is available in all zones.

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/service-boundaries/sla/

---

# SLA - Dedicated Hypervisors

These product-specific SLAs define the Service Availability Target for Exoscale Dedicated Hypervisors. The SLA applies to each provisioned dedicated hypervisor. Capitalized terms used herein but not defined herein shall have the meanings set forth in the Exoscale Terms and Conditions or EUSA, whichever applies.


## SLA Definitions
| Metric | Target | Definition |
| -------- | -------- | ------------ |
| Dedicated Hypervisors Availability | >= 99.95% Monthly Uptime Percentage | The percentage of total minutes in a calendar month during which the dedicated hypervisor is available and operational for use. This objective ensures consistent access to the underlying compute capacity allocated exclusively to the Client. Availability is not considered impacted during notified proactive maintenance requiring host-level intervention or migration. |
| GPU Dedicated Hypervisor Availability | >= 99.95% Monthly Uptime Percentage | The percentage of total minutes in a calendar month during which GPU dedicated hypervisors are available and operational for use. Availability is not considered impacted during notified proactive maintenance requiring host-level intervention or migration. |


## Product Specifications
For detailed product features, technical specifications, and tutorials, please refer to the [Exoscale documentation](https://community.exoscale.com/product/compute/dedicated-hypervisors/index.md).


## Client Responsibilities
While Exoscale is responsible for the availability of the dedicated hypervisor infrastructure, the Client is responsible for all workloads and configurations running on top of it, including:

* Instance lifecycle management (creation, deletion, scaling).  
* Operating system, custom templates, applications, middleware, runtime environments, and dependencies.
* Data stored on the Instances, including data classification, retention, and deletion.
* Configuration and management of firewalls, security groups, networking rules, and exposed services.
* Identity and access management, including SSH keys, user accounts, associated roles and credentials.
* Client defined encryption and recovery keys. 
* Reviewing access, logs, and vulnerabilities.
* Backup strategy, snapshot usage, restore validation, and disaster recovery planning.
* Monitoring of resource usage, performance, and costs.

Snapshots and storage durability provided by Exoscale do not replace client managed backup and recovery processes. Clients are responsible for defining appropriate backup policies and regularly validating restore procedures.

The Service Level Agreement applies solely to Dedicated Hypervisors and GPU Dedicated Hypervisors availability as defined above and does not cover application performance, operating system behavior, data integrity, or Client workload configuration.

For a complete explanation of the shared responsibility framework between Exoscale and Clients, please see the [Exoscale Shared Responsibility Model documentation](https://community.exoscale.com/platform/compliance/shared-responsability-model/index.md). 


## Exclusions
No compensation shall be granted to the Client if the failure to comply with the Compute Service Level Objective is due to any of the following reasons:

* Unavailability or misconfiguration of components under the Client’s control, including instances, operating systems, applications, or workloads running on the dedicated hypervisor.

For the complete list of SLA exclusions, please refer to the [General Exoscale Terms and Conditions](https://www.exoscale.com/terms/).


## Retribution
The standard retribution and SLA credit schemes apply for this product as described under [General Exoscale Terms and Conditions](https://www.exoscale.com/terms/) or [EUSA](https://www.exoscale.com/eusa/) whichever applies. In the event that the Monthly Uptime Percentage for Exoscale Dedicated Hypervisors falls below the committed Service Level Objective, the Client will be eligible for service credits as follows:

| Monthly Uptime Percentage | Service Credit Percentage of Monthly Service Fees for Affected Resources |
| -------- | -------- |
| from 99.95% to 98.3% | 50% |
| below 98.3% | 100% |

### Claim Service Credit
To claim a Service Credit, open a support ticket in the Exoscale Portal within 10 business days of the incident. [More details](https://www.exoscale.com/terms/)

---

url: https://community.exoscale.com/product/compute/dedicated-hypervisors/reference/

---

# Reference - Dedicated Hypervisors

- [API Deployment Targets](https://community.exoscale.com/reference/api/compute/deploy-target/index.md) - Use the standard Compute API to manage Deployment Targets for placing instances on Dedicated Hypervisors. (external)
- [CLI Deployment Targets](https://community.exoscale.com/reference/cli/exo/compute/deploy-target/index.md) - Use the Exoscale CLI to manage Compute Deployment Targets for Dedicated Hypervisors. (external)
