Trial Sandbox User Guide

User Guide for ISD for Argo Trial Sandbox

Introduction

This document is the user guide for OpsMx Intelligent Software Delivery (ISD) platform for Argo trial sandbox.

If you have not yet signed up for the ISD for Argo trial sandbox, click here to sign up. After sign-up you will receive an email with the credentials to log in.

Log in to the ISD for Argo Trial Sandbox.

Note: During trial, please reach out to us at opsmxtrialhelp@opsmx.io for assistance.

The ISD-Argo trial instance comes with two Argo CD instances (refer to the image below)

  1. read-write Argo CD instance

  2. read-only Argo CD instance

Note: Adding external customer Argo is not allowed in the Trial Sandbox. The Sandbox is a shared instance and for customer privacy, we don't support adding new instances through the Agent in this environment.

After you login into the ISD-Argo Trial sandbox, you will see the Application Dashboard with the Argo CD instances connected, and the sample applications that each of these instances preloaded with.

Each of these Argo CD instances has three sample applications each, which will help you to explore the following features of ISD-Argo.

  1. Enhanced Visibility Across Entire Argo CD Instances: In-depth visibility into the deployments managed by multiple Argo CD instances with the unified application dashboard.

  2. Delivery Insights Across Entire Argo CD Instances: The deployment insights like deployment frequency, most active applications, fastest deployments and other useful metrics.

  3. Comprehensive Deployments Audits: The history of your deployments. Comprehensive audit of deployments that can be stored per your organization requirement to help security audit.

  4. Progressive Delivery of Applications with Argo Rollouts: An use case to explore the Progressive Delivery of Applications. By the end of this topic, you will learn how to roll out an application using Argo CD and Argo Rollouts.

  5. Automated Analysis during Rollouts: An use case to explore the Automated Analysis during Rollouts. By the end of this topic, you will learn how to enable and trigger Automated Analysis during Rollouts.

  6. Application Deployment using Helm Chart: An use case to explore the deployment of an application using Helm Chart. By the end of this topic you will learn how to deploy an application to the Kubernetes cluster using a Helm Chart.

  7. Create your own Application: An use case that will help you to learn how to create your own application through our ISD UI.

  8. Connect your Argo CD to ISD: An use case that will help you learn how to connect an existing CD instance to ISD.

Read-write Argo CD sample applications

Read-write instance (read-write-qa) allows you to create new applications or edit and sync applications. The following three sample applications belong to the read-write instance.

  • sample-rollouts-app: It is an app that showcases progressive delivery using Argo CD and Argo Rollouts. Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Argo Rollouts provides advanced deployment capabilities such as blue-green, canary, canary analysis, experimentation, and progressive delivery features to Kubernetes.

  • sample-automated-analysis: The OpsMx Intelligent Software Delivery (ISD) platform integrates with Argo Rollout to automate the verification of deployments and reduce the risk of releasing faulty updates to production through progressive delivery. This sample app makes use of ISD Automated Analysis along with Argo CD and Argo Rollouts.

  • sample-helm-deploy-app: It is an app that deploys an example hello-world Helm Chart to the target Kubernetes cluster. Helm Chart is a packaging tool for Kubernetes. It packages all of your disparate manifests as a singular object to advertise to your cluster.

Read-only Argo CD sample applications

Read-Only instance (read-only-prod) is provided for you to have applications with sample data for you to review. This also shows you our ability to enforce RBAC across multiple Argo CDs per desired configuration.

The following three sample apps which are labelled as read-only are the same apps listed above but these apps are for your reference only and you can not make any changes to these apps. You can explore these apps by clicking on the app name.

  • rollouts-demo-read-only: It is a sample read-only app that showcases progressive delivery using Argo CD and Argo Rollouts.

  • automated-analysis-demo-read-only: It is a sample read-only app makes use of ISD Automated Analysis along with Argo CD and Argo Rollouts to automate the verification of deployments and reduce the risk of releasing faulty updates to production through progressive delivery.

  • helm-deploy-demo-read-only: It is a sample read-only app that deploys an example hello-world Helm Chart to the target Kubernetes cluster.

Enhanced Visibility Across Entire Argo CD Instances

The OpsMx ISD platform offers in-depth visibility into the deployments managed by multiple Argo CD instances with the unified application dashboard. With this platform, teams can easily see which applications are deployed where, when changes were made, and what triggered the new deployment. This centralized view of deployment status across all Argo CD instances can be incredibly valuable for teams deploying microservices applications in a multi-cluster environment.

Delivery Insights Across Entire Argo CD Instances

ISD platform provides insights about the development team through its built-in DORA metrics dashboard. The deployment insights dashboard provides critical information for a DevOps manager or development manager around the state of their software development process including DORA metrics - deployment frequency and other useful metrics.

To see the “Delivery Insights” click on the “Insights” tab from the top menu.

For detailed information on Delivery Insights, refer here.

Comprehensive Deployments Audits

