Worker OEA Installation via curl command
Introduction:
This document provides step-by-step instructions for installing Argo + Agent on a Kubernetes cluster using a single curl command; it is assumed that the user is already using ISD in his environment.
The installation involves the following components:
Argo Components (ArgoCD, Rollouts)
Agent configuration and Integration of ArgoCD with ISD
Additional supporting/common components (Redis, OpenLDAP)
Environment requirements:
It is assumed that you have a Kubernetes cluster with Nginx and cert-manager already installed. 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.
Pre-requisites:
kubeconfig of the Argo CD installed cluster
ISD installed
URL and Username/Password
Mapping of host URL with agent-grpc service. If not, do the mapping using this doc.
Worker OEA Installation Steps:
Worker OEA installation can be done using a single curl command. It is Helm in the backend.
Follow the instructions below for installation of Worker OEA and Integration of Argo CD with ISD.
Run the following curl command for installation.
curl -o argo-agent.sh https://raw.githubusercontent.com/opsmx/enterprise-argo/main/curl/4.1.1/argo-agent.sh && chmod 777 argo-agent.sh && ./argo-agent.sh
After running the above curl command, enter the following inputs.
Specify Namespace: argoagent
Specify ISD-UI URL: isd.ninja-test.opsmx.net
Specify ISD Username: admin
Specify ISD Password: Execute the following command to retrieve the password
kubectl get secret openldap -o jsonpath='{.data.LDAP_ADMIN_PASSWORD}'| base64 -d
Specify Controller DNS: isdcontroller.agent.opsmx.net
Specify ArgoCD URL: argocdagent.argo.opsmx.net
Specify ArgoRollout URL: argorolloutagent.argo.opsmx.net
Specify Agent name: argoremote
After passing the above parameters, the output appears as follows. Wait for the installation to complete.
$ curl -o argo-agent.sh https://raw.githubusercontent.com/opsmx/enterprise-argo/main/curl/4.1.1/argo-agent.sh && chmod 777 argo-agent.sh && ./argo-agent.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 13870 100 13870 0 0 20609 0 --:--:-- --:--:-- --:--:-- 20578 A R G O - A G E N T ------------------------------------------------------------ System Requirements ------------------------------------------------------------ Configuration with at least 4 cores and 16 GB memory Kubernetes cluster 1.19 or later Helm 3 is setup on the client system Installation - https://helm.sh/docs/intro/install/ Nginx ingress controlled installed Installation - https://kubernetes.github.io/ingress-nginx/deploy/ Cert-manager installed Installation - https://cert-manager.io/docs/installation/kubernetes/ ------------------------------------------------------------ Prerequisite: ------------------------------------------------------------ 1. ISD installed 2. Controller mapped to the DNS CHECK: nslookup <controller DNS> ------------------------- Press enter to continue... ------------------------------------- Pre Installation ------------------------------------- Please Specify the required data for installation .... Specify Namespace: argoagent Specify ISD-UI URL: isd.ninja-test.opsmx.net Specify ISD Username: admin Specify ISD Password: Execute the following command to retrieve the password kubectl get secret openldap -o jsonpath='{.data.LDAP_ADMIN_PASSWORD}'| base64 -d Specify Controller DNS: isdcontroller.agent.opsmx.net Specify ArgoCD URL: argocdagent.argo.opsmx.net Specify ArgoRollout URL: argorolloutagent.argo.opsmx.net --- Specify Agent name: argoremote Checking for dependency...... Kubectl present in server.. Helm present in server.. yq present in server.. Installed ArgoCLI dependency Existing CRD's analysisruns.argoproj.io ------------------------------------- Installation ------------------------------------- Adding the helm repo.... Updating the helm repo ... Creating the Namespace ... namespace/argoagent created Installing... NAME: isdargoargoagent LAST DEPLOYED: Thu Nov 3 11:20:02 2022 NAMESPACE: argoagent STATUS: deployed REVISION: 1 TEST SUITE: None ------------------------------------- Post Installation ------------------------------------- ARGO services to be stabilize Waiting for ARGO services to be ready ARGO services are Up and Ready.. 'admin:login' logged in successfully Context 'argocdagent.argo.opsmx.net' updated {"id":14} % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 11105 100 11105 0 0 3207 0 0:00:03 0:00:03 --:--:-- 3207 LICENSE README.md kubectl-slice Wrote /tmp/yamls/serviceaccount-opsmx-agent-argoremote.yaml -- 163 bytes. Wrote /tmp/yamls/clusterrole-opsmx-agent-argoremote.yaml -- 897 bytes. Wrote /tmp/yamls/clusterrolebinding-opsmx-agent-argoremote.yaml -- 382 bytes. Wrote /tmp/yamls/role-opsmx-role-argoremote.yaml -- 293 bytes. Wrote /tmp/yamls/rolebinding-opsmx-binding-argoremote.yaml -- 348 bytes. Wrote /tmp/yamls/deployment-opsmx-agent-argoremote.yaml -- 1619 bytes. Wrote /tmp/yamls/configmap-opsmx-agent-argoremote.yaml -- 2704 bytes. Wrote /tmp/yamls/secret-opsmx-agent-argoremote.yaml -- 4675 bytes. 8 files generated. ------------------------------------------------- Applying the agent file in argocd namespcace clusterrole.rbac.authorization.k8s.io/opsmx-agent-argoremote created clusterrolebinding.rbac.authorization.k8s.io/opsmx-agent-argoremote created configmap/opsmx-agent-argoremote created deployment.apps/opsmx-agent-argoremote created configmap/opsmx-services-argoremote created role.rbac.authorization.k8s.io/opsmx-role-argoremote created rolebinding.rbac.authorization.k8s.io/opsmx-binding-argoremote created secret/opsmx-agent-argoremote created serviceaccount/opsmx-agent-argoremote created ------------------------------------------------------- ....Installation Completed Sucessfully.... Access the URL's: ISD : isd.ninja-test.opsmx.net ArgoCD: argocdagent.argo.opsmx.net ArgoRollouts: argorolloutagent.argo.opsmx.net Login with Openldap Credentials -------------------------------------------------------
Once the installation is successfully completed, you can find the URLs of ISD, Argo CD, Argo Rollouts and Login Credentials in the output.
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 get secret openldap -o jsonpath='{.data.LDAP_ADMIN_PASSWORD}'| base64 -d
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. Refer to the image below.
Now you can create applications in Argo CD/Argo Rollouts and they will get synced in ISD automatically.
Last updated
Was this helpful?