helm repo add argo https://argoproj.github.io/argo-helm

helm repo update
kubectl create namespace argocd
helm install argocd argo/argo-cd -n argocd
kubectl get all -n argocd
ClusterIP 로 만들어진다. NodePort나 Load Balancer로 서비스를 수정해서 외부에서 접근이 가능하다.helm show values argo/argo-cd > argocd-values.yaml
nano argocd-values.yaml
helm upgrade argocd argo/argo-cd -n argocd -f argocd-values.yaml
argocd-values.yaml 파일에서
argocd-server 를 ctrl + w 로 찾고
service :
type: NodePort로 바꿔준다.

로컬 쿠버네티스를 실습하기 위해서 가상머신을 이용해서 리눅스를 설치하고 클러스터를 구성할 때 되도록이면 Control Plane은 GUI를 같이 설치하는 것이 좋다.
초기 비밀번호 확인
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d
유저네임 : admin
비밀번호 : u5oFop2vDay5Q187
kubectl edit svc argocd-server -n argocd
- name: http
port: 80
protocol: TCP
targetPort: 8080
nodePort: 30080 # 요기
- name: https
port: 443
protocol: TCP
targetPort: 8080
nodePort: 30443 # 요기
selector:
app.kubernetes.io/instance: argocd
app.kubernetes.io/name: argocd-server
sessionAffinity: None
type: NodePort # 요기
service/argocd-server NodePort 10.101.180.29 <none> 80:30080/TCP,443:30443/TCP 18m
이므로 http://localhost:30443, http://localhost:30080 로 접속 가능
NodePort로 바꿔주지 않았다면
kubectl port-forward service/argocd-server -n argocd 포트번호:443
kubectl port-forward service/argocd-server -n argocd 포트번호:80
kubectl port-forward service/argocd-server -n argocd 30443:443
로컬 컴퓨터에서 http://localhost:30443 로 브라우저에서 접근 가능

kubectl port-forward service/argocd-server -n argocd 30080:80
로컬 컴퓨터에서 http://localhost:30080 로 브라우저에서 접근 가능

argo/application.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: nginx
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
destination:
namespace: nginx
server: https://kubernetes.default.svc
project: default
source:
repoURL: https://charts.bitnami.com/bitnami
chart: nginx
targetRevision: 13.2.10
kubectl apply -f argo
http://localhost:30080 에 접속해서 확인하면 아래처럼 볼 수 있다.

다운로드 : curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
실행권한 부여 : chmod +x argocd-linux-amd64
파일 이동 : sudo mv argocd-linux-amd64 /usr/local/bin/argocd
버전확인 : argocd version

argocd login localhost:30080 # 자신이 설정한 노드포트
argocd app delete nginx

argocd app create nginx \
--repo https://charts.bitnami.com/bitnami \
--helm-chart nginx \
--revision 13.2.10 \
--dest-server https://kubernetes.default.svc \
--dest-namespace nginx
argocd app sync nginx
# 실행 결과
TIMESTAMP GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE
2025-08-26T02:32:38+00:00 Service nginx nginx OutOfSync Missing
2025-08-26T02:32:38+00:00 apps Deployment nginx nginx OutOfSync Missing
2025-08-26T02:32:38+00:00 Service nginx nginx OutOfSync Healthy
2025-08-26T02:32:38+00:00 Service nginx nginx Synced Healthy
2025-08-26T02:32:38+00:00 Service nginx nginx Synced Healthy service/nginx created
2025-08-26T02:32:38+00:00 apps Deployment nginx nginx OutOfSync Missing deployment.apps/nginx created
2025-08-26T02:32:38+00:00 apps Deployment nginx nginx Synced Progressing deployment.apps/nginx created
Name: argocd/nginx
Project: default
Server: https://kubernetes.default.svc
Namespace: nginx
URL: https://argocd.example.com/applications/nginx
Source:
- Repo: https://charts.bitnami.com/bitnami
Target: 13.2.10
SyncWindow: Sync Allowed
Sync Policy: Manual
Sync Status: Synced to 13.2.10
Health Status: Progressing
Operation: Sync
Sync Revision: 13.2.10
Phase: Succeeded
Start: 2025-08-26 02:32:38 +0000 UTC
Finished: 2025-08-26 02:32:38 +0000 UTC
Duration: 0s
Message: successfully synced (all tasks run)
GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE
Service nginx nginx Synced service/nginx created
apps Deployment nginx nginx Synced deployment.apps/nginx created

설치 가이드 : https://argocd-autopilot.readthedocs.io/en/stable/Installation-Guide/
리눅스 에서 설치
# get the latest version or change to a specific version
VERSION=$(curl --silent "https://api.github.com/repos/argoproj-labs/argocd-autopilot/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
# download and extract the binary
curl -L --output - https://github.com/argoproj-labs/argocd-autopilot/releases/download/"$VERSION"/argocd-autopilot-linux-amd64.tar.gz | tar zx
# move the binary to your $PATH
sudo mv ./argocd-autopilot-* /usr/local/bin/argocd-autopilot
# check the installation
argocd-autopilot version
Access Token 발급

권한 전체 선택 하고 토큰 발급 받기
token : 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
Repository 생성
https://github.com/lnaura/argocd_proj
환경변수 등록
export GIT_TOKEN=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
export GIT_REPO=https://github.com/lnaura/argocd_proj
argocd-autopilot repo bootstrap
서비스 수정 NodePort 로
(이미 전에 수정해서 수정 안해도 됨)
kubectl get svc -n argocd
argocd-autopilot project create sample
깃허브 접속해서 확인

argocd-autopilot app create 앱이름 --app 앱url -p 프로젝트이름
argocd-autopilot app create hello-world --app github.com/argoprojlabs/argocd-autopilot/examples/demo-app/ -p sample
argocd 웹 확인
argocd-autopilot app create hello-world --app github.com/argoprojlabs/argocd-autopilot/examples/demo-app/ -p sample
깃 확인