1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/cpmso-yaml-provider-spec-gcp.adoc
2026-02-03 22:00:10 +00:00

129 lines
4.5 KiB
Plaintext

// Module included in the following assemblies:
//
// * machine_management/cpmso-configuration.adoc
:_mod-docs-content-type: REFERENCE
[id="cpmso-yaml-provider-spec-gcp_{context}"]
= Sample {gcp-short} provider specification
[role="_abstract"]
You can update your control plane machines to reflect changes in your underlying infrastructure by editing values in the control plane machine set provider specification.
The following example YAML illustrates a valid configuration for an {gcp-first} cluster.
include::snippets/cpmso-new-providerspec-match-install.adoc[]
You can omit any field that has a value set in the failure domain section of the CR.
In the following example, you can obtain some of the values for your cluster by using the {oc-first}.
Infrastructure ID:: The `<cluster_id>` string is the infrastructure ID.
The infrastructure ID matches the cluster ID that the installation program used during cluster provisioning.
If you have `oc` installed, you can obtain the infrastructure ID by running the following command:
+
[source,terminal]
----
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
----
Image path:: The `<path_to_image>` string is the path to the source image for the disk.
If you have `oc` installed, you can obtain the path to the image by running the following command:
+
[source,terminal]
----
$ oc -n openshift-machine-api \
-o jsonpath='{.spec.template.machines_v1beta1_machine_openshift_io.spec.providerSpec.value.disks[0].image}{"\n"}' \
get ControlPlaneMachineSet/cluster
----
.Sample {gcp-short} `providerSpec` values
[source,yaml]
----
apiVersion: machine.openshift.io/v1
kind: ControlPlaneMachineSet
metadata:
name: cluster
namespace: openshift-machine-api
spec:
# ...
template:
# ...
spec:
providerSpec:
value:
apiVersion: machine.openshift.io/v1beta1
canIPForward: false
credentialsSecret:
name: gcp-cloud-credentials
deletionProtection: false
disks:
- autoDelete: true
boot: true
image: <path_to_image>
labels: null
sizeGb: 200
type: pd-ssd
kind: GCPMachineProviderSpec
machineType: e2-standard-4
metadata:
creationTimestamp: null
metadataServiceOptions: {}
networkInterfaces:
- network: <cluster_id>-network
subnetwork: <cluster_id>-master-subnet
projectID: <project_name>
region: <region>
serviceAccounts:
- email: <cluster_id>-m@<project_name>.iam.gserviceaccount.com
scopes:
- https://www.googleapis.com/auth/cloud-platform
shieldedInstanceConfig: {}
tags:
- <cluster_id>-master
targetPools:
- <cluster_id>-api
userDataSecret:
name: master-user-data
zone: ""
----
where:
`spec.template.spec.providerSpec.value.credentialsSecret.name`::
Specifies the secret name for the cluster.
Do not change this value.
`spec.template.spec.providerSpec.value.disk.image`::
Specifies the path to the source image for the disk.
+
To use a {gcp-short} Marketplace image, specify the offer to use:
+
--
* {product-title}: `\https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-ocp-413-x86-64-202305021736`
* {opp}: `\https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-opp-413-x86-64-202305021736`
* {oke}: `\https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-oke-413-x86-64-202305021736`
--
`spec.template.spec.providerSpec.value.kind`::
Specifies the cloud provider platform type.
Do not change this value.
`spec.template.spec.providerSpec.value.projectID`::
Specifies the name of the {gcp-short} project that you use for your cluster.
`spec.template.spec.providerSpec.value.projectID.region`::
Specifies the {gcp-short} region for the cluster.
`spec.template.spec.providerSpec.value.serviceAccounts`::
Specifies a single service account.
Specifying more than one service account is not supported.
`spec.template.spec.providerSpec.value.userDataSecret`::
Specifies the control plane user data secret.
Do not change this value.
`spec.template.spec.providerSpec.value.zone`::
This parameter is in the failure domain configuration and has an empty value here.
+
--
include::snippets/cpmso-failure-domain-param-precedence.adoc[]
--