brunch

NKS 2탄-4.ArgoCD 설치

by Master Seo

<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


10 argo.png


40 argo.png




keyword
매거진의 이전글NKS 2탄-3. NKS 부하테스트