전체 글

Python으로 Slack에 메세지 전송하는 방법(Incoming Webhooks)
환경 Slack Channel에 Incoming Webhooks 추가 https://api.slack.com/messaging/webhooks Json으로 HTTP Requests로 메세지를 전송 https://api.slack.com/methods/chat.postMessage 샘플 curl 요청 curl -X POST --data-urlencode "payload={\"channel\": \"#test\", \"username\": \"webhookbot\", \"text\": \"이 항목은 #개의 test에 포스트되며 webhookbot이라는 봇에서 제공됩니다.\", \"icon_emoji\": \":ghost:\"}" https://hooks.slack.com/services/T03UUG3P4FJ..

AWS EKS 비용 절감 방안 (인스턴스 비용 절감)
개요 EKS를 사용하다 보면 노드의 타입과 개수가 늘어나면서 인스턴스에 대한 비용이 많이 늘어나게 된다. 이때 비용절감을 할 수 있는 방법은 크게 두 가지가 있다. 첫 번째는 모니터링을 통해 리소스(Limit, Request)를 알맞게 조정하는 것이다. 두 번째는 인스턴스를 On-Demand만 사용하지 않고 RI 또는 Spot을 같이 사용하는 것이다. 1. 리소스(Limit, Request) 조정 Kubernetes를 사용하면서 Pod 리소스가 무한정으로 커지지 않고 리소스 용량 관리를 하기 위해서는 리소스(Limit, Request) 설정을 해야 한다. 또한 CA, HPA에서 확장/축소시킬 기준값이 되기 때문에 운영환경에서 리소스 설정은 필수이다. 설정팁은 Request를 무조건 작게 설정하면 조금만 ..

Kubernetes Deprecated API Version Check 방법 (클러스터 버전 업그레이드 사전 작업)
개요Kubernetes Version을 업그레이드하기 전에 현재 사용 중인 API Version이 Deprecated 되지 않는지 확인해야 한다.Deprecated 된다면 클러스터를 업그레이드 하기 전에 해당 워크로드를 업그레이드해야 한다. 1. 공식 문서 확인Deprecation Guide 확인https://kubernetes.io/docs/reference/using-api/deprecation-guide/ Deprecated API Migration GuideAs the Kubernetes API evolves, APIs are periodically reorganized or upgraded. When APIs evolve, the old API is deprecated ..

Kubernetes QoS(Qualitu Of Service)와 Pod Eviction의 상관 관계
QoS(Qualitu Of Service) 클래스 타입 Kubernetes는 노드에 리소스가 부족할 때 Pod의 우선순위에 따라서 Pod를 Eviction 한다. 이때 Pod의 우선순위는 QoS 클래스 타입에 따라 정해진다. QoS 클래스 타입에는 아래 3가지가 있다. Guaranteed: Resources 항목에서 Request와 Limit의 값이 완전히 동일한 경우 Burstable: Guaranteed, BestEffort에 속하지 않는 모든 경우 ( e.g. Resources 항목에서 Limit이 Request보다 클 경우) BestEffort: Resources 항목을 아예 사용하지 않을 경우 노드에 리소스가 부족해지면 우선순위가 가장 낮은 Pod나 프로세스가 먼저 종료된다. 우선순위는 Guar..
![[K8S] 쿠버네티스를 사용해야하는 이유](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmmgE4%2Fbtr02znKdEi%2F3JmFCoHV7Gye0D86rdSYl1%2Fimg.png)
[K8S] 쿠버네티스를 사용해야하는 이유
Kubernetes 개념 Kubernetes는 컨테이너 오케스트레이션 플랫폼으로, 컨테이너화된 애플리케이션을 배포, 확장 및 관리하는 데 사용됩니다. Kubernetes는 Google에서 개발되었으며, 현재는 Cloud Native Computing Foundation(CNCF)에서 관리하고 있습니다. Kubernetes는 애플리케이션을 여러 개의 컨테이너로 분할하고, 이를 여러 대의 호스트에 배치하며, 컨테이너들이 서로 통신할 수 있도록 네트워크 구성을 자동으로 수행합니다. 또한, 컨테이너의 스케일링, 롤링 업데이트, 로드 밸런싱, 자가 치유 등의 기능을 제공하여, 애플리케이션 운영 및 관리를 보다 쉽게 할 수 있도록 돕습니다. Kubernetes는 클라우드 서비스 제공자들의 지원을 받아서, 대부분의 ..

