github.com/kyma-project/kyma-environment-broker@v0.0.1/docs/user/03-10-service-description.md (about) 1 # Service description 2 3 Kyma Environment Broker (KEB) is compatible with the [Open Service Broker API](https://www.openservicebrokerapi.org/) (OSBAPI) specification. It provides a ServiceClass that provisions SAP BTP, Kyma runtime on a cluster. 4 5 ## Service plans 6 7 The supported plans are as follows: 8 9 | Plan name | Plan ID | Description | 10 |-----------|---------|-------------| 11 | `azure` | `4deee563-e5ec-4731-b9b1-53b42d855f0c` |Installs Kyma runtime on the Azure cluster. | 12 | `azure_lite` | `8cb22518-aa26-44c5-91a0-e669ec9bf443` | Installs Kyma Lite on the Azure cluster. | 13 | `aws` | `361c511f-f939-4621-b228-d0fb79a1fe15` | Installs Kyma runtime on the AWS cluster. | 14 | `gcp` | `ca6e5357-707f-4565-bbbd-b3ab732597c6` | Installs Kyma runtime on the GCP cluster. | 15 | `trial` | `7d55d31d-35ae-4438-bf13-6ffdfa107d9f` | Installs Kyma trial plan on Azure, AWS or GCP. | 16 | `free` | `b1a5764e-2ea1-4f95-94c0-2b4538b37b55` | Installs Kyma free plan on Azure or AWS. | 17 18 There are also three experimental plans: 19 20 | Plan name | Plan ID | Description | 21 |-----------|---------|-------------| 22 | `openstack` | `03b812ac-c991-4528-b5bd-08b303523a63` | Installs Kyma runtime on the OpenStack cluster. | 23 | `own_cluster` | `03e3cb66-a4c6-4c6a-b4b0-5d42224debea` | Installs Kyma runtime on a custom Kubernetes cluster. | 24 | `preview` | `5cb3d976-b85c-42ea-a636-79cadda109a9` | Installs Kyma runtime on AWS using Lifecycle Manager. | 25 26 > **CAUTION:** The experimental plans may fail to work or be removed. 27 28 ## Provisioning parameters 29 30 There are two types of configurable provisioning parameters: the ones that are compliant for all providers and provider-specific ones. 31 32 ### Parameters compliant for all providers 33 34 These are the provisioning parameters that you can configure: 35 36 | Parameter name | Type | Description | Required | Default value | 37 |----------------|-------|-------------|:----------:|---------------| 38 | **name** | string | Specifies the name of the cluster. | Yes | None | 39 | **components** | array | Defines optional components that are installed in a Kyma runtime. The possible values are `kiali` and `tracing`. | No | [] | 40 | **kymaVersion[<sup>1</sup>](#version)** | string | Provides a Kyma version on demand. | No | None | 41 | **overridesVersion[<sup>1</sup>](#version)** | string | Provides an overrides version for a specific Kyma version. | No | None | 42 | **purpose** | string | Provides a purpose for a Kyma runtime. | No | None | 43 | **targetSecret** | string | Provides the name of the Secret that contains hyperscaler's credentials for a Kyma runtime. | No | None | 44 | **platform_region** | string | Defines the platform region that is sent in the request path. | No | None | 45 | **platform_provider** | string | Defines the platform provider for a Kyma runtime. | No | None | 46 | **context.tenant_id** | string | Provides a tenant ID for a Kyma runtime. | No | None | 47 | **context.subaccount_id** | string | Provides a subaccount ID for a Kyma runtime. | No | None | 48 | **context.globalaccount_id** | string | Provides a global account ID for a Kyma runtime. | No | None | 49 | **context.sm_operator_credentials.clientid** | string | Provides a client ID for SAP BTP Service Operator. | No | None | 50 | **context.sm_operator_credentials.clientsecret** | string | Provides a client secret for SAP BTP Service Operator. | No | None | 51 | **context.sm_operator_credentials.sm_url** | string | Provides a SAP Service Manager URL for SAP BTP Service Operator. | No | None | 52 | **context.sm_operator_credentials.url** | string | Provides an authentication URL for SAP BTP Service Operator. | No | None | 53 | **context.sm_operator_credentials.xsappname** | string | Provides an XSApp name for SAP BTP Service Operator. | No | None | 54 | **context.user_id** | string | Provides a user ID for a Kyma runtime. | No | None | 55 | **oidc.clientID** | string | Provides an OIDC client ID for a Kyma runtime. | No | None | 56 | **oidc.groupsClaim** | string | Provides an OIDC groups claim for a Kyma runtime. | No | `groups` | 57 | **oidc.issuerURL** | string | Provides an OIDC issuer URL for a Kyma runtime. | No | None | 58 | **oidc.signingAlgs** | string | Provides the OIDC signing algorithms for a Kyma runtime. | No | `RS256` | 59 | **oidc.usernameClaim** | string | Provides an OIDC username claim for a Kyma runtime. | No | `email` | 60 | **oidc.usernamePrefix** | string | Provides an OIDC username prefix for a Kyma runtime. | No | None | 61 | **administrators** | string | Provides administrators for a Kyma runtime. | No | None | 62 | **networking.nodes** | string | The Node network's CIDR. | No | `10.250.0.0/22` | 63 | **modules.default** | bool | Defines whether to use a default list of modules | No | None | 64 | **modules.list** | array | Defines a custom list of modules | No | None | 65 66 ### Provider-specific parameters 67 68 These are the provisioning parameters for Azure that you can configure: 69 70 <div tabs name="azure-plans" group="azure-plans"> 71 <details> 72 <summary label="azure-plan"> 73 Azure 74 </summary> 75 76 | Parameter name | Type | Description | Required | Default value | 77 | ---------------|-------|-------------|:----------:|-----------------------------------------------| 78 | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `Standard_D8_v3` | 79 | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `50` | 80 | **region** | string | Defines the cluster region. | Yes | None | 81 | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["1"]` | 82 | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `2` | 83 | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create, up to `40` allowed. | No | `10` | 84 | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` | 85 | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of VMs that can be unavailable during an update. | No | `1` | 86 87 </details> 88 <details> 89 <summary label="azure-lite-plan"> 90 Azure Lite 91 </summary> 92 93 | Parameter name | Type | Description | Required | Default value | 94 | ---------------|-------|-------------|:----------:|----------------------------------------------| 95 | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `Standard_D4_v3` | 96 | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `50` | 97 | **region** | string | Defines the cluster region. | Yes | None | 98 | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["1"]` | 99 | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `2` | 100 | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create, up to `40` allowed. | No | `10` | 101 | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` | 102 | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of VMs that can be unavailable during an update. | No | `1` | 103 104 </details> 105 </div> 106 107 These are the provisioning parameters for AWS that you can configure: 108 <div tabs name="aws-plans" group="aws-plans"> 109 <details> 110 <summary label="aws-plan"> 111 AWS 112 </summary> 113 114 | Parameter name | Type | Description | Required | Default value | 115 | ---------------|-------|-------------|:----------:|---------------| 116 | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `m5.2xlarge` | 117 | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `50` | 118 | **region** | string | Defines the cluster region. | Yes | None | 119 | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["1"]` | 120 | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `3` | 121 | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create, up to `40` allowed. | No | `10` | 122 | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` | 123 | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that can be unavailable during an update. | No | `1` | 124 125 </details> 126 </div> 127 128 These are the provisioning parameters for GCP that you can configure: 129 130 <div tabs name="gcp-plans" group="gcp-plans"> 131 <details> 132 <summary label="gcp-plan"> 133 GCP 134 </summary> 135 136 | Parameter name | Type | Description | Required | Default value | 137 | ---------------|-------|-------------|:----------:|---------------| 138 | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `n2-standard-8` | 139 | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `30` | 140 | **region** | string | Defines the cluster region. | Yes | None | 141 | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["a"]` | 142 | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `3` | 143 | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create. | No | `4` | 144 | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` | 145 | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of VMs that can be unavailable during an update. | No | `1` | 146 147 </details> 148 </div> 149 150 These are the provisioning parameters for OpenStack that you can configure: 151 152 <div tabs name="openstack-plans" group="openstack-plans"> 153 <details> 154 <summary label="openstack-plan"> 155 OpenStack 156 </summary> 157 158 | Parameter name | Type | Description | Required | Default value | 159 | ---------------|-------|-------------|:----------:|---------------| 160 | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `m2.xlarge` | 161 | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `30` | 162 | **region** | string | Defines the cluster region. | Yes | None | 163 | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["a"]` | 164 | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `2` | 165 | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create. | No | `10` | 166 | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` | 167 | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that can be unavailable during an update. | No | `1` | 168 169 </details> 170 </div> 171 172 ## Trial plan 173 174 The trial plan allows you to install Kyma runtime on Azure, AWS, or GCP. The plan assumptions are as follows: 175 - Kyma runtime is uninstalled after 14 days and the Kyma cluster is deprovisioned after this time. 176 - It's possible to provision only one Kyma runtime per global account. 177 178 To reduce the costs, the trial plan skips one of the [provisioning steps](./03-20-runtime-operations.md#provisioning), that is, `AVS External Evaluation`. 179 180 ### Provisioning parameters 181 182 These are the provisioning parameters for the Trial plan that you can configure: 183 184 <div tabs name="trial-plan" group="trial-plan"> 185 <details> 186 <summary label="trial-plan"> 187 Trial plan 188 </summary> 189 190 | Parameter name | Type | Description | Required | Possible values| Default value | 191 | ---------------|-------|-------------|----------|---------------|---------------| 192 | **name** | string | Specifies the name of the Kyma runtime. | Yes | Any string| None | 193 | **region** | string | Defines the cluster region. | No | `europe`,`us`, `asia` | Calculated from the platform region | 194 | **provider** | string | Specifies the cloud provider used during provisioning. | No | `Azure`, `AWS`, `GCP` | `Azure` | 195 | **context.active** | string | Specifies if the Kyma runtime should be suspended or unsuspended. | No | `true`, `false` | None | 196 197 The **region** parameter is optional. If not specified, the region is calculated from platform region specified in this path: 198 ```shell 199 /oauth/{platform-region}/v2/service_instances/{instance_id} 200 ``` 201 The mapping between the platform region and the provider region (Azure, AWS or GCP) is defined in the configuration file in the **APP_TRIAL_REGION_MAPPING_FILE_PATH** environment variable. If the platform region is not defined, the default value is `europe`. 202 203 </details> 204 </div> 205 206 ## Own cluster plan 207 208 > **NOTE:** The `own_cluster` plan has been deprecated. 209 210 These are the provisioning parameters for the `own_cluster` plan that you configure: 211 212 <div tabs name="own_cluster-plan" group="own_cluster-plan"> 213 <details> 214 <summary label="own_cluster-plan"> 215 Own cluster plan 216 </summary> 217 218 | Parameter name | Type | Description | Required | Default value | 219 | ---------------|-------|-------------|----------|---------------| 220 | **kubeconfig** | string | Kubeconfig that points to the cluster where you instal Kyma runtime. | Yes | None | 221 | **shootDomain** | string | Domain of the shoot where you install Kyma runtime. | Yes | None | 222 | **shootName** | string | Name of the shoot where you install Kyma runtime. | Yes | None | 223 224 </details> 225 </div> 226 227 ## Preview cluster plan 228 229 The preview plan allows to test integration with Lifecycle Manager. The preview plan skips steps which integrate KEB and Reconciler. 230 231 ### Provisioning parameters 232 233 These are the provisioning parameters for the `preview` plan that you configure: 234 235 <div tabs name="preview_cluster-plan" group="preview_cluster-plan"> 236 <details> 237 <summary label="preview_cluster-plan"> 238 Preview cluster plan 239 </summary> 240 241 | Parameter name | Type | Description | Required | Default value | 242 | ---------------|-------|-------------|:----------:|---------------| 243 | **machineType** | string | Specifies the provider-specific virtual machine type. | No | `m5.2xlarge` | 244 | **volumeSizeGb** | int | Specifies the size of the root volume. | No | `50` | 245 | **region** | string | Defines the cluster region. | Yes | None | 246 | **zones** | string | Defines the list of zones in which Runtime Provisioner creates a cluster. | No | `["1"]` | 247 | **autoScalerMin[<sup>2</sup>](#update)** | int | Specifies the minimum number of virtual machines to create. | No | `3` | 248 | **autoScalerMax[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines to create, up to `40` allowed. | No | `10` | 249 | **maxSurge[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that are created during an update. | No | `4` | 250 | **maxUnavailable[<sup>2</sup>](#update)** | int | Specifies the maximum number of virtual machines that can be unavailable during an update. | No | `1` | 251 252 </details> 253 </div> 254 <br> 255 <a name="version"><sup>1</sup> This parameter will not be available after all Kyma components become independent modules.</a> <br> 256 <a name="update"><sup>2</sup> This parameter is available for `PATCH` as well, and can be updated with the same constraints as during provisioning.</a>