DeployNow
Advanced Deployment Options
Using Argo CD and Argo Apps to Deploy to Target Clusters
the best way to begin using and playing with your argo cd instance is our working repository at https //github com/opsverseio/microservices argo apps https //github com/opsverseio/microservices argo apps this will deploy a sample microservices based app to your target kubernetes cluster deploy a code repository using argo cd assumptions you already have access to your own kubernetes cluster ( or a managed one like eks, gke, aks etc ) you have an argocd setup for which declarative, gitops based continuous deployment lifecycle is managed ( if you don't have access to this, you may launch an opsverse deploynow stack which provides a managed argocd ) usage via argo cd ui ( not shown ) or cli https //argo cd readthedocs io/en/stable/cli installation/ ( shown here ), you can log into argocd instance argocd login ${argo host} username ${argo user} password ${argo pass} grpc web or ( if your org only allows sso access ) argocd login ${argo host} sso grpc web add a git repository you may either fork this sample git repo, or if you already have an existing repo, and add it to your argo instance argocd repo add https //github com/\<yourfork>/microservices argo apps add target kubernetes cluster ensure your kube context currently is on the cluster you want to add, and then you can run argocd cluster add \<nameofclusterconfig> name \<nameofcluster> argocd cluster list create argo applications you may create an argo app for whichever services you wish argo cd deploy e g , for myapp in adservice cartservice checkoutservice currencyservice emailservice frontend loadgenerator paymentservice productcatalogservice recommendationservice redis cart shippingservice; do \\ argocd app create ${myapp} app repo https //repo/from/step/2 path ${myapp} revision demo 1 dest server https //\<fromstep3> dest namespace \<targetnamespace>; \\ done for example, running above for just myapp=emailservice and then checking your argo instance should show the app created and healthy or , alternatively (instead of creating each app separately) if your destination cluster has argo cd crds installed on it , you can use the app of apps pattern https //argo cd readthedocs io/en/stable/operator manual/declarative setup/#app of apps to create a single argo application which would, in turn, create all the child apps \# ensure our child app definitions are pointing to the \# correct kubernetes cluster and git repos (from step 2 and 3 above) $ cd apps/ $ sed i 's/kubernetes changeme svc/10 64 52 7/g' yaml \# ^ do similar for the git repo added in step (2) \# create the app of apps $ argocd app create app of apps repo https //repo/from/step/2 path apps revision head dest server https //\<fromstep3> directory recurse view argo apps you may expand the argo app to see all kubernetes manifests synced to your target cluster app of apps pattern