Skip to content

Commit bf506a9

Browse files
committed
HIVE-2911: docs - add Microsoft Entra Workload ID cluster installation procedure
1 parent eb1dc4f commit bf506a9

File tree

4 files changed

+573
-7
lines changed

4 files changed

+573
-7
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ In the future Hive will support more cloud providers.
2828
* [Cluster Hibernation](./docs/hibernating-clusters.md)
2929
* [Cluster Pools](./docs/clusterpools.md)
3030
* [PrivateLink](./docs/privatelink.md)
31+
* [AWS STS](./docs/aws-sts-provisioning.md)
32+
* [Microsoft Entra Workload ID](./docs/microsoft_entra_workload_id.md)
3133
* [Hiveutil CLI](./docs/hiveutil.md)
3234
* [Scaling Hive](./docs/scaling-hive.md)
3335
* [Developing Hive](./docs/developing.md)

docs/aws-sts-provisioning.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Provisioning AWS STS Clusters
22

3-
It is possible to use Hive to provision clusters configured to use Amazon's Security Token Service, where cluster components use short lived credentials that are rotated frequently, and the cluster does not have an admin level AWS credential. This feature was added to the in-cluster OpenShift components in 4.7, see documentation [here](https://docs.openshift.com/container-platform/4.7/authentication/managing_cloud_provider_credentials/cco-mode-sts.html).
3+
It is possible to use Hive to provision clusters configured to use Amazon's Security Token Service, where cluster components use short lived credentials that are rotated frequently, and the cluster does not have an admin level AWS credential. This feature was added to the in-cluster OpenShift components in 4.20, see documentation [here](https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/authentication_and_authorization/managing-cloud-provider-credentials#cco-short-term-creds).
44

55
At present Hive does not automate the STS setup, rather we assume the user configures STS components manually and provides information to Hive. The following instructions refer to the `ccoctl` tool. This tool can be extracted from the OpenShift release image. See steps below.
66

@@ -31,7 +31,7 @@ chmod u+x ccoctl
3131

3232
## Setup STS Infrastructure
3333

34-
Create AWS resources using the [ccoctl](ccoctl.md#steps-create) tool (you will need aws credentials with sufficient permissions). The command below will generate public/private ServiceAccount signing keys, create the S3 bucket (with public read-only access), upload the OIDC config into the bucket, set up an IAM Identity Provider that trusts that bucket configuration, and create IAM Roles for each AWS CredentialsRequest extracted above. It will also dump the files needed by the installer in the `_output` directory. Installation secret manifests will be found within `_output/manifests`.
34+
Create AWS resources using the ccoctl tool (you will need aws credentials with sufficient permissions). The command below will generate public/private ServiceAccount signing keys, create the S3 bucket (with public read-only access), upload the OIDC config into the bucket, set up an IAM Identity Provider that trusts that bucket configuration, and create IAM Roles for each AWS CredentialsRequest extracted above. It will also dump the files needed by the installer in the `_output` directory. Installation secret manifests will be found within `_output/manifests`.
3535
```
3636
./ccoctl aws create-all --name <aws_infra_name> --region <aws_region> --credentials-requests-dir ./credrequests --output-dir _output/
3737
```
@@ -54,3 +54,11 @@ Create a ClusterDeployment normally with the following changes:
5454
1. In your ClusterDeployment set `spec.boundServiceAccountSigningKeySecretRef.name` to point to the Secret created above (`bound-service-account-signing-key`).
5555
1. In your ClusterDeployment set `spec.provisioning.manifestsSecretRef` to point to the Secret created above (`cluster-manifests`).
5656
1. Create your ClusterDeployment + InstallConfig to provision your STS cluster.
57+
58+
59+
## Note: Cleanup AWS resources after uninstalling the cluster
60+
Make sure you clean up the following resources after you uninstall your cluster. To delete resources created by ccoctl, run
61+
```bash
62+
$ ./ccoctl aws delete --name=<name> --region=<aws-region>
63+
```
64+
where name is the name used to tag and account any cloud resources that were created, and region is the aws region in which cloud resources were created.

docs/install.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,12 @@ Sample output:
4545
```bash
4646
$ oc get pods -n hive
4747
NAME READY STATUS RESTARTS AGE
48-
hive-clustersync-0 1/1 Running 0 16m
49-
hive-controllers-6fcbf74864-hdn27 1/1 Running 0 17m
50-
hive-operator-7b877b996b-ndlpj 1/1 Running 0 17m
51-
hiveadmission-7969fd9dd-l24jb 1/1 Running 0 17m
52-
hiveadmission-7969fd9dd-pl2ml 1/1 Running 0 17m
48+
hive-clustersync-0 1/1 Running 0 34s
49+
hive-controllers-5d67988cc8-97r5p 1/1 Running 0 35s
50+
hive-machinepool-0 1/1 Running 0 34s
51+
hive-operator-5c7fdd6df8-jrxvt 1/1 Running 0 3m30s
52+
hiveadmission-5bf565bd7-nqq9h 1/1 Running 0 32s
53+
hiveadmission-5bf565bd7-tkf4c 1/1 Running 0 32s
5354
```
5455

5556
# Next Step

0 commit comments

Comments
 (0)