|
| 1 | +# CloudProvider Configuration |
| 2 | + |
| 3 | +This document describes the CloudProvider configuration for the STACKIT Gardener Extension, including the cloudprovider secret and the `CloudProfileConfig`. |
| 4 | + |
| 5 | +## CloudProvider Secret |
| 6 | + |
| 7 | +The cloudprovider secret requires the following fields: |
| 8 | + |
| 9 | +| Field | Key | Description | Required | |
| 10 | +| -------------------- | --------------------- | ------------------------------------------ | -------- | |
| 11 | +| Project ID | `project-id` | project identifier | Yes | |
| 12 | +| Service Account JSON | `serviceaccount.json` | service account credentials in JSON format | Yes | |
| 13 | + |
| 14 | +**Example Secret:** |
| 15 | + |
| 16 | +```yaml |
| 17 | +apiVersion: v1 |
| 18 | +kind: Secret |
| 19 | +metadata: |
| 20 | + name: cloudprovider |
| 21 | + namespace: shoot--<project>--<cluster> |
| 22 | +type: Opaque |
| 23 | +stringData: |
| 24 | + project-id: <project-id> |
| 25 | + serviceaccount.json: <sa-json> |
| 26 | +``` |
| 27 | +
|
| 28 | +The service account needs the following permissions: |
| 29 | +
|
| 30 | +| Permission | Purpose | |
| 31 | +| ------------------------------ | ------------------------------------- | |
| 32 | +| `nlb.admin` | create network load balancer | |
| 33 | +| `blockstorage.admin` | CSI driver | |
| 34 | +| `compute.admin` | CCM node-controller | |
| 35 | +| `iaas.network.admin` | bastion and infrastructure controller | |
| 36 | +| `iaas.isoplated-network.admin` | infrastructure controller | |
| 37 | + |
| 38 | +## CloudProfileConfig Fields |
| 39 | + |
| 40 | +Example with comments: |
| 41 | + |
| 42 | +```yaml |
| 43 | +providerConfig: |
| 44 | + # image mappings used for bastion and workers |
| 45 | + machineImages: |
| 46 | + - name: ubuntu |
| 47 | + versions: |
| 48 | + - version: "22.04" |
| 49 | + regions: |
| 50 | + - name: eu01 |
| 51 | + # provider-specific image ID |
| 52 | + id: <image-id> |
| 53 | + architecture: amd64 |
| 54 | + # rescan block devices after resize |
| 55 | + rescanBlockStorageOnResize: true |
| 56 | + # list of IPs of DNS servers used while creating subnets |
| 57 | + dnsServers: |
| 58 | + - 1.1.1.1 |
| 59 | + # shoot storage classes |
| 60 | + storageClasses: |
| 61 | + - name: default |
| 62 | + default: true |
| 63 | + parameters: |
| 64 | + type: "storage_premium_perf4" |
| 65 | + provisioner: block-storage.csi.stackit.cloud |
| 66 | +``` |
0 commit comments