1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00

OCPRHV-433 Document optimal vm placement configuration options - Added entry to machineset-yaml-rhv.adoc - SME Comments - Peer review comments

This commit is contained in:
stoobie
2021-05-11 15:56:03 +03:00
committed by openshift-cherrypick-robot
parent bf59d45e7a
commit f7abd215a5
11 changed files with 167 additions and 16 deletions

View File

@@ -19,8 +19,8 @@ If you want to install and manage {product-title} yourself, you can install it o
* Amazon Web Services (AWS)
* Microsoft Azure
* Google Cloud Platform (GCP)
* {rh-openstack-first}
* {rh-virtualization}
* {rh-openstack-first} ({rh-openstack})
* {rh-virtualization-first} ({rh-virtualization})
* IBM Z and LinuxONE
* IBM Z and LinuxONE for {op-system-base-full} KVM
* IBM Power

View File

@@ -30,6 +30,10 @@ include::modules/cluster-entitlements.adoc[leveloffset=+1]
include::modules/installing-rhv-requirements.adoc[leveloffset=+1]
.Additional resources
* xref:../../installing/installing_rhv/installing-rhv-customizations.adoc#installing-rhv-example-install-config-yaml_installing-rhv-customizations[Example: Removing all affinity groups for a non-production lab setup].
include::modules/installing-rhv-verifying-rhv-environment.adoc[leveloffset=+1]
include::modules/installing-rhv-preparing-network-environment.adoc[leveloffset=+1]

View File

@@ -21,7 +21,7 @@
// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc
// * installing/installing_openstack/installing-openstack-user.adoc
// * installing/installing_openstack/installing-openstack-user-kuryr.adoc
// * installing/installing_rhv/installing-rhv-custom.adoc
// * installing/installing_rhv/installing-rhv-customizations.adoc
// * installing/installing_vmc/installing-vmc-customizations.adoc
// * installing/installing_vmc/installing-vmc-network-customizations.adoc
// * installing/installing_vmc/installing-restricted-networks-vmc.adoc
@@ -936,7 +936,8 @@ ifdef::rhv[]
Additional {rh-virtualization} configuration parameters are described in the following table:
.Additional {rh-virtualization} parameters for clusters
[id="additional-virt-parameters-for-clusters_{context}"]
.Additional {rh-virtualization-first} parameters for clusters
[cols=".^2,.^3a,.^3a",options="header"]
|====
|Parameter|Description|Values
@@ -964,6 +965,27 @@ Additional {rh-virtualization} configuration parameters are described in the fol
|`platform.ovirt.ingress_vip`
|Required. An IP address on the machine network that will be assigned to the Ingress virtual IP (VIP).
|String. Example: `10.46.8.232`
|`platform.ovirt.affinityGroups`
|Optional. A list of affinity groups to create during the installation process.
|List of objects.
|`platform.ovirt.affinityGroups.description`
|Required if you include `platform.ovirt.affinityGroups`. A description of the affinity group.
|String. Example: `AffinityGroup for spreading each compute machine to a different host`
|`platform.ovirt.affinityGroups.enforcing`
|Required if you include `platform.ovirt.affinityGroups`. When set to `true`, {rh-virtualization} does not provision any machines if not enough hardware nodes are available. When set to `false`, {rh-virtualization} does provision machines even if not enough hardware nodes are available, resulting in multiple virtual machines being hosted on the same physical machine.
|String. Example: `true`
|`platform.ovirt.affinityGroups.name`
|Required if you include `platform.ovirt.affinityGroups`. The name of the affinity group.
|String. Example: `compute`
|`platform.ovirt.affinityGroups.priority`
|Required if you include `platform.ovirt.affinityGroups`. The priority given to an affinity group when `platform.ovirt.affinityGroups.enforcing = false`. {rh-virtualization} applies affinity groups in the order of priority, where a greater number takes precedence over a lesser one. If multiple affinity groups have the same priority, the order in which they are applied is not guaranteed.
|Integer. Example: `3`
|====
[id="installation-configuration-parameters-additional-machine_{context}"]
@@ -1007,6 +1029,37 @@ Additional {rh-virtualization} configuration parameters for machine pools are de
|`<machine-pool>.platform.ovirt.vmType`
|Optional. The VM workload type, such as `high-performance`, `server`, or `desktop`.
|String
|`<machine-pool>.platform.ovirt.affinityGroupsNames`
|Optional. A list of affinity group names that should be applied to the virtual machines. The affinity groups must exist in {rh-virtualization}, or be created during installation as described in _Additional {rh-virtualization} parameters for clusters_ in this topic. This entry can be empty.
// xref:../../installing/installing_rhv/installing-rhv-customizations.adoc#additional-virt-parameters-for-clusters[Additional {rh-virtualization} parameters for clusters]. This entry can be empty.
//xref:../../additional-virt-parameters-for-clusters[Additional {rh-virtualization} parameters for clusters]. This entry can be empty.
.Example with two affinity groups
This example defines two affinity groups, named `compute` and `clusterWideNonEnforcing`:
[source,yaml]
----
<machine-pool>:
platform:
ovirt:
affinityGroupNames:
- compute
- clusterWideNonEnforcing
----
This example defines no affinity groups:
[source,yaml]
----
<machine-pool>:
platform:
ovirt:
affinityGroupNames: []
----
|String
|====
[NOTE]

