Add a Kubernetes App Template
The App template defines the settings and configurations of the VM to be deployed in the sandbox as well as the application(s) to be installed on that VM.
CloudShell does not manage Kubernetes App connectivity at this time. This can be done using the external and internal ports defined in the App.
To add a new Kubernetes App template:
-
Click + Add.
The Create New App wizard is displayed.
-
From the Select Deployment Type pane, select Kubernetes Service.
-
Enter a Name for the App template.
noteThe App template's name has a limit of 100 characters and can only contain alpha-numeric characters, spaces, and the following characters: | . - _ ] [
-
Click Create.
The App template is created and the App wizard's General page is displayed.
-
In the General page, define the App template's display settings and category.
Field | Required | Description |
---|---|---|
Name | Required | App name that is displayed in the catalog. |
Description | Optional | Description of the App. |
Icon | Optional | Add an image to the catalog definition. The recommended size for the image is 190x120 pixels (image size is limited to 400x400 pixels or 200 KB). |
Categories | Optional | Service categories are a method to classify Apps. The Apps are displayed in the Add App / Service side pane in the blueprint and sandbox diagram, arranged in categories. Only users who are permitted to view the category can access the App. Apps without a category are not displayed. By default, the Applications category is selected. Select a category from the dropdown list. You can select additional categories. Examples of categories are: applications, networking and VLAN. Notes
|
-
In the left pane, click Deployment Paths and configure the App template's deployment path.
A deployment path defines (1) the VM’s settings such as storage size, CPU and image file, and (2) the CloudShell cloud provider resource that enables CloudShell to access the cloud provider and deploy the VM on it.
Note the deployment path's name (highlighted in the image below). The path's name is dynamic and consists of the selected Cloud Provider resource and Deployment type. You can change the name of the path by clicking the field.
-
From the Deployment drop down list, select the deployment type.
The selected deployment type's attributes are displayed.
-
Fill in the details.
For Kubernetes Service attributes:
Attribute Description Cloud Provider Name of the Kubernetes cloud provider resource to be used Image Name The name of the container image to use for creating the container. For example, "nginx".
Image must exist in the image repository used by the cluster.Image Tag (Optional) The container image tag (usually represents the image version). For example, "latest". Internal Ports (Optional) The ports required by the application for internal communications. For example, "27,332,13009" External Ports The ports required by the application for external communications (outside the cluster). Replicas The number of container instances that will be deployed. Default is "1".
CloudShell waits 120 seconds for all replicas to be in READY state.Start Commands (Optional) Replace the default start command for executing the container. Environment Variables (Optional) Comma separated list of 'key=value' environment variables that will be defined in the container. CPU Request (Optional) The requested CPU for each container. Fractional requests are also allowed. For example '0.5'. Optional unless any resource request or limit is specified. RAM Request (Optional) The requested RAM for each container. Memory is measured in bytes. Memory is expressed as a plain integer or as a fixed-point integer using one of these suffixes - E, P, T, G, M, K. You can also use the power-of-two equivalents - Ei, Pi, Ti, Gi, Mi, Ki. For example, '256M'. CPU Limit (Optional) The CPU limit for each container. Fractional limits are also allowed. For example '0.5'. RAM Limit (Optional) The RAM limit for each container. Memory is measured in bytes. Memory is expressed as a plain integer or as a fixed-point integer using one of these suffixes - E, P, T, G, M, K. You can also use the power-of-two equivalents - Ei, Pi, Ti, Gi, Mi, Ki. For example, '256M'.
-
-
To add additional deployment paths to the App template, click the Add New Deployment Path link at the bottom of the wizard and fill in the required information.
-
In the left pane, click Configuration Management and configure the application to be installed on the VM.
tipTo learn how to develop custom scripts and Ansible playbooks, including examples, and set up support for the desired configuration management tool, see Developing Configuration Management Scripts for Apps.
Notes-
To run configuration management on an Azure App, make sure the App's VM size is Basic_A2 or larger.
-
For configuration management operations, CloudShell uses an available Execution Server (for Ansible, it's a Linux Execution Server that has the Supports Ansible flag).
If the cloud provider resource has an Execution Server Selector configured, it will use that selector. If the selector is empty, CloudShell will use the selector defined in the appropriate Resource Manager Client > Configuration Services model (Ansible Configuration or Custom Script Configuration).
-
Execution Server selectors specified on the deployed App shell/resource are not used to execute configuration management operations.
-
- Define the script or playbook to install.
Attribute | Description |
---|---|
Select Tool | Select the application's installation and configuration tool.
Depending on the selection, additional options may become available. |
Connection Method | The method to use to connect to the VM. Select:
note To run configuration management on a Windows VM, the VM must have WinRM enabled. For details, see Enable WinRM on Windows VMs to Support Configuration Management. |
Playbook / Script Location | Details of the Ansible playbook or custom script.
Notes
|
Inventory Groups | (For Ansible) Specify the host groups for the application to be installed, separated by semicolons (;). The newly deployed VM will be associated to these groups, thus allowing plays that target these groups to run on the VM. For example: |
Parameters | Parameters to be passed to the Ansible playbook or custom script. Specify the parameters and their default values. In the blueprint or sandbox diagram, privileged users can also set the parameter to receive the value that is specified for a global input when reserving a sandbox containing the App. This is done by selecting the global input when editing the App in the blueprint or sandbox diagram. For example, a global input that specifies the build number of a product to be tested or which components of a product to install. important (For Ansible) To customize the port to be used to communicate with the VM, add the |
Additional Arguments | (For Ansible) Define arguments to be passed to the execution of the playbook ( The arguments must be specified in Resource Manager Client > Configuration Services family > Ansible Configuration model > Ansible Additional Arguments attribute. note The arguments are defined globally for all Apps using Ansible. important To configure Ansible to connect to certified hosts only (Linux VMs with a valid 'known_hosts' key), include the following additional arguments: |
-
To enable the end-user to rerun the App's configuration management on the deployed App in the sandbox, select Allow rerunning configuration management for resources deployed from the App. Once the App's deployment completes, a Rerun Configuration Management command is included in the deployed App's Application Commands pane. For details, see Run App Commands. This is useful for rolling back the App's VM to its original state.
-
To enable blueprint and sandbox owners to modify the App's Configuration Management details, select Allow blueprint/sandbox owners to modify the App's Configuration Management. The following details can be modified: playbook/script, authentication details, inventory groups, and parameters. Note that the modifications only apply to the blueprint or sandbox of the instance.
-
Optionally click the Add New Script/Playbook link at the bottom right to add additional custom scripts/Ansible playbooks to the App. The scripts will run in their display order, from top to bottom. You can drag scripts up or down to rearrange.
-
To change the script's alias, click the script's name and change as appropriate.
-
In the left pane, click App Resource to optionally set the VM's operating system user credentials (for example, to connect to the VM via RDP or SSH). You can also change the deployed App's Shell.
importantTo help sandbox end-users connect to the VM, it is recommended to include the User and Password in the blueprint's instructions. For additional information, see Add Instructions.
Attribute | Description |
---|---|
Shell | The Shell on which the App's VMs are based. When an App is deployed in a sandbox, it changes into a "deployed App resource", which is based on the selected Shell. By default, the "Generic App Model" Shell is used. Deployed Apps include a default set of commands such as Power On and Refresh IP, and the VM's User and Password attributes, as explained below. note Changing the Shell might cause additional fields to become visible and you may need to enter further information. |
User | User defined in the App's image. The User/Password credentials are used by QualiX to create in-browser connections to the VM from within the sandbox. Notes
|
Password | VM user's password. Notes
|
- Click Done.
The new App template is displayed in the Apps page.