brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 26. 2024

NKS 2탄-4.ArgoCD 설치

<1> ArgoCD 구성요소 3가지

<2> ArgoCD 설치



<1> ArgoCD 구성요소 3가지


1

API 서버 

web, cli , cd/cd api 제공


2

레파지토리 서버


3

애플리케이션 컨트롤러 ?

제어, 모니터링하는 쿠버네티스 컨트롤러



4

# 유틸 설치


yum install jq -y




<2> ArgoCD 설치 



1

watch -d kubectl get ns,deploy,rs,svc,pods --kubeconfig="/root/kubeconfig.yaml"


watch -d kubectl get ns,deploy,rs,svc,pods



2

# 네임스페이스 생성 ?


kubectl create namespace argocd


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


kubens argocd



3

ArgoCD CLI 설치 ?


VERSION=$(curl --silent "https://api.github.com/repos/argoproj/argo-cd/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')


sudo curl --silent --location -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/download/$VERSION/argocd-linux-amd64


sudo chmod +x /usr/local/bin/argocd



4

테스트를 위해 ArgoCD  외부에서 접속 가능하도록 변경


# Load Balancer 이용 ?


kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'

service/argocd-server patched



5

# LB생성  확인


export ARGOCD_SERVER=`kubectl get svc argocd-server -n argocd -o json | jq --raw-output .status.loadBalancer.ingress[0].hostname`


 echo $ARGOCD_SERVER



6

# 암호는 ArgoCD API 서버의 포드 이름?


ARGO_PWD=`kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d`


 echo $ARGO_PWD



7

# admin으로 로그인


argocd login $ARGOCD_SERVER --username admin --password $ARGO_PWD --insecure


'admin:login' logged in successfully

Context 'argocd-argocd-server-1b5f8-101293030-16d7bcf35b58.kr.lb.naverncp.com' updated





8

# 웹으로 접속 확인?


echo $ARGOCD_SERVER


argocd-argocd-server-1b5f8-101293030-16d7bcf35b58.kr.lb.naverncp.com




고급 - 안전하지 않음으로 이동.

admin






브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari