:_mod-docs-content-type: ASSEMBLY
include::_attributes/common-attributes.adoc[]
[id="hcp-deploy-non-bm"]
= Deploying {hcp} on non-bare-metal agent machines
:context: hcp-deploy-non-bm

toc::[]

[role="_abstract"]
To maintain infrastructure flexibility while using existing virtualization layers, you can deploy {hcp} on non-bare-metal Agent machines. You can use the management benefits of the Agent platform when running on virtualized environments or other cloud-based virtual machines.

:FeatureName: {hcp-capital} on non-bare-metal agent machines
include::snippets/technology-preview.adoc[]

You can deploy {hcp} by configuring a cluster to function as a hosting cluster. The hosting cluster is an {product-title} cluster where the control planes are hosted. The hosting cluster is also known as the management cluster.

[NOTE]
====
The management cluster is not the same thing as the _managed_ cluster. A managed cluster is a cluster that the hub cluster manages.
====

The {hcp} feature is enabled by default.

The {mce-short} supports only the default `local-cluster` managed hub cluster. On {rh-rhacm-first} 2.10, you can use the `local-cluster` managed hub cluster as the hosting cluster.

A _hosted cluster_ is an {product-title} cluster with its API endpoint and control plane that are hosted on the hosting cluster. The hosted cluster includes the control plane and its corresponding data plane. You can use the {mce-short} console or the `hcp` command-line interface (CLI) to create a hosted cluster.

The hosted cluster is automatically imported as a managed cluster. If you want to disable this automatic import feature, see "Disabling the automatic import of hosted clusters into {mce-short}".

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-import.adoc#hcp-import-disable_hcp-import[Disabling the automatic import of hosted clusters into {mce-short}]

include::modules/hcp-non-bm-prepare.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.16/html/clusters/cluster_mce_overview#enable-cim[Enabling the central infrastructure management service ({rh-rhacm-title} documentation)]
* xref:../../etcd/etcd-practices.adoc#recommended-etcd-practices[Recommended etcd practices]
* xref:../../storage/persistent_storage_local/persistent-storage-using-lvms.adoc#persistent-storage-using-lvms_logical-volume-manager-storage[Persistent storage using logical volume manager storage]

include::modules/hcp-non-bm-prereqs.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.16/html/clusters/cluster_mce_overview#advanced-config-engine[Advanced configuration ({rh-rhacm-title} documentation)]

* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.16/html/clusters/cluster_mce_overview#enable-cim[Enabling the central infrastructure management service ({rh-rhacm-title} documentation)]

include::modules/hcp-non-bm-firewall-port-svc-reqs.adoc[leveloffset=+2]

include::modules/hcp-non-bm-infra-reqs.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../etcd/etcd-practices.adoc#recommended-etcd-practices[Recommended etcd practices]

* xref:../../storage/persistent_storage_local/persistent-storage-using-lvms.adoc#persistent-storage-using-lvms_logical-volume-manager-storage[Persistent storage using logical volume manager storage]

* xref:../../hosted_control_planes/hcp-import.adoc#hcp-import-disable_hcp-import[Disabling the automatic import of hosted clusters into {mce-short}]

* xref:../../hosted_control_planes/hcp-prepare/hcp-enable-disable.adoc#hcp-enable-manual_hcp-enable-disable[Manually enabling the {hcp} feature]

* xref:../../hosted_control_planes/hcp-prepare/hcp-enable-disable.adoc#hcp-disable-feature_hcp-enable-disable[Disabling the {hcp} feature]

include::modules/hcp-non-bm-dns.adoc[leveloffset=+1]

include::modules/hcp-custom-dns.adoc[leveloffset=+1]

include::modules/hcp-non-bm-hc.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-import.adoc#hcp-import-manual_hcp-import[Manually importing a hosted cluster]

* xref:../../hosted_control_planes/hcp-certificates.adoc#hcp-custom-cert_hcp-certificates[Configuring a custom API server certificate in a hosted cluster]

* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.16/html/clusters/cluster_mce_overview#add-host-host-inventory[Adding hosts to the host inventory by using the Discovery Image ({rh-rhacm-title} documentation)]

* xref:../../hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc#hcp-dc-extract_hcp-deploy-dc-bm[Extracting the release image digest]

include::modules/hcp-non-bm-hc-console.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.16/html/clusters/cluster_mce_overview#creating-a-credential-for-an-on-premises-environment[Creating a credential for an on-premises environment ({rh-rhacm-title} documentation)]

* xref:../../web_console/web-console.adoc#web-console-overview[Accessing the web console]

* xref:../../hosted_control_planes/hcp-certificates.adoc#hcp-custom-cert_hcp-certificates[Configuring a custom API server certificate in a hosted cluster]

include::modules/hcp-non-bm-hc-mirror.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-manage/hcp-manage-bm.adoc#hcp-bm-access_hcp-manage-bm[Accessing the hosted cluster]

* xref:../../hosted_control_planes/hcp-certificates.adoc#hcp-custom-cert_hcp-certificates[Configuring a custom API server certificate in a hosted cluster]

include::modules/hcp-cluster-capabilities.adoc[leveloffset=+1]

include::modules/hcp-cluster-capabilities-ref.adoc[leveloffset=+2]

include::modules/hcp-cluster-capabilities-proc.adoc[leveloffset=+2]

include::modules/hcp-non-bm-verify.adoc[leveloffset=+1]
