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
An {product-title} cluster requires an Azure identity to create and manage Azure resources. As such, you need one of the following types of identities to complete the installation:
The installation program requires the subscription and tenant IDs that are associated with your Azure account. You can use the Azure CLI to gather this information.
10
+
11
+
.Prerequisites
12
+
13
+
* You have installed or updated the link:https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-yum?view=azure-cli-latest[Azure CLI].
14
+
15
+
.Procedure
16
+
17
+
. Log in to the Azure CLI by running the following command:
18
+
+
19
+
[source,terminal]
20
+
----
21
+
$ az login
22
+
----
23
+
24
+
. Ensure that you are using the right subscription:
25
+
26
+
.. View a list of available subscriptions by running the following command:
The installation program requires an Azure identity to complete the installation. You can use a service principal.
10
+
11
+
If you are unable to use a service principal, you can use a managed identity.
12
+
13
+
.Prerequisites
14
+
15
+
* You have installed or updated the link:https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-yum?view=azure-cli-latest[Azure CLI].
16
+
* You have an Azure subscription ID.
17
+
* If you are not going to assign the the `Contributor` and `User Administrator Access` roles to the service principal, you have created a custom role with the required Azure permissions.
18
+
19
+
.Procedure
20
+
21
+
. Create the service principal for your account by running the following command:
22
+
+
23
+
[source,terminal]
24
+
----
25
+
$ az ad sp create-for-rbac --role <role_name> \// <1>
26
+
--name <service_principal> \// <2>
27
+
--scopes /subscriptions/<subscription_id> <3>
28
+
----
29
+
<1> Defines the role name. You can use the `Contributor` role, or you can specify a custom role which contains the necessary permissions.
30
+
<2> Defines the service principal name.
31
+
<3> Specifies the subscription ID.
32
+
+
33
+
.Example output
34
+
[source,terminal]
35
+
----
36
+
Creating 'Contributor' role assignment under scope '/subscriptions/<subscription_id>'
37
+
The output includes credentials that you must protect. Be sure that you do not
38
+
include these credentials in your code or check the credentials into your source
39
+
control. For more information, see https://aka.ms/azadsp-cli
Copy file name to clipboardExpand all lines: modules/installation-initializing.adoc
+44-21Lines changed: 44 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -210,30 +210,40 @@ endif::nutanix[]
210
210
211
211
.Prerequisites
212
212
213
-
* Obtain the {product-title} installation program and the pull secret for your cluster.
213
+
* You have the {product-title} installation program and the pull secret for your cluster.
214
214
ifdef::restricted[]
215
215
For a restricted network installation, these files are on your mirror host.
216
216
ifndef::nutanix[]
217
-
* Have the `imageContentSources` values that were generated during mirror registry creation.
217
+
* You have the `imageContentSources` values that were generated during mirror registry creation.
218
218
endif::nutanix[]
219
219
ifdef::nutanix+restricted[]
220
-
* Have the `imageContentSourcePolicy.yaml` file that was created when you mirrored your registry.
221
-
* Have the location of the {op-system-first} image you download.
220
+
* You have the `imageContentSourcePolicy.yaml` file that was created when you mirrored your registry.
221
+
* You have the location of the {op-system-first} image you download.
222
222
endif::nutanix+restricted[]
223
-
* Obtain the contents of the certificate for your mirror registry.
223
+
* You have obtained the contents of the certificate for your mirror registry.
224
224
ifndef::aws,gcp[]
225
-
* Retrieve a {op-system-first} image and upload it to an accessible location.
225
+
* You have retrieved a {op-system-first} image and uploaded it to an accessible location.
226
226
endif::aws,gcp[]
227
227
endif::restricted[]
228
-
ifndef::nutanix[]
229
-
* Obtain service principal permissions at the subscription level.
230
-
endif::nutanix[]
228
+
ifdef::azure[]
229
+
* You have an Azure subscription ID and tenant ID.
230
+
* If you are installing the cluster using a service principal, you have its application ID and password.
231
+
* If you are installing the cluster using a system-assigned managed identity, you have enabled it on the virtual machine that you will run the installation program from.
232
+
* If you are installing the cluster using a user-assigned managed identity, you have met these prerequisites:
233
+
** You have its client ID.
234
+
** You have assigned it to the virtual machine that you will run the installation program from.
235
+
endif::azure[]
231
236
ifdef::nutanix[]
232
-
* Verify that you have met the Nutanix networking requirements. For more information, see "Preparing to install on Nutanix".
237
+
* You have verified that you have met the Nutanix networking requirements. For more information, see "Preparing to install on Nutanix".
233
238
endif::nutanix[]
234
239
235
240
.Procedure
236
241
242
+
ifdef::azure[]
243
+
. Optional: If you have run the installation program on this computer before, and want to use an alternative service principal or managed identity, go to the `~/.azure/` directory and delete the `osServicePrincipal.json` configuration file.
244
+
+
245
+
Deleting this file prevents the installation program from automatically reusing subscription and authentication values from a previous installation.
246
+
endif::azure[]
237
247
. Create the `install-config.yaml` file.
238
248
+
239
249
.. Change to the directory that contains the installation program and run the following command:
@@ -248,7 +258,13 @@ files that the installation program creates.
248
258
When specifying the directory:
249
259
* Verify that the directory has the `execute` permission. This permission is required to run Terraform binaries under the installation directory.
250
260
* Use an empty directory. Some installation assets, such as bootstrap X.509 certificates, have short expiration intervals, therefore you must not reuse an installation directory. If you want to reuse individual files from another cluster installation, you can copy them into your directory. However, the file names for the installation assets might change between releases. Use caution when copying installation files from an earlier {product-title} version.
251
-
261
+
.. At the prompts, provide the configuration details for your cloud:
262
+
... Optional: Select an SSH key to use to access your cluster machines.
263
+
+
264
+
[NOTE]
265
+
====
266
+
For production {product-title} clusters on which you want to perform installation debugging or disaster recovery, specify an SSH key that your `ssh-agent` process uses.
... Select *alibabacloud* as the platform to target.
254
270
... Select the region to deploy the cluster to.
@@ -265,16 +281,19 @@ installation program.
265
281
endif::aws[]
266
282
ifdef::azure[]
267
283
... Select *azure* as the platform to target.
268
-
... If you do not have a Microsoft Azure profile stored on your computer, specify the
269
-
following Azure parameter values for your subscription and service principal:
270
-
*****azure subscription id*: The subscription ID to use for the cluster.
271
-
Specify the `id` value in your account output.
272
-
*****azure tenant id*: The tenant ID. Specify the `tenantId` value in your
273
-
account output.
274
-
*****azure service principal client id*: The value of the `appId` parameter
275
-
for the service principal.
276
-
*****azure service principal client secret*: The value of the `password`
277
-
parameter for the service principal.
284
+
+
285
+
If the installation program cannot locate the `osServicePrincipal.json` configuration file from a previous installation, you are prompted for Azure subscription and authentication values.
286
+
... Enter the following Azure parameter values for your subscription:
287
+
*****azure subscription id*: Enter the subscription ID to use for the cluster.
288
+
*****azure tenant id*: Enter the tenant ID.
289
+
... Depending on the Azure identity you are using to deploy the cluster, do one of the following when prompted for the *azure service principal client id*:
290
+
**** If you are using a service principal, enter its application ID.
291
+
**** If you are using a system-assigned managed identity, leave this value blank.
292
+
**** If you are using a user-assigned managed identity, specify its client ID.
293
+
... Depending on the Azure identity you are using to deploy the cluster, do one of the following when prompted for the *azure service principal client secret*:
294
+
**** If you are using a service principal, enter its password.
295
+
**** If you are using a system-assigned managed identity, leave this value blank.
296
+
**** If you are using a user-assigned managed identity, leave this value blank.
278
297
... Select the region to deploy the cluster to.
279
298
... Select the base domain to deploy the cluster to. The base domain corresponds
280
299
to the Azure DNS Zone that you created for your cluster.
@@ -558,6 +577,10 @@ The `install-config.yaml` file is consumed during the installation process. If
558
577
you want to reuse the file, you must back it up now.
559
578
====
560
579
580
+
ifdef::azure[]
581
+
If previously not detected, the installation program creates an `osServicePrincipal.json` configuration file and stores this file in the `~/.azure/` directory on your computer. This ensures that the installation program can load the profile when it is creating an {product-title} cluster on the target platform.
582
+
endif::azure[]
583
+
561
584
ifdef::osp-user[You now have the file `install-config.yaml` in the directory that you specified.]
0 commit comments