Terraform Associate (002) 자격증 합격 후기
자격증 쿨이 돌아서 시험 칠 만한 게 뭐가 있을까 하다가 Terraform Associate 시험을 봤습니다. 5월에 003으로 바뀌고 002를 칠 수 없다길래 레퍼런스가 많을 때 빨리 시험을 치자고 생각했습니다. 시험 준비물 1. Github 계정 하시코프도 PSI로 시험을 보더군요. AWS 시험을 보면서 PSI로 자주 시험을 봤어서 익숙했습니다. 그런데 하시코프 시험은 Github 계정으로 연동되어서 인증을 한다는 게 좀 특이했던 거 같습니다. 2. 영문 신분증(e.g. 여권, 국제운전면허증) 시험 준비물은 PSI 계정의 이름과 신분증의 이름이 동일해야 하기 때문에 영문 신분증이 필요합니다. 예전에는 PSI 시험을 볼때 여권이 없으면 주민등록증이랑 신용카드로 시험을 쳤다는 후기를 들었지만 이제는 절대..
![[GCP] GKE 클러스터 생성 및 기능 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsWF0F%2FbtrXlhxbXy7%2FsdXr6CeqGViNkOb1mSWhR0%2Fimg.png)
[GCP] GKE 클러스터 생성 및 기능 정리
개요 GCP GKE를 생성해 보고 AWS EKS와 비교해 보겠습니다. Standard로 생성합니다. 클러스터 기본사항 위치 유형 영역: 컨트롤 플레인이 해당 한 개의 영역에만 설치된다. 리전: 컨트롤 플레인이 해당 리전에 여러 개의 영역에 설치된다. 제어 영역 버전 (마스터 버전) 출시 채널(Release channel): 새 버전이 나올 때마다 GKE 자동 업그레이드 된다. 각 채널 별로 업그레이드 버전 출시 속도가 다르므로 각 채널 특징을 확인하여 원하는 채널을 선택한다. https://cloud.google.com/kubernetes-engine/docs/concepts/release-channels 정적 버전(Static channel): GKE 자동 업그레이드를 사용하지 않는다. 수동으로 업그레..
![[Terraform] for Expressions](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFLEeN%2FbtrZNuOAbdn%2FWSrgvkKmx3WG9NaPVsgMwK%2Fimg.png)
[Terraform] for Expressions
개요 Terraform For문은 다른 언어랑 다소 다른 점이 있습니다. 테라폼 공식문서 설명도 잘 이해가 안 되고 예제도 자세하지 않아서 정리하는 글입니다. 아래 공식문서를 해석하고 예제를 돌립니다. https://developer.hashicorp.com/terraform/language/expressions/for For Expressions - Configuration Language | Terraform | HashiCorp Developer For expressions transform complex input values into complex output values. Learn how to filter inputs and how to group results. developer.hashi..
![[GCP] VPC Network 통신 테스트 및 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSoTPW%2FbtrUGqDqASk%2FoNaLaKsK7Q7TZJUa8sJNb1%2Fimg.png)
[GCP] VPC Network 통신 테스트 및 정리
개요 약 2년 동안 AWS만 사용했는데 이번에 저희 팀에서 GCP를 사용해 보기로 했습니다. GCP Network를 대충 보니 AWS와 많이 다른 거 같았습니다. 비교해 보면서 정리해 보겠습니다. 공부하면서 적는것이라 틀린 부분이 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. VPC Network 범위는 Project > VPC > Region > Subnet 입니다. (AWS의 범위는 Region > Zone > VPC > Subnet ) GCP VPC는 Global이기 때문에 VPC 내부에 Region이 있습니다. 같은 VPC에 위치한 서로 다른 리전끼리 VPC Routing을 통해 프라이빗 IP로 서로 통신이 가능합니다. 위의 내용을 테스트해보겠습니다. Firewall에서 ssh..
![[EKS] Karpenter + KEDA를 사용해서 특정 시간에 Auto Scaling 하는 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtbgKx%2Fbtr6eTmRiKF%2F6EshdBk6OMcSqCQdz3f2sk%2Fimg.png)
[EKS] Karpenter + KEDA를 사용해서 특정 시간에 Auto Scaling 하는 방법
개요 Karpenter + KEDA를 사용해서 이벤트 시간 전에 Node Scale Out 하고 일정 시간 지난 후 Scale In 되도록 테스트를 해보겠습니다. Karpenter가 Node를 프로비저닝 할 때 1~2분 정도 시간이 걸립니다. 이벤트 시간 전에 특정 개수의 노드 여유분을 확정적으로 늘려놓고 싶을 때 사용합니다. 아래 영상을 보고 내용을 정리했습니다. https://www.youtube.com/watch?v=FPlCVVrCD64 Karpenter 사용 팁 Karpenter는 CA와 마찬가지로 Pod Request를 기준으로 노드를 증설하기 때문에 사용량 최대치를 Request로 잡거나 Limit과 차이를 적게 하는 것을 추천한다. 노드 타입을 작은 것으로 정의하는 것이 항상 유리한 것은 아..