ISD platform provides a comprehensive audit of deployments that can be stored per your organization requirement (up to 18 months) to help security audit. Deployments Audit page shows you the history of your deployments such as the total number of deployments (during a specific time period), start time and end time of a particular deployment, duration of that deployment, source and revision, etc.

To see the Deployments Audit, click on the “Audit” in the top menu.

For detailed information on Deployments Audit, refer here.

Progressive Delivery of Applications with Argo Rollouts

Argo Rollout provides many deployment strategies to help for a safer application rollout including blue-green, canary, experimentation, and progressive delivery. Progressive delivery of applications is key to ensuring the blast radius of a bad update in production is minimal. In progressive delivery, the traffic to the new version is gradually increased while analyzing the behavior of the new version. If the new version meets the expectation, it is fully deployed. If not, Argo Rollout will roll back the changes to the current baseline version.

The “sample-rollouts-app” app showcases progressive delivery using Argo CD and Argo Rollouts. Follow the steps below to explore this sample application.

  1. Click on the “sample-rollouts-app” application from the ISD application dashboard. Refer to the image below.

  2. The “Application Status” page appears. Click on the “rollout” object from the deployment hierarchy as shown in the image below.

  3. Click on the “MORE” tab from the pop-up window. Now you will see the Argo rollout dashboard extension which is available with ISD. This rollout uses “Canary” as a deployment strategy. In a canary rollout, the operator releases a new version of their application to a small percentage of the production traffic. There are two types of steps used in this rollout. The “Set Weight” step is used to define the percentage of traffic released to the new version. The “Pause” is a step used to define the duration between two steps. Refer to the image below.

  4. Now let us trigger the rollouts. Generally, changes in the manifest files stored in Git trigger a rollout. Since it is a demo, let us edit the live manifest from ISD UI. To do so, click on “SUMMARY” and scroll down to “LIVE MANIFEST” and then click on the “EDIT” button. Refer to the image below.

  5. Make some changes in the manifest file and click the “SAVE” button. For example, let us say we change the image file from “argoproj/rollouts-demo:blue” to “argoproj/rollouts-demo:green”. If it is already “green” in the image name, you can change it to “blue” and vice versa. Refer to the images below. You can also change the steps in the rollouts or the replicas. For example, change the weight in the second “Set Weight” Step to 30 or change the replicas to 4.

  6. Once you click the “SAVE” button, the rollout triggers. You can observe that in the “SUMMARY” page. In the below image you can see that the STATUS is changed to “OutOfSync” and HEALTH is changed to “Progressing”.

  7. Now click on the “More” tab. You can see a new Revision is created and the pods in the Revisions are being updated according to the strategy. Refer to the image below. For example in the below image, the first step says “Set Weight” is 10%. That means 10% of the pods will be in the new version and the remaining 90% of the pods will be in the older version. Based on the defined pause duration, the rollout pauses for 1 minute in this example and then continues to the next step.

  8. Once the rollout completes, all the pods are updated to the new version. You can see all the pods in the new revision in the below image.

Automated Analysis during Rollouts

Argo Rollouts has basic analysis capabilities, but it doesn’t support log analysis and complex groups of metrics.

ISD uses machine learning algorithms, Natural Language Processing (NLP), and statistical analysis to evaluate new releases and identify potential risks in comparison to the base releases. It integrates with the widely used log and metrics monitoring tools to perform analysis during the rollout process. See the Automated Analysis User Guide for more information.

The “sample-automated-analysis” app makes use of ISD Automated Analysis along with Argo CD and Argo Rollouts. This example also uses Prometheus as the metric provider and ElasticSearch as the log provider. For detailed information on configuring and enabling Automated Analysis for your deployments, refer to the Getting started with Automated Analysis document.

Follow the steps below to explore this sample application

  1. Click on the “sample-automated-analysis” application from the ISD application dashboard. Refer to the image below.

  2. The “Application Status” page appears. The analysis is already enabled for this application. You can find the Analysis Template and other ConfigMaps in the deployment hierarchy. Click on the “rollout” object as shown in the image below.

  3. Click on the “MORE” tab from the pop-up window. Now you will see the Argo rollout dashboard extension which is available with ISD. You can find the “Analysis” under “Steps” which means the analysis is enabled. Refer to the image below.

  4. Now let us trigger the rollouts and analysis run. Generally, changes in the manifest files stored in Git trigger a rollout. Since it is a demo, let us edit the live manifest from ISD UI. To do so, click on “SUMMARY” and scroll down to “LIVE MANIFEST” and then click on the “EDIT” button. Refer to the image below.

  5. Make some changes in the manifest file and click the “SAVE” button. For example, let us say we change the image file from “quay.io/opsmxpublic/canary-issuegen:issue-canary-gen-1421” to “quay.io/opsmxpublic/canary-issuegen:issue-canary-gen-1422”. Refer to the images below.

    Note: You can use a range of image versions from 1420 to 1430.

  6. Once you click the “SAVE” button, the rollout triggers. You can observe that in the “SUMMARY” page. In the below image you can see that the STATUS is changed to “OutOfSync” and HEALTH is changed to “Progressing”.

  7. Now click on the “More” tab. Wait for a few minutes until the analysis run completes.

    The “Analysis X-X” tab under the “Revisions” indicates the status of the analysis. If the color of the tab is grey, the analysis run is in progress. The color green indicates the analysis is successful and the color red indicates the analysis is failed. The numbers on the “Analysis X-X” tab indicate the revision and the step. For example, “Analysis 13-2” means revision is 13 and it belongs to the third step in the rollout.

    The rollout is considered successful when all the analysis runs are successful, If any of the analysis fails, the rollout stops and the deployment rollbacks to the previous stable version.

    Click on the “Analysis X-X” tab in the latest revision to view the analysis report. Refer to the images above.

  8. Now you will see the Analysis Report. The report includes a detailed analysis of logs and metrics between the baseline and the new release. Refer to the images below. To understand the log and metric analysis and provide guided input, refer to the user guide here.

