Version Management with ArgoCD
ArgoCD Installation
Follow the steps below to install ArgoCD on the Kubernetes Cluster.
Create a namespace for ArgoCD:
kubectl create namespace argocd
Apply ArgoCD manifest files from GitHub repository:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Monitor the startup of pods:
watch kubectl get pods -n argocd

Configure the service type as NodePort to access the ArgoCD interface:
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}'
kubectl get svc argocd-server -n argocd

Access the ArgoCD interface using the port address your service exposes externally:
http://<KUBERNETES_WORKER_IP_ADDRESS>:<PORT>

Decode and display the password encoded in Base64 format:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo
The default username is admin. You can log in to the ArgoCD interface using this information.
Git Installation and Repository Configuration
Perform Git installation and configure the repository to push deployment files to GitHub.
Install the Git package:
sudo apt update
sudo apt install git
git --version
Git may ask you for user information. Configure using the following commands:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Create a repository on GitHub to store your deployment files.
Add it to the git system as a remote address to be able to add files to the GitHub repository.
Authentication Error Solution
If you get an "Authentication failed" error when using git, follow these steps:
- Log in to your GitHub account
- Click your profile picture in the top right corner and select "Settings"
- Go to "Personal access tokens" under "Developer settings" from the left menu
- Click "Generate new token" after "Token"
- Give necessary permissions
- Go to the bottom of the page and click "Generate token"
- Copy the token value and save it to a safe place. You cannot view this value again.
Configure the remote address with the token:
git remote set-url origin https://<USERNAME>:<ACCESS_TOKEN>@<REPO_ADDRESS>
Example: https://test:ghp_xxxx@github.com/test/test.git
Add the Apinizer Manager deployment yaml file to the git version system and push it to the remote repository:
git init
git add apinizer-api-manager-deployment.yaml
git commit -m "manager add"
git remote add origin <GITHUB_REPO_ADDRESS>
git push -u origin master
Adding Git Repository to ArgoCD
After adding YAML files to the GitHub repository, you need to add this repository address from the ArgoCD interface.
There are many connection methods. For the HTTPS method, you need to fill in the following fields.
Important
If HTTPS is selected as the connection method, write the token value you created in the previous step in the password section.
Creating ArgoCD Application
You can automate your deployment processes by creating an application on ArgoCD.
Give a name for the application.
If you want ArgoCD to automatically check for updates in the repository, set the SYNC POLICY option to Automatic.
When Automatic sync policy is active, ArgoCD checks every 3 minutes on your behalf.

When you need a namespace that has not been created before in your Kubernetes Cluster, ArgoCD creates a namespace in your Kubernetes cluster with the AUTO-CREATE NAMESPACE option.


Application Management
ArgoCD visually shows you deployments, replica sets, and pods. You can view real-time log data of pods.
Manual Synchronization: You can manually synchronize a change made in your YAML file by pressing the SYNC button.
Automatic Synchronization: ArgoCD, which automatically detects every change made in YAML files, automates your deploy processes by updating your pods. This way, while your deploy processes occur more efficiently and quickly, you can prevent manual interventions and errors.