-
Notifications
You must be signed in to change notification settings - Fork 1.8k
[OSDOCS-15316]: Creating a hosted cluster on bare metal #96275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
a51c7f8
to
0c0d363
Compare
0c0d363
to
17bbb24
Compare
09a5173
to
4b08e25
Compare
73ffe57
to
daa7c37
Compare
daa7c37
to
e5561df
Compare
aba8843
to
30573c3
Compare
modules/hcp-bm-hc.adoc
Outdated
@@ -20,6 +20,8 @@ As you create a hosted cluster, keep the following guidelines in mind: | |||
|
|||
- The most common service publishing strategy is to expose services through a load balancer. That strategy is the preferred method for exposing the Kubernetes API server. 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We suggest to use a load balancer but by default with the hcp create agent command the bare metal hosted clusters are created with node port: we should indicate this here. We also should explain how to change the servicePublishingStrategy in the section to create bare metal hosted clusters as otherwise we leave this for the user to research with not even references to where. @jparrill ptal
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated the wording here, but I still need help to describe what users should do to change the servicePublishingStrategy. I've asked Juan for the details.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add information about changing publishing strategy to recommended one for bare metal (load balancer) and explain it's not the default one
<9> Specify the availability policy for the hosted control plane components. Supported options are `SingleReplica` and `HighlyAvailable`. The default value is `HighlyAvailable`. | ||
<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 {product-title} release image digest_. | ||
<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 {product-title} release image digest". | ||
<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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't explain that in order to be able to add nodes to this cluster we must have previously added nodes to an InfraEnv (via web ui for example) and we don't explain how to do this. This leaves the user with a workflow that will always fail to complete as at this point the user hasn't been told how to add nodes to the inventory first.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a new procedure before this procedure about adding bare-metal nodes to a hardware inventory.
cc2d20e
to
549af30
Compare
549af30
to
e15611b
Compare
531204b
to
1104fb6
Compare
007db9a
to
d7dd5ba
Compare
-n <namespace_example> get infraenv hosted | ||
---- | ||
|
||
. Create `BareMetalHost` objects by adding the following content to a YAML file: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two options to get the hosts added:
- BMHs, as described here, which the booting and adding to the InfraEnv are 100% automated by the bare metal operator (metal3).
- Obtain the discovery ISO from the InfraEnv and boot the hosts manually, which is also supported and sometimes the only way (hosts that don't work with Redfish, hosts that don't have their BMCs configured, environments where the BMC network access is restricted, and other reasons).
We should document 2 along with this method for clarity.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@racedo Would it be accurate to distinguish between the two methods by dividing this step like this?
"If you use the Metal3 Operator, create the BMHs as follows..." and "If you do not use the Metal3 Operator, obtain the discovery ISO from the InfraEnv and boot the hosts manually, as follows..."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add comment to explain booting hosts from discovery ISO.
|
||
:_mod-docs-content-type: PROCEDURE | ||
[id="hcp-bm-add-nodes-to-inventory_{context}"] | ||
= Adding bare-metal nodes to a hardware inventory |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The creation of the InfraEnv can also be done from the Console. There's a section below about using the console vs here doing it with the CLI. Could we explain how to do it from the console too? It's a fairly simple process worth mentioning for users to choose their preferred option.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Request to add content for adding InfraEnv via UI.
7ca992f
to
cb1ef15
Compare
cb1ef15
to
9ca2c35
Compare
@lahinson: all tests passed! Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
:_mod-docs-content-type: PROCEDURE | ||
[id="hcp-bm-add-nodes-to-inventory_{context}"] | ||
= Creating an infrastructure environment and adding nodes | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I based this file on information that I found in the following lab exercise: https://labs.sysdeseng.com/hypershift-baremetal-lab/4.18/adding-bm-to-hw-inventory.html
If any of the information in this file should change, please let me know.
|
||
** If you do not use the Metal3 Operator, obtain the discovery ISO from the `InfraEnv` resource and boot the hosts manually by completing the following steps: | ||
|
||
.. Download the live ISO. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to tell users where they should go to download the ISO?
-p '{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-0.example.krnl.es"}}' \ | ||
--type merge | ||
---- | ||
+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should any of the values on line 125 be changed to example values?
86f7ac75-4fc4-4b36-8130-40fa12602218 auto-assign | ||
e57a637f-745b-496e-971d-1abbf03341ba auto-assign | ||
---- | ||
+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should any of the values on line 117 be changed to example values?
|
||
. Click **Infrastructure -> Host inventory -> Create infrastructure environment**. | ||
|
||
. After you create the infrastructure environment, add bare-metal hosts from within the InfraEnv view by clicking **Add hosts -> With BMC**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would appreciate it if someone could verify that the user-interface elements that we're mentioning here actually match the UI.
Version(s): 4.17+
Issue: https://issues.redhat.com/browse/OSDOCS-15316
Link to docs preview:
QE review:
Additional information: