반응형

분류 전체보기 115

[ EKS ] taint, toleration 설정

개요 taint 이란? taint 설정이 된 node은 POD 배포가 불가능하다. taint 역할은 cordon 처럼 모든 pod가 배포되지 않게 설정하는 것이 아니라, toleration 옵션을 이용해서 지정한 pod만 배포되도록 설정하는 옵션이다. ex) backed, front pod만 배포될 수 있도록 설정한다. NodeSelector 설정하지 않은 pod들이 랜덤한 node에 배포되는 것을 막는 역할이다. node에 문제가 생기거나, 셧다운 중일 때 해당 node에 배포되지 않도록 EKS가 자동으로 Taint를 설정한다 toleration 이란? taint 설정이 된 node에 배포 할 수 있도록 도와주는 옵션이다. [ taint 설정 방법 ] 1. taint 설정 기존에 배포된 pod들은 정상..

[ EKS ] EBS -> EFS 볼륨 변경

개요 EBS 볼륨을 사용하게 되면 가용 영역 제한으로 EC2 FailOver가 불가능하다. EBS -> EFS 볼륨 변경할 대상 리스트 작성 [ EBS볼륨을 사용하는 서비스 ] [ EBS볼륨에서 EFS볼륨으로 변경시 요금 변화 (Singapore 리전 기준) ] EBS 요금 : 1GB 당 월 $0.096 EFS 요금 : 1GB 당 월 $0.36 EFS 볼륨 요금 특이사항 EFS 볼륨은 S3와 동일하게 사용한 만큼 비용을 지불하는 것이다. EFS 볼륨으로 변경시 : 사용량에 따라서 비용을 지불하는 방식으로 비용이 크게 증가하지 않음. [ EBS볼륨에서 EFS볼륨으로 변경 대상 선정 ]

[ EKS ] EFS - (PV,PVC,POD) 설치

개요 kubernetes에서 EFS 볼륨을 사용하는 이유 POD가 올라가는 WorkerNode의 가용영역이 다르기 때문에 어디에 올라가든 상관없은 EFS 볼륨을 사용한다. (EBS볼륨은 하나의 가용영역에서만 사용 가능하기 때문에, 다른 가용영역의 WokerNode에 올라가면 EBS볼륨을 불러 올 수 없다.) [ EFS 연결 방식 ] static Provisioning 방식 서버관리자가 볼륨(EBS, EFS)를 미리 생생해 놓고, PV(Persistent Volume) 리소스와 수동으로 연결을 한다. PVC(persistent Volume Claim)가 POD와 PV를 연결을 해준다. dynamic Provisioning 방식 (EFS) 서버관리자가 볼륨(EFS)과 미리 생성한다. POD에서 사용할 볼륨을..

[ EKS ] aws-efs-csi-driver

개요EFS (Elastic File System) 이란?Amazon Elastic File System(Amazon EFS)는 가용 영역에 영향을 받지 않는 NFS 형태의 볼륨 입니다.EFS에서 사용할 가용영역을 선택할 수 있습니다.EFS은 파일 시스템을 프로비저닝할 필요 없이 자동으로 기가바이트에서 페타바이트 규모로 데이터를 확장 가능합니다.여러 개의 EC2에서 동시에 엑세스 할 수 있습니다.(NFS)EFS은 최소 비용이나 설정 비용이 없으며, 사용한 가격만큼 비용지불(S3 처럼)EFS FAQ : https://aws.amazon.com/ko/efs/faq/ [ EFS를 사용하는 이유 ? ]서비스 가용성 향상EFS를 사용하면 가용 영역 영향을 받지 않아서, a, b, c zone WokerNode 아무..

[ EKS ] metrics-server

Metrics Server 이란? metrics Server는 EKS 환경의 리소스 사용 데이터를 수집 및 보여줍니다. kubectl top pod, kubectl top node 명령어를 사용할 수 있다. HPA, CA, DataDog, Prometheus 등에서 metrics serve의 정보를 이용해서 작동한다. 메뉴얼 링크 : https://github.com/kubernetes-sigs/metrics-server [ Metrics Server Install ] helm repository 정보 helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/ helm install helm install metrics-s..

[ EKS ] External-DNS

개요External-DNS 이란? 외부 도메인서버(AWS, Route53, 기타 DNS 등)를 사용해서 쿠버네티스의 리소스 쿼리를 할 수 있게 도와주는 솔루션이다.외부 도메인서버에 Record를 등록, 삭제 할 수 있게 도와준다.쿠버네티스가 ALB를 생성하면서 Route53에 Record도 자동으로 등록해준다. [ IAM 권한 설정 3가지 방법 ]external-dns가 route53에 Record를 등록하려면 IAM 권한 설정이 필요하다.권한 설정 방법은 3가지로 나뉜다.Node IAM Role (비추천) WorkerNode에 IAM 권한을 설정해줘서 workernode에 올라간 모든 container들은 권한을 획득한다. 메뉴얼 링크 : https://github.com/kubernetes-..

[ EKS ] Aws LoadBalancer Controller

개요aws LoadBalancer Controller 이란? aws LoadBalancer Controller는 kubernetes의 ALB(Ingress Controller)를 관리해주는 컨트롤러 입니다.aws LoadBalancer Controller는 AWS ALB, NLB를 사용한다.aws LoadBalancer Controller를 사용하기 위해선 "aws LoadBalancer Controller" 패키지는 설치해줘야한다.AWS 권한이 필요하다.AWS ALB는 호스트 기반 라우팅, URL 경로 기반 라우팅, TLS 종료, Websockets, HTTPS/2, AWS WAF 통합, 통합 엑세스 로그 및 상태 확인 등 기능 제공을 해준다.Doc 링크 : https://github.com/kuber..

[ Prometheus ] Alert - Rule

Prometheus Chart 파일에서 알람 받을 규칙을 설정합니다. 알람 규칙을 Web Console에서 할 수 없습니다. [ 작업 순서 ] 1. Alert Rule 규칙 생성 2. Prometheus 재배포 3. Prometheus에서 Rule 설정 확인 4. Prometheus에서 Rule 감지 확인 5. Slack Alert 확인 Alert 가이드 https://godekdls.github.io/Prometheus/alerting.overview/ https://samber.github.io/awesome-prometheus-alerts/rules.html 1. 선행 작업 promethues에서 Alert이 발생하면 Slack으로 전달 받을 수 있도록 설정 Slack Alert 설정 방법 : h..

[ Prometheus ] AlertManager - Slack 설정

개요 Prometheus Alertmanager는 Prometheus 모니터링 시스템의 알림 관리 도구입니다. Prometheus는 감시 대상을 주기적으로 폴링하고 지표를 수집하여 저장합니다. 이러한 지표를 분석하고 규칙을 정의하여 문제가 발생하면 이를 감지하고 알림을 발생시킵니다. 이때 Alertmanager는 Prometheus가 생성한 알림을 처리하고 관리하는 역할을 합니다. Alertmanager는 알림을 필터링하고 그룹화하여 수신 대상을 선택하고 다양한 방법으로 알림을 전송할 수 있습니다. 또한 Alertmanager는 중복 알림을 방지하고 알림 상태를 추적하여 중복 알림을 생성하지 않도록 보장합니다. 따라서 Alertmanager는 Prometheus 모니터링 시스템의 중요한 구성 요소 중 하..

반응형