Application Deployment using Helm Chart

The “sample-helm-deploy-app” deploys an example hello-world helm chart to the target Kubernetes cluster. Follow the steps below to explore this sample application.

  1. Click on the “sample-helm-deploy-app” application from the ISD application dashboard. If you are not able to find this application in the application dashboard, enter the app name in the search box. Refer to the image below.

  2. The “Application Status” page appears. Click on the “APP DETAILS” tab as shown in the image below.

  3. Click the “EDIT” button on the “SUMMARY” page as shown in the image below.

  4. Select a different version of CHART. For example, let us change the CHART version from 1.0.2 to 1.0.3 as shown in the image below and click the “SAVE” button and then click on the close button.

  5. It will take you to the Application Status page and you can see that the “CURRENT SYNC STATUS” is changed to “OutOfSync”. Refer to the image below.

  6. Click on the “SYNC” button and then click on the “SYNCHRONIZE” button from the pop-up window to deploy the application. Refer to the image below.

  7. Now you can observe that the deployment is in progress as shown in the image below.

  8. Once the deployment is completed, you can see the “CURRENT SYNC STATUS” is changed to “Synced” from “OutOfSync”. Refer to the image below.

Create your own Application

On top of exploring our sample applications, you can also create your own application in this ISD-Argo Trial sandbox and deploy it to the default Kubernetes cluster. Follow the steps below to create an application.

  1. From the ISD Home page click on “Setup” and then click on the “CD Integration” tab in the left-side navigation panel. Refer to the image below.

  2. Click on the URL of “read-write-qa” instance as shown in the image below.

  3. The Argo CD login page appears. Click on the “LOG IN VIA OPSMX-OPENLDAP” button and log in to the Argo CD UI, using the same credentials that you have already received for the ISD-Argo Trial instance. Refer to the image below.

  4. Now it will take you to the application dashboard of Argo CD UI. click on the “+NEW APP” button. Refer to the image below.

  5. A new pop-up window appears to provide attributes as shown in the images below.

  6. Enter the application attributes as described below on the above screen and then click the “CREATE” button.

    • Application Name: A unique name to identify this application. In this example, we have given the application name as “hello-world”

    • Project Name: Name of the project this application belongs to. Select “opsmxproj”.

    • Sync Policy: Select “Manual” as the Sync policy.

    • Sync Options: Select the check box “AUTO-CREATE NAMESPACE”.

    • Repository URL: Source Repository URL. There are two repositories available. One is a Git repository and another one is a helm repository. Select any one of them. In this example, we are selecting the Git repository URL “https://github.com/OpsMx/read-write-qa-repo”.

    • Path: Folder inside the Repository. In the above Git repository URL you will find the following folders.

      • guestbook: A hello word guestbook app as plain YAML

      • kustomize-guestbook: The guestbook app as a Kustomize 2 app

      • blue-green: Demonstrates how to implement blue-green deployment using Argo Rollouts. Type the name of any one of the above folders. In this example, we are selecting the “blue-green” folder.

    • Cluster URL: URL of the Kubernetes cluster where you are going to deploy the application. Select the URL “https://kubernetes.default.svc”.

    • Namespace: Kubernetes Namespace. Give any name to the namespace. In this example we are giving the name as “demo1-namespace”.

  7. Once you click the “CREATE” button, the application will be created and it appears in the Argo CD application dashboard. Refer to the image below.

  8. Now click on the “SYNC” button on the application in the application dashboard and then click on the “SYNCHRONIZE” button in the pop-up window to deploy the application as shown in the image below.

  9. Click on the application and go to the application status page. There you will find the “CURRENT SYNC STATUS” as “Synced”. Refer to the image below.

  10. Go back to the ISD application dashboard. There you can find the newly created application. Refer to the image below.

Connect your Argo CD to ISD

You can connect your own existing Argo CD instance to ISD from the CD Integration page in the ISD UI. Click here to know the steps to follow for this process.

This ISD Argo instance is a trial version and used by many other trial users. The Argo CD instances, the applications and the related deployments could be seen by other trial users, hence please add your Argo CD instances & applications at your own risk. OpsMx would not take any responsibility for the security of any of the ArgoCD instances you add.

Last updated