View File

@@ -1,7 +1,7 @@
// Module included in the following assemblies:
//
// * installing/installing_rhv/installing-rhv-default.adoc
// * installing/installing_rhv/installing-rhv-custom.adoc
// * installing/installing_rhv/installing-rhv-customizations.adoc
[id="installing-rhv-accessing-ocp-web-console_{context}"]
= Accessing the {product-title} web console on {rh-virtualization}

View File

@@ -1,6 +1,6 @@
// Module included in the following assemblies:
//
// * installing/installing_rhv/installing-rhv-custom.adoc
// * installing/installing_rhv/installing-rhv-customizations.adoc
// * installing/installing_rhv/installing-rhv-default.adoc
[id="installing-rhv-example-install-config-yaml_{context}"]
@@ -8,9 +8,9 @@
You can customize the {product-title} cluster the installation program creates by changing the parameters and parameter values in the `install-config.yaml` file.
The following example is specific to installing {product-title} on {rh-virtualization}.
The following examples are specific to installing {product-title} on {rh-virtualization}.
This file is located in the `<installation_directory>` you specified when you ran the following command.
`install-config.yaml` is located in `<installation_directory>`, which you specified when you ran the following command.
[source,terminal]
----
$ ./openshift-install create install-config --dir=<installation_directory>
@@ -23,7 +23,8 @@ $ ./openshift-install create install-config --dir=<installation_directory>
* Changing the `install-config.yaml` file can increase the resources your cluster requires. Verify that your {rh-virtualization} environment has those additional resources. Otherwise, the installation or cluster will fail.
====
.Example: This is the default `install-config.yaml` file
[discrete]
== Example default `install-config.yaml` file
[source,yaml]
----
@@ -72,7 +73,8 @@ sshKey: ssh-ed12345 AAAA...
----
.Example: A minimal `install-config.yaml` file
[discrete]
== Example minimal `install-config.yaml` file
[source,yaml]
----
@@ -93,7 +95,8 @@ sshKey: ssh-ed12345 AAAA...
----
.Example: Custom machine pools in an `install-config.yaml` file
[discrete]
== Example Custom machine pools in an `install-config.yaml` file
[source,yaml]
----
@@ -136,3 +139,75 @@ platform:
pullSecret: '{"auths": ...}'
sshKey: ssh-ed25519 AAAA...
----
[discrete]
== Example non-enforcing affinity group
It is recommended to add a non-enforcing affinity group to distribute the control plane and workers, if possible, to use as much of the cluster as possible.
[source,yaml]
----
platform:
ovirt:
affinityGroups:
- description: AffinityGroup to place each compute machine on a separate host
enforcing: true
name: compute
priority: 3
- description: AffinityGroup to place each control plane machine on a separate host
enforcing: true
name: controlplane
priority: 5
- description: AffinityGroup to place worker nodes and control plane nodes on separate hosts
enforcing: false
name: openshift
priority: 5
compute:
- architecture: amd64
hyperthreading: Enabled
name: worker
platform:
ovirt:
affinityGroupsNames:
- compute
- openshift
replicas: 3
controlPlane:
architecture: amd64
hyperthreading: Enabled
name: master
platform:
ovirt:
affinityGroupsNames:
- controlplane
- openshift
replicas: 3
----
[discrete]
== Example removing all affinity groups for a non-production lab setup
For non-production lab setups, you must remove all affinity groups to concentrate the {product-title} cluster on the few hosts you have.
[source,yaml]
----
platform:
ovirt:
affinityGroups: []
compute:
- architecture: amd64
hyperthreading: Enabled
name: worker
platform:
ovirt:
affinityGroupsNames: []
replicas: 3
controlPlane:
architecture: amd64
hyperthreading: Enabled
name: master
platform:
ovirt:
affinityGroupsNames: []
replicas: 3
----

View File

@@ -1,6 +1,6 @@
// Module included in the following assemblies:
//
// * installing/installing_rhv/installing-rhv-custom.adoc
// * installing/installing_rhv/installing-rhv-customizations.adoc
// * installing/installing_rhv/installing-rhv-default.adoc
// * installing/installing_rhv/installing-rhv-user-infra.adoc

