You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
9
+
You can deploy {hcp} by configuring a cluster to function as a hosting cluster. This configuration provides an efficient and scalable solution for managing many clusters. The hosting cluster is an {product-title} cluster that hosts control planes. The hosting cluster is also known as the _management_ cluster.
10
10
11
11
[NOTE]
12
12
====
13
13
The _management_ cluster is not the _managed_ cluster. A managed cluster is a cluster that the hub cluster manages.
14
14
====
15
15
16
-
The {mce-short} supports only the default `local-cluster`, which is a hub cluster that is managed, and the hub cluster as the hosting cluster.
16
+
The {mce-short} supports only the default `local-cluster`, which is a managed hub cluster, and the hub cluster as the hosting cluster.
17
17
18
-
To provision {hcp} on baremetal, you can use the Agent platform. The Agent platform uses the central infrastructure management service to add worker nodes to a hosted cluster. For more information, see "Enabling the central infrastructure management service".
18
+
To provision {hcp} on bare-metal infrastructure, you can use the Agent platform. The Agent platform uses the central infrastructure management service to add compute nodes to a hosted cluster. For more information, see "Enabling the central infrastructure management service".
19
19
20
-
Each {ibm-power-title} host must be started with a Discovery Image that the central infrastructure management provides. After each host starts, it runs an Agent process to discover the details of the host and completes the installation. An Agent custom resource represents each host.
20
+
You must start each {ibm-power-title} host with a Discovery image that the central infrastructure management provides. After each host starts, it runs an Agent process to discover the details of the host and completes the installation. An Agent custom resource represents each host.
21
21
22
22
When you create a hosted cluster with the Agent platform, HyperShift installs the Agent Cluster API provider in the hosted control plane namespace.
* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.14/html/clusters/cluster_mce_overview#enable-cim[Enabling the central infrastructure management service]
31
-
* xref:../../hosted_control_planes/hcp-prepare/hcp-cli.adoc#hcp-cli-terminal_hcp-cli[Installing the {hcp} command-line interface]
32
+
* xref:../../hosted_control_planes/hcp-prepare/hcp-cli.adoc#hcp-cli-terminal_hcp-cli[Installing the hosted control plane command-line interface]
32
33
* xref:../../hosted_control_planes/hcp-prepare/hcp-enable-disable.adoc#hcp-enable-manual_hcp-enable-disable[Manually enabling the {hcp} feature]
33
34
* xref:../../hosted_control_planes/hcp-prepare/hcp-enable-disable.adoc#hcp-disable_hcp-enable-disable[Disabling the {hcp} feature]
You can create a hosted cluster or import one. When the Assisted Installer is enabled as an add-on to {mce-short} and you create a hosted cluster with the Agent platform, the HyperShift Operator installs the Agent Cluster API provider in the hosted control plane namespace.
== Creating heterogeneous node pools on agent hosted clusters
54
50
55
-
On the agent platform, you can create heterogeneous node pools so that your clusters can run diverse machine types, such as `x86_64` or `ppc64le`, within a single hosted cluster.
51
+
* xref:../../hosted_control_planes/hcp-prepare/hcp-requirements.adoc#hcp-requirements[Requirements for hosted control planes]
52
+
* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-bm.adoc#hcp-bm-dns_hcp-deploy-bm[DNS configurations on bare metal]
53
+
* xref:../../hosted_control_planes/hcp-import.adoc#hcp-import[Manually importing a hosted cluster]
54
+
* xref:../../hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc#hcp-dc-extract_hcp-deploy-dc-bm[Extracting the release image digest]
Copy file name to clipboardExpand all lines: modules/hcp-adding-agents.adoc
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,15 @@
6
6
[id="hcp-adding-agents_{context}"]
7
7
= Adding agents to the heterogeneous cluster
8
8
9
-
You add agents by manually configuring the machine to boot with a live ISO. You can download the live ISO and use it to boot a bare-metal node or a virtual machine. On boot, the node communicates with the `assisted-service` and registers as an agent in the same namespace as the `InfraEnv` resource. When each agent is created, you can optionally set its `installation_disk_id` and `hostname` parameters in the specifications. When you are done, approve it to indicate that the agent is ready for use.
9
+
You add agents by manually configuring the machine to boot with a live ISO. You can download the live ISO and use it to boot a bare-metal node or a virtual machine. On boot, the node communicates with the `assisted-service` and registers as an agent in the same namespace as the `InfraEnv` resource. After the creation of each agent, you can optionally set its `installation_disk_id` and `hostname` parameters in the specifications. You can then approve the agent to indicate the agent as ready for use.
10
10
11
11
.Procedure
12
12
13
13
. Obtain a list of agents by running the following command:
14
14
+
15
15
[source,terminal]
16
16
----
17
-
oc -n <hosted_control_plane_namespace> get agents
17
+
$ oc -n <hosted_control_plane_namespace> get agents
Copy file name to clipboardExpand all lines: modules/hcp-bm-hc.adoc
+28-23Lines changed: 28 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,21 +8,23 @@
8
8
[id="hcp-bm-hc_{context}"]
9
9
= Creating a hosted cluster by using the CLI
10
10
11
-
To create a hosted cluster by using the command-line interface (CLI), complete the following steps.
11
+
You can create a hosted cluster or import one. After you enable the Assisted Installer as an add-on to {mce-short} and you create a hosted cluster with the Agent platform, the HyperShift Operator installs the Agent Cluster API provider in the hosted control plane namespace. The Agent Cluster API provider connects a management cluster that hosts the control plane and a hosted cluster that consists of only the compute nodes.
12
+
13
+
You can create a hosted cluster on bare metal or import one.
12
14
13
15
.Prerequisites
14
16
15
-
- Each hosted cluster must have a cluster-wide unique name. A hosted cluster name cannot be the same as any existing managed cluster in order for the {mce-short}to manage it.
17
+
- Each hosted cluster must have a cluster-wide unique name. A hosted cluster name cannot be the same as any existing managed cluster. Otherwise, the {mce-short}cannot manage the hosted cluster.
16
18
17
-
- Do not use `clusters` as a hosted cluster name.
19
+
- Do not use the word `clusters` as a hosted cluster name.
18
20
19
-
- A hosted cluster cannot be created in the namespace of a {mce-short} managed cluster.
21
+
- You cannot create a hosted cluster in the namespace of a {mce-short} managed cluster.
20
22
21
23
- Verify that you have a default storage class configured for your cluster. Otherwise, you might see pending persistent volume claims (PVCs).
22
24
23
-
- By default when you use the `hcp create cluster agent` command, the hosted cluster is created with node ports. However, the preferred publishing strategy for hosted clusters on bare metal is to expose services through a load balancer. If you create a hosted cluster by using the web console or by using {rh-rhacm-title}, to set a publishing strategy for a service besides the Kubernetes API server, you must manually specify the `servicePublishingStrategy` information in the `HostedCluster` custom resource. For more information, see step 4 in this procedure.
25
+
- By default when you use the `hcp create cluster agent` command, the command creates a hosted cluster with configured node ports. The preferred publishing strategy for hosted clusters on bare metal exposes services through a load balancer. If you create a hosted cluster by using the web console or by using {rh-rhacm-title}, to set a publishing strategy for a service besides the Kubernetes API server, you must manually specify the `servicePublishingStrategy` information in the `HostedCluster` custom resource.
24
26
25
-
- Ensure that you meet the requirements described in "Preparing to deploy{hcp} on bare metal", which includes requirements related to infrastructure, firewalls, ports, and services. For example, those requirements describe how to add the appropriate zone labels to the bare-metal hosts in your management cluster, as shown in the following example commands:
27
+
- Ensure that you meet the requirements described in "Requirements for{hcp} on bare metal", which includes requirements related to infrastructure, firewalls, ports, and services. For example, those requirements describe how to add the appropriate zone labels to the bare-metal hosts in your management cluster, as shown in the following example commands:
Replace `<hosted_cluster_namespace>` with an identifier for your hosted cluster namespace. Typically, the namespace is created by the HyperShift Operator, but during the hosted cluster creation process on baremetal, a Cluster API provider role is generated that needs the namespace to already exist.
55
+
Replace `<hosted_cluster_namespace>` with an identifier for your hosted cluster namespace. The HyperShift Operator creates the namespace. During the hosted cluster creation process on bare-metal infrastructure, a generated Cluster API provider role requires that the namespace already exists.
54
56
55
57
. Create the configuration file for your hosted cluster by entering the following command:
<2> Specify the path to your pull secret, for example,`/user/name/pullsecret`.
78
-
<3> Specify your hosted control plane namespace. To ensure that agents are available in this namespace, enter the `oc get agent -n <hosted_control_plane_namespace>` command.
79
-
<4> Specify your base domain, for example,`krnl.es`.
80
-
<5> The `--api-server-address` flag defines the IP address that is used for the Kubernetes API communication in the hosted cluster. If you do not set the `--api-server-address` flag, you must log in to connect to the management cluster.
81
-
<6> Specify the etcd storage class name, for example,`lvm-storageclass`.
78
+
<1> Specify the name of your hosted cluster, such as `example`.
79
+
<2> Specify the path to your pull secret, such as`/user/name/pullsecret`.
80
+
<3> Specify your hosted control plane namespace, such as `clusters-example`. Ensure that agents are available in this namespace by using the `oc get agent -n <hosted_control_plane_namespace>` command.
81
+
<4> Specify your base domain, such as`krnl.es`.
82
+
<5> The `--api-server-address` flag defines the IP address that gets used for the Kubernetes API communication in the hosted cluster. If you do not set the `--api-server-address` flag, you must log in to connect to the management cluster.
83
+
<6> Specify the etcd storage class name, such as`lvm-storageclass`.
82
84
<7> Specify the path to your SSH public key. The default file path is `~/.ssh/id_rsa.pub`.
83
85
<8> Specify your hosted cluster namespace.
84
86
<9> Specify the availability policy for the hosted control plane components. Supported options are `SingleReplica` and `HighlyAvailable`. The default value is `HighlyAvailable`.
85
-
<10> Specify the supported {product-title} version that you want to use, for example,`4.19.0-multi`. If you are using a disconnected environment, replace `<ocp_release_image>` with the digest image. To extract the {product-title} release image digest, see "Extracting the release image digest".
86
-
<11> Specify the node pool replica count, for example,`3`. You must specify the replica count as `0` or greater to create the same number of replicas. Otherwise, no node pools are created.
87
-
<12> After the `--ssh-key` flag, specify the path to the SSH key; for example,`user/.ssh/id_rsa`.
87
+
<10> Specify the supported {product-title} version that you want to use, such as`4.19.0-multi`. If you are using a disconnected environment, replace `<ocp_release_image>` with the digest image. To extract the {product-title} release image digest, see _Extracting the {product-title} release image digest_.
88
+
<11> Specify the node pool replica count, such as`3`. You must specify the replica count as `0` or greater to create the same number of replicas. Otherwise, you do not created node pools.
89
+
<12> After the `--ssh-key` flag, specify the path to the SSH key, such as`user/.ssh/id_rsa`.
88
90
89
91
. Configure the service publishing strategy. By default, hosted clusters use the NodePort service publishing strategy because node ports are always available without additional infrastructure. However, you can configure the service publishing strategy to use a load balancer.
90
92
91
93
** If you are using the default NodePort strategy, configure the DNS to point to the hosted cluster compute nodes, not the management cluster nodes. For more information, see "DNS configurations on bare metal".
92
94
93
-
** For production environments, use the LoadBalancer strategy because it provides certificate handling and automatic DNS resolution. To change the service publishing strategy `LoadBalancer`, in your hosted cluster configuration file, edit the service publishing strategy details:
95
+
** For production environments, use the LoadBalancer strategy because this strategy provides certificate handling and automatic DNS resolution. The following example demonstrates changing the service publishing `LoadBalancer` strategy in your hosted cluster configuration file:
94
96
+
95
97
[source,yaml]
96
98
----
97
-
...
99
+
# ...
98
100
spec:
99
101
services:
100
102
- service: APIServer
@@ -114,7 +116,7 @@ spec:
114
116
type: Route
115
117
sshKey:
116
118
name: <ssh_key>
117
-
...
119
+
# ...
118
120
----
119
121
+
120
122
<1> Specify `LoadBalancer` as the API Server type. For all other services, specify `Route` as the type.
@@ -126,7 +128,7 @@ spec:
126
128
$ oc apply -f hosted_cluster_config.yaml
127
129
----
128
130
129
-
. Monitor the creation of the hosted cluster, node pools, and pods by entering the following commands:
131
+
. Check for the creation of the hosted cluster, node pools, and pods by entering the following commands:
130
132
+
131
133
[source,terminal]
132
134
----
@@ -149,7 +151,7 @@ $ oc get nodepool \
149
151
$ oc get pods -n <hosted_cluster_namespace>
150
152
----
151
153
152
-
. Confirm that the hosted cluster is ready. The cluster is ready when its status is`Available: True`, the node pool status shows `AllMachinesReady: True`, and all cluster Operators are healthy.
154
+
. Confirm that the hosted cluster is ready. The status of`Available: True` indicates the readiness of the cluster and the node pool status shows `AllMachinesReady: True`. These statuses indicate the healthiness of all cluster Operators.
153
155
154
156
. Install MetalLB in the hosted cluster:
155
157
+
@@ -196,6 +198,7 @@ spec:
196
198
source: redhat-operators
197
199
sourceNamespace: openshift-marketplace
198
200
installPlanApproval: Automatic
201
+
# ...
199
202
----
200
203
+
201
204
.. Apply the file by entering the following command:
@@ -227,6 +230,7 @@ metadata:
227
230
spec:
228
231
ipAddressPools:
229
232
- metallb
233
+
# ...
230
234
----
231
235
+
232
236
.. Apply the configuration by entering the following command:
@@ -236,7 +240,7 @@ spec:
236
240
$ oc apply -f deploy-metallb-ipaddresspool.yaml
237
241
----
238
242
+
239
-
.. Verify that MetalLB is installed by checking the Operator status, the IP address pool, and the L2Advertisement. Enter the following commands:
243
+
.. Verify the installation of MetalLB by checking the Operator status, the IP address pool, and the `L2Advertisement` resource by entering the following commands:
0 commit comments