Kubernetes(11)
-
[Kubernetes] Prometheus, Grafana를 사용한 EKS 모니터링
안녕하세요, 달콤한달팽이입니다.🐌🙂 이번 시간에는 프로메테우스와 그라파나에 대하여 알아보고,이를 통해 EKS를 모니터링하는 시스템을 구현해보도록 하겠습니다.프로메테우스(Prometheus)란?프로메테우스란, 오픈소스 모니터링 툴로 대상 시스템으로부터 각종 모니터링 지표를 수집하여 저장하고 검색할 수 있는 툴입니다. 프로메테우스의 특징 1) MySQL, Tomcat, Kubernetes 등 다양한 시스템을 대상으로 적용할 수 있습니다. 2) 시계열 데이터(시간에 따른 변화 기록) 측정에 강점을 가지고 있습니다. 3) 메트릭 데이터를 대상 시스템이 프로메테우스로 전달하는 것이 아닌, 프로메테우스가 엔드포인트를 호출하여 메트릭을 가져가는 풀링 방식을 사용합니다. 4) 정해진 주기에 한 번씩 풀링을 수행..
2025.01.21 -
[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) - 종류와 특징
안녕하세요, 달콤한달팽이입니다.🐌🙂 앞선 실습들을 통해 저희는 Pod가 언제든 소멸될 수 있는 Stateless 리소스임을 확인했습니다. 하지만 이 경우 Pod가 재시작되면 각각의 Pod 내부에 저장되어 있는 데이터들이 모두 사라진다는 문제가 발생합니다. 그래서 이번 시간에는 쿠버네티스에는 어떤 종류의 볼륨이 존재하는지 알아보도록 하겠습니다.1) emptyDiremptyDir란, Pod가 생성될 때 같이 생성되고, 삭제될 때 같이 삭제되는 임시 볼륨을 의미합니다. Pod과 생성주기를 공유하기 때문에 Pod 내부 컨테이너가 삭제 또는 재시작 되어도 계속 사용 가능한 특징이 있습니다. 2) hostPathhostPath란, Pod가 위치한 Node의 로컬 디스크 경로에 마운트해서 사용하는 방식을 의미합..
2024.09.26 -
[Kubernetes] 노드 자원 보호하기(Drain, Cordon, Uncordon)
안녕하세요, 달콤한달팽이입니다.🐌🙂 이번 시간에는 Pod이 배포되는 노드에 이상이 있을 경우 Pod를 유지한 채 노드를 유지보수할 수 있는 방법에 대하여 알아보겠습니다. ** 모든 실습은 AWS EKS 환경에서 진행하였습니다 **Drain이란?쿠버네티스를 사용하다 보면, 노드의 유지보수를 위해 노드를 꺼야하는 상황이 발생합니다. 이런 경우를 대비해 쿠버네티스는 Drain이라는 기능을 제공합니다. Drain이란, 지정된 노드의 Pod를 모두 다른 노드로 이동시켜 해당 노드를 유지보수 할 수 있도록 도와줍니다. [ Drain 사용법 ]우선 디플로이먼트의 Pod 갯수를 3개에서 9개로 증가시켜 보도록 하겠습니다.$ kubectl scale deployment nginx-deployment --repli..
2024.09.26