ISD-Argo Full Installation

Introduction

This document provides step-by-step instructions for installing ISD-Argo with an agent on a Kubernetes cluster.

The installation involves the following components:

  • OEA(OpsMx Enterprise for Argo )-UI and associated components (Audit, Platform, Autopilot)

  • Argo components (Argo CD + Rollouts)

  • Additional supporting/common components (DB, Redis, OpenLDAP)

In Full Installation mode, you can install ISD + Master OEA (Argo components: Argo CD+Rollouts) and it will integrate Argo CD with ISD by default with an agent.

Note: ISD-Argo Full Installation v4.1.1 supports the following Argo Components:

  • Argo CD - v2.4.8

  • Argo Rollouts - v1.2.0

Environment requirements:

  • It is assumed that you have an installed k8s cluster with nginx and cert-manager. If not, refer to the document here for more information on the Environment setup for ISD for Argo.

  • For production grade installation, please refer to the Infrastructure requirements here.

ISD-Argo Full Installation Steps:

Follow the instructions below for Full Installation of ISD for Argo:

  1. Create a namespace in your cluster.

    kubectl create ns <namespace name>
  2. Clone the enterprise Argo repo and change the directory to enterprise-argo by using below commands.

    git clone https://github.com/OpsMx/enterprise-argo.git
    cd enterprise-argo/charts/isdargo/

    Note: The isd-argo-minimal-values.yaml provided in the repo is adequate and recommended for Full Installation. If you would like to have some advanced-level configurations for secret management, cluster configuration, etc, you can use values.yaml. If you need any additional clarifications with respect to values.yaml for installation, please contact OpsMx support.

  3. Configure URLs for ISD, Argo CD, and Argo Rollouts as per your DNS record.

  4. Modify the below commands by replacing the URLs that you have configured and run those commands from your terminal.

    sed -i "s/ISD.REPLACE.THIS.WITH.YOURCOMPANY.COM/<Provide your ISD url here>/g" isd-argo-minimal-values.yaml
    
    sed -i "s/ARGO.REPLACE.THIS.WITH.YOURCOMPANY.COM/<Provide your Argo CD url here>/g" isd-argo-minimal-values.yaml
    
    sed -i "s/ROLLOUTS.REPLACE.THIS.WITH.YOURCOMPANY.COM/<Provide your Argo rollouts url here>/g" isd-argo-minimal-values.yaml
  5. Run the below command to install the application.

    helm install <release name> . -n <namespace name> -f isd-argo-minimal-values.yaml 

    Update the following information in the above command: Release name: You can give any name as release name (better to give namespace name as release name).

    Namespace name: Give the namespace name which you have created before.

  6. After successful installation, you can see the pods in your namespace. Use the below command to check the pods in your namespace.

    kubectl get pods -n <namespace name>
  7. Once all the pods are up and running, you can access the applications with URLs you have configured before. Use the below command to get those URLs.

    kubectl get ing -n <namespace name>
  8. Access the URLs (ISD/Argo CD/Argo Rollouts) through browser & login into application

    using the credentials listed below:

    • User Name: admin

    • Password: Execute the following command to retrieve the password

      kubectl -n <namespace name> get secret openldap -o jsonpath='{.data.LDAP_ADMIN_PASSWORD}'| base64 -d
  9. Now go to the ISD UI and refresh it, you will see the Agent in healthy status, which means the agent is successfully connected to ISD and Argo CD/Argo Rollouts is integrated with ISD by default . Refer to the image below.

  10. Now you can create applications in Argo CD/Argo Rollouts and they will get synced in ISD automatically.

Note: If you are facing any Issues during installation, refer to the Troubleshooting page.

Last updated