Argo Rollouts Plugin
This topic describes the tasks that are available with the Argo Rollouts plugin.
About Argo Rollouts
Argo Rollouts is a Kubernetes controller and set of CRDs, which provide advanced deployment capabilities such as Blue-Green, Canary, Canary analysis, experimentation, and progressive delivery features to Kubernetes. It (optionally) integrates with Ingress controllers and service meshes, leveraging their traffic shaping abilities to gradually shift traffic to the new version during an update. The Digital.ai Release Argo Rollouts integration lets you automate Argo Rollout tasks and provides out of the box templates for Blue-Green and Canary deployments. With this plugin, you can Orchestrate Releases, and run your applications at scale.
Prerequisites
- Digital.ai Release 22.2.x or later
- Kubernetes cluster with Argo Rollouts installed
Install the Digital.ai Argo Rollouts Plugin
- From the top navigation bar, click the Admin menu.
- Select Manage Plugins.
- Search for Argo Rollouts and click Install now.
Note: If the plugin JAR file is not available in the Plugin Manager, then contact Digital.ai Support.
Connect to your Kubectl Unix host with Digital.ai Release
-
Log on to Digital.ai Release as an Administrator.
-
Select Connections from the sidebar navigation menu.
-
Click the + icon next to Unix Host.
-
Enter the title, Connection Type, Address, Port, and Auth Details.
-
Click Test to verify your connection to the Unix Host.
-
Click Save if the connection is successful.
Connect to your Argo Rollouts Setup with Digital.ai Release
-
Log on to Digital.ai Release as an Administrator.
-
Select Connections from the sidebar navigation menu.
-
Click the + icon next to Argo Rollouts.
-
Enter the title, Kubectl Path, and other optional parameters.
-
Click Save if the connection is successful.
Argo Rollout Tasks
The following tasks are available with the Argo Rollout plugin
- Execute Command
- Wait For Status
Execute Command
This task lets you run any Argo Rollout command using kubectl.
- The task takes in parameters like the Rollouts Configuration, Host, Command and a number of optional parameters.
- On a successful run, it returns the output of the command run.
Wait For Status
This task lets you wait for a specified Rollout status.
-
The task takes in parameters like the Rollouts Configuration, Host, Rollout Name, Expected Status and a number of optional parameters.
-
The tasks wait for the rollout to reach the specified status.
Blue/Green | Canary Deployment Templates
The templates let you configure and perform out of the box Blue-Green | Canary deployments with a few user inputs.
-
The template asks user to create global variables which it uses to maintain the state of the deployments.
global.blue-green.live-rollout
of type Text that contains the Argo Rollout name.global.blue-green.live-image
of type Text that contains the current running image.global.blue-green.live-container
of type Text that contains the container name.global.blue-green.prev-failed-image
of type Text that initially is empty but later saves the failed image from previous run. or for Canary Deployment,global.canary.live-rollout
of type Text that contains the Argo Rollout name.global.canary.live-image
of type Text that contains the current running image.global.canary.live-container
of type Text that contains the container name.global.canary.prev-failed-image
of type Text that initially is empty but later saves the failed image from previous run.
-
The template when run asks for the New image to deploy.
-
The template has to be run with Run automated tasks as user set to a user who has access to modify global variables.
-
When run, the template first asks user to confirm the new image in the first phase.
-
The second phase of the template makes a partial deployment or a review service and asks for the users confirmation to promote the deployment. The user can also chose to abort the promotion of the new version as well.
-
On successful promotion, the new application version is rolled out using the intended strategy. If the user aborts the promotion, the partial|revision deployment is rollbacked to the previous version.