View File

@@ -1,6 +1,6 @@
// Module included in the following assemblies:
//
// * installing/installing_rhv/installing-rhv-custom.adoc
// * installing/installing_rhv/installing-rhv-customizations.adoc
// * installing/installing_rhv/installing-rhv-default.adoc
[id="installing-rhv-preparing-network-environment_{context}"]

View File

@@ -1,6 +1,6 @@
// Module included in the following assemblies:
//
// * installing/installing_rhv/installing-rhv-custom.adoc
// * installing/installing_rhv/installing-rhv-customizations.adoc
// * installing/installing_rhv/installing-rhv-default.adoc
// * installing/installing_rhv/installing-rhv-user-infra.adoc
// * installing/installing_rhv/installing-rhv-restricted-network.adoc
@@ -30,6 +30,22 @@ If you increase the number of virtual machines in the {rh-virtualization} enviro
*** 16 GiB or more for each of the three control plane machines which provide the control plane.
*** 16 GiB or more for each of the three compute machines, which run the application workloads.
* The {rh-virtualization} storage domain must meet link:https://access.redhat.com/solutions/4770281[these etcd backend performance requirements].
ifeval::["{context}" == "installing-rhv-default"]
* For affinity group support:
Three or more hosts in the {rh-virtualization} cluster. If necessary, you can disable affinity groups. For details, see _Example: Removing all affinity groups for a non-production lab setup_ in _Installing a cluster on {rh-virtualization} with customizations_
endif::[]
ifeval::["{context}" == "installing-rhv-customizations"]
* For affinity group support:
+
One physical machine per worker or control plane. Workers and control planes can be on the same physical machine. For example, if you have three workers and three control planes, you need three physical machines. If you have four workers and three control planes, you need four physical machines.
** For hard anti-affinity (default): A minimum of three physical machines. For more than three worker nodes, one physical machine per worker or control plane. Workers and control planes can be on the same physical machine.
** For custom affinity groups: Ensure that the resources are appropriate for the affinity group rules that you define.
////
** Production setup: For hard anti-affinity, you need a minimum of three physical machines. For more than three worker nodes, one physical machine per worker or control plane. Workers and control planes can be on the same physical machine. For example, if you have three workers and three control planes, you need three physical machines. If you have four workers and three control planes, you need four physical machines.
** Non-production setup, such as a lab: Remove all affinity groups to enable putting multiple workers or control planes on as few physical machines as possible. This setup does not guarantee redundancy so it is not appropriate for production.
////
endif::[]
* In production environments, each virtual machine must have 120 GiB or more. Therefore, the storage domain must provide 840 GiB or more for the default {product-title} cluster. In resource-constrained or non-production environments, each virtual machine must have 32 GiB or more, so the storage domain must have 230 GiB or more for the default {product-title} cluster.
* To download images from the Red Hat Ecosystem Catalog during installation and update procedures, the {rh-virtualization} cluster must have access to an internet connection. The Telemetry service also needs an internet connection to simplify the subscription and entitlement process.
// TBD - What about the disconnected installation alternative?

View File

@@ -1,6 +1,6 @@
// Module included in the following assemblies:
//
// * installing/installing_rhv/installing-rhv-custom.adoc
// * installing/installing_rhv/installing-rhv-customizations.adoc
// * installing/installing_rhv/installing-rhv-default.adoc
// * installing/installing-rhv-restricted-network.adoc

View File

@@ -1,6 +1,6 @@
// Module included in the following assemblies:
//
// * installing/installing_rhv/installing-rhv-custom.adoc
// * installing/installing_rhv/installing-rhv-customizations.adoc
// * installing/installing_rhv/installing-rhv-default.adoc
// * installing/installing_rhv/installing-rhv-restricted-network.adoc

View File

@@ -59,6 +59,8 @@ spec:
type: <workload_type> <19>
userDataSecret:
name: worker-user-data
affinityGroupsNames:
- compute <20>
----
<1> Specify the infrastructure ID that is based on the cluster ID that you set when you provisioned the cluster. If you have the OpenShift CLI (`oc`) installed, you can obtain the infrastructure ID by running the following command:
+
@@ -101,6 +103,7 @@ $ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
<18> Specify the name of the secret that holds the {rh-virtualization} credentials.
<19> Optional: Specify the workload type for which the instance is optimized. This value affects the `{rh-virtualization} VM` parameter. Supported values: `desktop`, `server`, `high_performance`.
<20> A list of affinity group names that should be applied to the VMs. The affinity groups must exist in oVirt.
[NOTE]
====