|
9 | 9 | Optional if you do not have an existing Kubernetes cluster
|
10 | 10 | - [kind][kind-install]
|
11 | 11 | - [Docker][docker-install]
|
12 |
| - |
13 |
| -2. Set up Apache CloudStack credentials |
14 |
| - - Create a file named `cloud-config` in the repo's root directory, substituting in your own environment's values |
15 |
| - ``` |
16 |
| - [Global] |
17 |
| - api-url = <cloudstackApiUrl> |
18 |
| - api-key = <cloudstackApiKey> |
19 |
| - secret-key = <cloudstackSecretKey> |
20 |
| - ``` |
21 |
| -
|
22 |
| - - Run the following command to save the above Apache CloudStack connection info into an environment variable, to be used by clusterctl, where it gets passed to CAPC: |
23 |
| - ``` |
24 |
| - export CLOUDSTACK_B64ENCODED_SECRET=$(base64 -w0 -i cloud-config) |
25 |
| - ``` |
26 |
| -
|
27 |
| -3. Register the capi-compatible templates in your Apache CloudStack installation. |
| 12 | + |
| 13 | +2. Register the capi-compatible templates in your Apache CloudStack installation. |
28 | 14 | - Prebuilt images can be found [here][prebuilt-images]
|
29 | 15 | - To build a compatible image see [CloudStack CAPI Images][cloudstack-capi-images]
|
30 | 16 |
|
31 |
| -4. Create a management cluster. This can either be : |
32 |
| - - An existing Kubernetes cluster : For production use-cases a "real" Kubernetes cluster should be used with appropriate backup and DR policies and procedures in place. The Kubernetes cluster must be at least v1.19.1. |
| 17 | +3. Create a management cluster. This can either be : |
| 18 | + - An existing Kubernetes cluster: For production use-cases a "real" Kubernetes cluster should be used with appropriate backup and DR policies and procedures in place. The Kubernetes cluster must be at least v1.19.1. |
33 | 19 |
|
34 | 20 | - A local cluster created with `kind`, for non production use
|
35 | 21 | ```
|
36 | 22 | kind create cluster
|
37 | 23 | ```
|
| 24 | +4. Set up Apache CloudStack credentials as a secret in the management cluster |
| 25 | + - Create a file named `cloud-config.yaml` in the repo's root directory, substituting in your own environment's values |
| 26 | + ``` |
| 27 | + apiVersion: v1 |
| 28 | + kind: Secret |
| 29 | + metadata: |
| 30 | + name: cloudStackCredentials |
| 31 | + namespace: default |
| 32 | + type: Opaque |
| 33 | + stringData: |
| 34 | + api-key: <cloudstackApiKey> |
| 35 | + secret-key: <cloudstackSecretKey> |
| 36 | + api-url: <cloudstackApiUrl> |
| 37 | + verify-ssl: "false" |
| 38 | +
|
| 39 | + ``` |
| 40 | + - Apply this secret to the management cluster: |
| 41 | + - With the management cluster's KUBECONFIG in effect: |
| 42 | + ``` |
| 43 | + kubectl apply -f cloud-config.yaml |
| 44 | + ``` |
| 45 | + - Delete cloud-config.yaml when done, for security |
38 | 46 |
|
39 | 47 |
|
40 | 48 | ### Initialize the management cluster
|
|
0 commit comments