EKS + ArgoCD

kyungbin kim·2024년 3월 4일
0

SESAC Final Project

목록 보기
3/11
post-custom-banner

매니페스트 에 대한 기본 지식


1. 사전 작업

사전 작업 1 : 서버에 aws cli 설치

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version

사전 작업 2 : aws 로그인

aws configure   # cli login 진행
aws s3 ls   # login 확인 용도

사전 작업 3 : aws kubectl 설치

kubectl version --client   # kubectl이 설치되어 있는지 확인
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/linux/amd64/kubectl
chmod +x ./kubectl
mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
  • kubectl get svc 결과 aws cli 버전 오류 발생

    - 해결) kubectl 다운그레이드
    문제 없는 서버의 aws cli, kubectl 버전
    curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.23.6/bin/linux/amd64/kubectl
    chmod +x ./kubectl

사전 작업 4 : helm 설치

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh


2. AWS EKS CLI 연동

<출처>

aws eks --region eu-west-3 update-kubeconfig --name dev-eks
kubectl get nodes

3. ArgoCD 설치

1) argocd 네임스페이스 생성

kubectl create ns argocd

2) argocd 네임스페이스에 ArgoCD 설치

  • kubectl apply -n argocd \ -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
  • 확인 : kubectl get all -n argocd

3) ArgoCD 로드밸런서 생성(k8s ingress 이용) - ??

이건 못함

4) 서버에 ArgoCD CLI 설치

https://github.com/argoproj/argo-cd/releases/latest 에서 가져옴(?)

# argocd CLI 설치
sudo curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
chmod +x /usr/local/bin/argocd

5) ArgoCD API 서비스 노출

  • 기본적으로 ArgoCD API 서버는 외부 주소로 노출되지 않으므로 다음 중 한 가지로 외부 접속을 가능하게 만듬
    • LoadBalancer 타입의 Service
    • NodePort 타입의 Service
    • Ingress
    • Port Forwarding
  • LB 타입의 서비스 생성
    kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
  • 서비스 확인
    kubectl describe svc argocd-server -n argocd

    출처

6) ArgoCD 서버 접속

  • Admin 계정으로, 비밀번호는 다음 명령어로 확인하여 로그인(위의 LB 서비스로 접속)
    0TyDOfnGiao9wYr6


7) ArgoCD login

#argocd login [argocd의 주소(eks의 경우 argocd-server를 띄운 서비스로 접속(nodeport / loadbalaner / port forwarding)]

argocd login a9c031c9f704b4ef78ded75d62150d05-968188297.ca-central-1.elb.amazonaws.com
-> 로그인 진행


Helm 설치 이후
helm search hub : helm hub에서 chart를 검색
Ex) mysql 이라는 chart를 검색

# helm search hub mysql  
URL                                               	CHART VERSION	APP VERSION	DESCRIPTION
...
https://hub.helm.sh/charts/stable/mysql           	1.6.2        	5.7.28     	Fast, reliable, scalable, and easy to use open-...
...

https://github.com/SeSAC-AWS-Final-Team-2/dev-eks/blob/main/third-party/helm/01-helm.md

post-custom-banner

1개의 댓글

comment-user-thumbnail
2024년 4월 25일

Whether you're a fan of retro games or simply enjoy fast-paced arcade adventures, Tomb of the Mask offers a unique blend of aesthetics and gameplay that is sure to captivate players. So, embark on this thrilling journey, collect treasures, and navigate the ever-changing labyrinth to test your skills and have an enjoyable gaming experience.

답글 달기