IBM Cloud Docs
Creating and managing dedicated hosts on VPC Gen 2 infrastructure

Creating and managing dedicated hosts on VPC Gen 2 infrastructure

Virtual Private Cloud

Dedicated hosts are single-tenant managed hypervisors that can only be used to deploy IBM Cloud Kubernetes Service clusters.

Dedicated hosts, including those with instance storage, are available in Beta for allowlisted accounts only. Contact support for information about how to get added to the allowlist. Additionally, if you want to use dedicated hosts with instance storage, include this in your support case.

Setting up dedicated hosts in the CLI

To order dedicated hosts, you must first create a host pool. Then, you can create hosts in the pool.

Minimum required permissions
Administrator platform access role for the cluster in IBM Cloud Kubernetes Service.
  1. Review the available dedicated host flavors and make a note of the flavor class that you want to create your host pool with, for example bx2. Dedicated host flavors that include instance storage are indicated with the letter d in the fourth position of the name, for example bx2d-2x8. For more information about using instance storage, see Instance storage.

    ibmcloud ks dedicated flavors --zone ZONE --provider PROVIDER
    
  2. Create a dedicated host pool.

    ibmcloud ks dedicated pool create --flavor-class CLASS --metro METRO --name NAME
    
    --flavor-class CLASS
    The flavor-class of the dedicated host pool. To see available options, run the ibmcloud ks dedicated flavors command. Example: bx2.
    --metro METRO
    The metro to create the dedicated host pool in, such as dal or wdc.
    --name NAME
    The name of the dedicated host pool.
  3. Create at least one dedicated host in each zone where your workers reside.

    To improve redundancy, create more than one dedicated host in each zone where your workers reside.

    ibmcloud ks dedicated host create --flavor FLAVOR --pool POOL --zone ZONE 
    
    -- flavor FLAVOR
    The flavor of the dedicated host. To see available options, run ibmcloud ks dedicated flavors.
    -- pool POOL
    The name of the dedicated host pool where the dedicated host is added.
    --zone ZONE
    The zone to create the dedicated host in. For a list of available
  4. Create a cluster with your dedicated host. Or, add a worker pool in an existing cluster.

Removing worker nodes from a dedicated host in the CLI

To remove worker nodes from a dedicated host, you must disable dedicated host placement and then replace or remove the worker nodes. During replacement, when new worker nodes are created, they are only created on hosts with placement enabled.

  1. List your dedicated hosts and host pools. Make a note of the dedicated host and the dedicated host pool that you want to remove.

    ibmcloud ks dedicated host ls
    ibmcloud ks dedicated pool ls
    
  2. Disable dedicated host placement.

    ibmcloud ks dedicated host placement disable --host HOST --pool POOL 
    
    --host HOST
    The ID of the dedicated host to disable placement for.
    --pool POOL
    The ID of the dedicated host pool that the dedicated host is located in. To list dedicated host pools run ibmcloud ks dedicated pool ls.
  3. Replace or remove each worker node on the dedicated host.

    • Replace the worker nodes if you want to keep the same cluster capacity, but move the worker nodes off the dedicated host. During replacement, when new worker nodes are created, they are only created on hosts with placement enabled.
    • Remove the worker nodes if you are deleting your cluster or reducing capacity.
  4. Verify that your worker nodes are no longer on the dedicated host where placement is disabled. You can use the dedicated host get command to view the details of the host, including the worker nodes placed on it.

    ibmcloud ks dedicated host get --pool POOL --host HOST
    

Removing dedicated hosts in the CLI

Minimum required permissions
Administrator platform access role for the cluster in IBM Cloud Kubernetes Service.
  1. List your dedicated host pools. Make a note of the dedicated hosts that you want to remove and the dedicated host pool that the hosts are in.

    ibmcloud ks dedicated pool ls --pool POOL
    
  2. Replace or remove any worker nodes from the dedicated host you want to remove.

  3. Remove the dedicated host.

    ibmcloud ks dedicated host rm --host HOST --pool POOL [-q]
    
    --pool POOL
    The ID of the dedicated host pool that contains the dedicated host to delete. To list dedicated host pools run ibmcloud ks dedicated pool ls.
  4. Optional: Remove the dedicated host pool.

Removing dedicated hosts pools in the CLI

  1. Follow the steps in the previous sections to replace or remove each worker node on the dedicated host.

  2. After removing the worker nodes from the dedicate host, follow the steps to remove each dedicated host from the dedicated host pool.

  3. List your dedicated host pools and make a note of the pool that you want to remove.

    ibmcloud ks dedicated host pool ls
    
  4. Get the details of your dedicated host pool.

    ibmcloud ks dedicated pool get --pool POOL
    
  5. Get the details of each host in the pool and verify no worker nodes are placed on it.

    ibmcloud ks dedicated host get --pool POOL --host HOST
    
  6. Delete the dedicated host pool.

    ibmcloud ks dedicated pool rm ---pool POOL
    
  7. Verify the dedicated host pool is removed.

    ibmcloud ks dedicated pool get --pool POOL