Applications
Introduction
Applications represent a group of Containers that will be deployed together, and therefore share common policies. Application placement rules enable policies to be defined for a particular Application.
Start configuring your Package by adding Applications.
Add an Application
On Package details page, when adding your first application, a new application form with container fields is displayed, followed by optional sections on declaring the inbound and outbound network rules along with storage.
Provide the following information:
- Application name - The display name of your application
- Rollout restart - (Optional) By enabling 'Requires rollout restart', it triggers a restart of application pods during deployment. If a failure requires this Application to be moved and restarted, all other Applications in the Package will also be restarted to preserve overall package integrity.
- Run on clusters with privileged mode - (Optional) Once you click on 'Allow application to run on clusters with privileged mode', it allows the application containers, configured for privileged mode, to run on clusters that have privileged mode enabled.
- Replica count - Choose the number of replicas of the Application to be deployed to a single cluster
- Container name - The display name of your container. Note: If the Image Tag property of a Container is not set, then the tag of the image is assumed to be latest.
- Registry credentials - The registry defaults to docker.io, if you have a private registry choose from registries configured in your Project.
- Image - The container's working directory or filename. Note: It currently defaults to docker.io/, but the link can be replaced by other public repositories such as ghcr.io or quay.io
- Run in privileged Mode - (Optional) As you saw the option above for priviledge mode while defining the application specs. Corresponding to this, if the check is enabled at the application level, the option is available to be enabled when defining the container specs here. Note: You may add 1 or more containers to your application, where this check could be enabled.
- Command - (Optional) Add command(s) to be executed at container runtime.
- Command Arguments - (Optional) Define the arguments for the command.
Once the above form fields are populated, click on Save & Continue
.
Next, declare the container resources, such as CPU and Memory requests and limits (Optional). The reources are indentified as follows:
- CPU - The amount of CPU cycles, in 1/1000th of a 'core'.
- Memory - The amount of main system RAM, in megabytes.
You may also supply additional resources such as GPU by declaring the Vendor details such as nvidia.com/gpu with it request and limit. Note:: Its mandatory to define limits if not the request in this case.
Once the resources are saved, you may provide the Environment Variables (Optional) that can be passed as values or secrets at container runtime.
After adding or skipping the environment variables, you now need to define the network policies. You start with the Inbound network (Optional), which are rules about the application and traffic sources as inbound connections. You may proceed to Skip
to continue to add remote endpoints as your Outbound network (Optional) to give your application access to external resources, if any.
You may proceed to Skip
the network policies and define them later after adding more applications to your package.
Once the network section completed or skipped, you can set up your storage by mapping the existing requests to container volumes.
After successfully saving the details, you will see the newly created Application and its Container details tabulated on the package page.
Edit an Application
When needed, you can update an application. On the application details page,
- Click on
Edit
to change the application name and/or the Replica count. - Click on
Save
.
Delete an Application
You can also delete an application. On the application details page,
- Click on
Edit
. - Then, click on
Delete
.