How to install & Upgrade ArgoCd?

Requirements for installing ArgoCd

  • Installed kubectl command-line tool.
  • Have a kubeconfig file (default location is ~/.kube/config).
  • CoreDNS. Can be enabled for microk8s by microk8s enable dns && microk8s stop && microk8s start
  • Kubernetes cluster: ArgoCD runs on a Kubernetes cluster. You need to have a Kubernetes cluster set up and running before you can install ArgoCD.
  • Access to the Kubernetes cluster: You should have access to the Kubernetes cluster with sufficient privileges to create namespaces, deploy resources, and create custom resource definitions.
  • ArgoCD CLI: You need to have the ArgoCD CLI installed on your local machine to interact with the ArgoCD API and perform various tasks.
  • Access to a Git repository: ArgoCD uses Git as the source of truth for application definitions. You need to have access to a Git repository to store the application manifests.
  • Ingress controller: You need to have an Ingress controller set up in your Kubernetes cluster to access the ArgoCD web UI.
  • HTTPS certificate: It is recommended to use HTTPS for accessing the ArgoCD web UI. You need to have a valid HTTPS certificate to secure the communication.
  • Resources: ArgoCD requires resources such as CPU and memory to run. You should ensure that your Kubernetes cluster has enough resources to run ArgoCD. Hardware Requirements. it is recommended to have at least 2 CPU cores and 4GB of RAM for the Argo CD server.

Type of installations Argo CD

Multi-Tenant

The multi-tenant installation is the most common way to install Argo CD. This type of installation is typically used to service multiple application developer teams in the organization and maintained by a platform team..

Multi-Tenant installation is designed for multi-team and multi-project environments. It allows multiple teams to use a single Argo CD installation and manage their own applications, configurations, and users. Each team can have its own namespace, RBAC configuration, and Git repository, and can manage its own applications without affecting other teams. This installation type provides a high degree of isolation between teams and allows for centralized management and control.

Core

The core installation is most suitable for cluster administrators who independently use Argo CD and don’t need multi-tenancy features. This installation includes fewer components and is easier to setup. The bundle does not include the API server or UI, and installs the lightweight (non-HA) version of each component.

The end-users need Kubernetes access to manage Argo CD. The argocd CLI has to be configured using the following commands:

$ kubectl config set-context –current –namespace=argocd # change current kube context to argocd namespace
argocd login –core

The Web UI is also available and can be started using the argocd admin dashboard command.

Core installation, on the other hand, is designed for single-team or single-project environments. It provides a simpler and more lightweight installation, with a focus on managing a single application or a small set of applications. This installation type provides a lower overhead and is more suitable for smaller-scale deployments.

Overall

The main difference between Multi-Tenant and Core installation types is the level of isolation and management they provide. Multi-Tenant is designed for large-scale, multi-team environments, while Core is designed for smaller-scale, single-team environments.

Argo Installation Design

Shared Kubernetes Cluster

Multiple Shared Kubernetes Clusters

Types of ArgoCD Install

How to install ArgoCD – Multi-Tenant – High Availability – with cluster-admin access

$ kubectl create namespace argocd
$ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/ha/install.yaml

This will create a new namespace, argocd, where Argo CD services and application resources will live. The installation manifests include ClusterRoleBinding resources that reference argocd namespace. If you are installing Argo CD into a different namespace then make sure to update the namespace reference.

This default installation will have a self-signed certificate and cannot be accessed without a bit of extra work.

How to install ArgoCD – Multi-Tenant – Non High Availability – with cluster-admin access

$ kubectl create namespace argocd
$ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

This will create a new namespace, argocd, where Argo CD services and application resources will live. The installation manifests include ClusterRoleBinding resources that reference argocd namespace. If you are installing Argo CD into a different namespace then make sure to update the namespace reference.

This default installation will have a self-signed certificate and cannot be accessed without a bit of extra work. Do one of:

Rajesh Kumar
Follow me
Latest posts by Rajesh Kumar (see all)
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x