What is Helm?
1. Install Helm:
If you haven't already installed Helm on your local machine and your Kubernetes cluster, you can follow the instructions provided in the official Helm documentation: Installing Helm.
2. Add Helm Chart Repositories:
Helm uses repositories to store and retrieve charts. You can add popular Helm chart repositories to your Helm configuration using the helm repo add
command. For example:
bashhelm repo add stable https://charts.helm.sh/stable helm repo add bitnami https://charts.bitnami.com/bitnami
This adds the stable and Bitnami repositories to your Helm configuration, allowing you to search for and install charts from these repositories.
3. Search for Helm Charts:
You can use the helm search repo
command to search for Helm charts available in the configured repositories. For example:
bashhelm search repo wordpress
This command searches for Helm charts related to WordPress in the configured repositories.
4. Customize Helm Values:
Before installing a Helm chart, you may need to customize the values used by the chart. You can create a values.yaml
file with your custom configuration values or override specific values using the --set
flag when installing the chart.
5. Install Helm Charts:
Once you've found the Helm chart you want to install and have customized the values as needed, you can use the helm install
command to install the chart. For example:
bashhelm install my-wordpress stable/wordpress -f values.yaml
This command installs the WordPress Helm chart from the stable repository using the values specified in the values.yaml
file.
6. Manage Helm Releases:
You can use various Helm commands to manage your Helm releases, such as helm list
to list installed releases, helm upgrade
to upgrade releases, and helm delete
to delete releases.
7. Helm Charts for Your Applications:
If you have custom applications or services that you want to deploy using Helm, you can create your own Helm charts to package and deploy them. The Helm documentation provides guidance on creating charts: Developing Charts.
Steps to Install ArgoCD on EKS:
Install ArgoCD using Helm:
Run the following commands to add the ArgoCD Helm repository and install ArgoCD:
bash# Add ArgoCD Helm repository
helm repo add argo https://argoproj.github.io/argo-helm
# Create namespace
kubectl create namespace argocd
# Install ArgoCD
helm install argocd argo/argo-cd --name-space argocd
Wait for ArgoCD Pods to be Ready:
After installing ArgoCD, wait for the pods to be in the Running
state. You can use the following command to monitor the pods:
bashkubectl get pods -n argocd
Access ArgoCD UI:
By default, ArgoCD's UI is not exposed externally. To access the UI, you need to create a port forward:
bashkubectl port-forward svc/argocd-server -n argocd 8080:443
Now, you can access the ArgoCD UI by navigating to http://localhost:8080
in your web browser. The default username is admin
and the password is the pod name of the ArgoCD API server.
Configure ArgoCD:
Once you're logged into the ArgoCD UI, you can start deploying applications or configuring Git repositories for continuous delivery.
Install ArgoCD using Helm:
Run the following commands to add the ArgoCD Helm repository and install ArgoCD:
bash# Add ArgoCD Helm repository
helm repo add argo https://argoproj.github.io/argo-helm
# Create namespace
kubectl create namespace argocd
# Install ArgoCD
helm install argocd argo/argo-cd --name-space argocd
Wait for ArgoCD Pods to be Ready:
After installing ArgoCD, wait for the pods to be in the Running
state. You can use the following command to monitor the pods:
bashkubectl get pods -n argocd
Access ArgoCD UI:
By default, ArgoCD's UI is not exposed externally. To access the UI, you need to create a port forward:
bashkubectl port-forward svc/argocd-server -n argocd 8080:443
Now, you can access the ArgoCD UI by navigating to http://localhost:8080
in your web browser. The default username is admin
and the password is the pod name of the ArgoCD API server.
Configure ArgoCD:
Once you're logged into the ArgoCD UI, you can start deploying applications or configuring Git repositories for continuous delivery.