전체 글(108)
-
[Kubernetes] ArgoCD를 사용한 EKS 자동배포(1) - ArgoCD 배포
안녕하세요, 달콤한달팽이입니다.🐌🙂 이번 시간에는 AWS CodePipeline과 ArgoCD를 사용EKS 자동 배포 환경을 구축하는 방법에 대하여 알아보겠습니다.ArgoCD란?ArgoCD란, Kubernetes 환경에서의 GitOps 기반 CD(Continuous Delivery) 도구입니다.즉, Manifest 파일(yaml)의 변경사항을 감시하며, 현재 배포된 환경의 상태와 Menifest 파일의 상태를 동일하게 유지하도록 도와줍니다. 앞선 실습들에선 Kubernetes에서 구성 요소 배포를 위해 Manifest 파일(yaml)을 사용하였습니다.이러한 파일들은 점점 쌓이게 되고, 관리가 힘들어지게 될 것입니다. 실제로 최근들어 다양한 기업들에서도 MSA(MicroService Applica..
2024.12.06 -
[Kubernetes] AWS CodeBuild로 ECR 이미지 등록하기
안녕하세요, 달콤한달팽이입니다.🐌🙂 이번 시간에는 AWS CodeBuild를 사용하여AWS ECR에 이미지를 등록하는 방법에 대하여 알아보겠습니다. 이번 실습은 추후에 진행할 ArgoCD를 사용한 EKS CI/CD 환경 구축에 사용되어 먼저 진행해볼 예정입니다!컨테이너 이미지 생성EKS를 구성할 때 가장 필수적이고 기본적인 요소는 컨테이너 이미지입니다. 앞선 실습들에선 DockerHub에서 제공하는 기본이미지(ex. nginx, httpd etc..)를 사용했지만,실무에서는 코드 작성을 통해 직접 제작한 컨테이너 이미지를 통해 서비스를 운영할 것입니다. 이를 간단하게 그림으로 표현하면 아래와 같습니다.동작순서 1) 개발자의 코드 푸시 2) CodePipeline의 소스코드 변경 감지 3) 운영자의 수..
2024.11.25 -
[Kubernetes] 쿠버네티스 볼륨(Volume) - PV & PVC
안녕하세요, 달콤한달팽이입니다.🐌🙂 지난 시간에는 hostPath에 대하여 알아보았습니다. 오늘은 PV와 PVC라는 볼륨에 대하여 실습해보도록 하겠습니다. 이번 내용은 조금 길고, 부가적인 내용이 많으므로 차근차근 읽어보시길 바랍니다!PV & PVC란?PV 와 PVCPV와 PVC는 EKS 오브젝트와 별개의 생명주기를 통해 오브젝트 삭제로 인한 데이터 손실을 방지하는 영구 스토리지 제공방법을 의미합니다. PV는 실제 스토리지 볼륨 그 자체를, PVC는 Pod가 PV를 얻기 위해 수행하는 요청을 의미합니다.(PVC의 존재 이유는 기본적으로 PV는 직접 Pod에 마운트 할 수 없기 때문입니다!) 때문에 PV는 AWS EFS, EBS, FSx, NFS 등의 스토리지 볼륨을 의미하며,사용방식에 따라 정적 프로..
2024.10.08 -
[Kubernetes] 쿠버네티스 볼륨(Volume) - hostPath
안녕하세요, 달콤한달팽이입니다.🐌🙂 지난 시간에는 쿠버네티스에서 주로 사용하는 볼륨의 종류와 특징에 대하여 알아보았습니다. 오늘은 이 중 hostPath라는 볼륨에 대하여 실습해보도록 하겠습니다.hostPath란?실습에 앞서 hostPath란, Pod가 생성될 때 같이 생성되고, 삭제될 때 같이 삭제되는 임시 볼륨을 의미한다라고 했습니다. 때문에 이를 영구 스토리지로 사용하는 것 보다, 아래와 같은 특정 상황에서 사용하는 것을 권장드립니다. (1) Pod의 임시 데이터 저장이 필요할 경우 (2) 컨테이너 간 데이터를 공유해야 할 경우 (3)스토리지를 통한 성능 최적화가 필요할 경우 이번 실습에서는 하나의 Pod를 생성한 후, 노드의 hostPath에서 생성한 파일이 Pod의 경로에서도 확인이 가능한..
2024.10.08 -
[Kubernetes] 쿠버네티스 볼륨(Volume) - emptyDir
안녕하세요, 달콤한달팽이입니다.🐌🙂 지난 시간에는 쿠버네티스에서 주로 사용하는 볼륨의 종류와 특징에 대하여 알아보았습니다. 오늘은 이 중 emptyDir라는 볼륨에 대하여 실습해보도록 하겠습니다.emptyDir란?실습에 앞서 emptyDir란, Pod가 생성될 때 같이 생성되고, 삭제될 때 같이 삭제되는 임시 볼륨을 의미한다라고 했습니다. 때문에 이를 영구 스토리지로 사용하는 것 보다, 아래와 같은 특정 상황에서 사용하는 것을 권장드립니다. (1) Pod의 임시 데이터 저장이 필요할 경우 (2) 컨테이너 간 데이터를 공유해야 할 경우 (3)스토리지를 통한 성능 최적화가 필요할 경우 이번 실습에서는 하나의 Pod에 2개의 컨테이너를 생성한 후,하나의 컨테이너에서는 emptyDir에 파일 생성을, 다른 ..
2024.10.07 -
[Kubernetes] 쿠버네티스 볼륨(Volume) - 종류와 특징
안녕하세요, 달콤한달팽이입니다.🐌🙂 앞선 실습들을 통해 저희는 Pod가 언제든 소멸될 수 있는 Stateless 리소스임을 확인했습니다. 하지만 이 경우 Pod가 재시작되면 각각의 Pod 내부에 저장되어 있는 데이터들이 모두 사라진다는 문제가 발생합니다. 그래서 이번 시간에는 쿠버네티스에는 어떤 종류의 볼륨이 존재하는지 알아보도록 하겠습니다.1) emptyDiremptyDir란, Pod가 생성될 때 같이 생성되고, 삭제될 때 같이 삭제되는 임시 볼륨을 의미합니다. Pod과 생성주기를 공유하기 때문에 Pod 내부 컨테이너가 삭제 또는 재시작 되어도 계속 사용 가능한 특징이 있습니다. 2) hostPathhostPath란, Pod가 위치한 Node의 로컬 디스크 경로에 마운트해서 사용하는 방식을 의미합..
2024.09.26