본문 바로가기
  • lakescript

스터디 이야기/AWS EKS25

[AEWS] 5-1. Amazon EKS - Autoscaling (HPA, KEDA, VPA) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주시고, Prometheus와 Grafana까지 설치합니다. Autoscaling ChatGPT가 알려주는 Autoscaling Autoscaling은 컴퓨팅 리소스를 자동으로 조정하여 애플리케이션의 성능을 최적화하고 비용을 관리하는 기술입니다. 애플리케이션의 요구사항이 변할 .. 2024. 4. 1.
[AEWS] 4-3. Amazon EKS - Observability (Grafana) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로, 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주셔야합니다. 4-2. Amazon EKS - Observability (Prometheus) 에서 이어집니다. Grafana Grafana란? Grafana란 시계열 매트릭 데이터를 시각화하여 최적화된 대시보드를 제공해주는 오픈소스이며, Prometheus를 통해 수집된 T.. 2024. 3. 29.
[AEWS] 4-2. Amazon EKS - Observability (Prometheus) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로, 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주셔야합니다. 이번 포스팅에는 이전에 포스팅했던 블로그 글 에서 많이 인용하였습니다. Prometheus Prometheus란? Prometheus는 SoundCloud에서 처음 개발된 오픈 소스 시스템 모니터링 및 알림 툴킷입니다. 2012년에 시작된 이후로 많은 회사와 조.. 2024. 3. 29.
[AEWS] 4-1. Amazon EKS - Observability(EKS Logging) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로, 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주셔야합니다. EKS Control Plane Logging Amazon EKS는 관리형 서비스로 AWS에서 관리하는 Contol Plane과 사용자가 관리하는 Data Plane이 있습니다. Data Plane일 경우 다양한 모니터링 시스템을 적용하여 logging을 할 수.. 2024. 3. 25.
[AEWS] 3-2. Amazon EKS - NodeGroup (ARM Instance, Spot Instance) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. Amazon EKS NodeGroup ChatGPT가 알려주는 Amazon EKS의 NodeGroup Amazon EKS의 Node Group은 EKS 클러스터 내에서 애플리케이션을 실행하는 데 사용되는 워커 노드(또는 서버)의 집합입니다. EKS를 사용하면 Kubernetes 애플리케이션을 AWS 클라우드 인프라상에서 쉽게 실행, 관리 및 확장할 수 있습니다. 즉, Worker Node로 사용할 EC2 Instance의 묶음이라고 .. 2024. 3. 21.
[AEWS] 3-1. Amazon EKS - Storage (EBS, EFS) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다 Kubernetes Storage Pod는 stateful하게 관리되는 리소스가 아니고 상태가 없는(Stateless) 애플리케이션이기 때문에 영구 스토리지가 없으면 Pod가 충돌하거나 종료되고, Pod의 데이터는 손실됩니다. 하지만 DB나 여러가지 데이터를 담고 있는 컨테이너들을 Pod로 만들어야 할 때 그 데이터들을 영구적으로 보존되게 해야 합니다. Kubernetes에서 Volume이라는 형태의 Storage 리소스를 제공하는데,.. 2024. 3. 19.
[AEWS] 2-5. Amazon EKS Networking - ExternalDNS 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. ExternalDNS ChatGPT가 알려주는 ExternalDNS Kubernetes 클러스터 내의 서비스나 Ingress 리소스가 변경될 때 자동으로 DNS 레코드를 생성하거나 업데이트하는 역할을 합니다. 즉, K8s Serivce나 Ingress 생성 시 도메인을 설정하면, AWS(Route 53), Azure(DNS), GCP(Cloud DNS)에 A 레코드(TXT 레코드)로 자동으로 생성 및 업데이트 해주는 service t.. 2024. 3. 14.
[AEWS] 2-4. Amazon EKS Networking - Ingress 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. Ingress ChatGPT가 알려주는 Ingress Ingress는 클러스터 외부에서 내부의 서비스로 HTTP와 HTTPS 트래픽을 관리하는 방법을 제공하는 API 객체입니다. 즉, Ingress를 사용하면 외부 요청을 적절한 서비스로 라우팅 할 수 있으며, 단일 IP 주소를 통해 클러스터 내의 여러 서비스에 접근할 수 있게 됩니다. 이는 특히 웹 애플리케이션에 유용하며, 로드 밸런싱, SSL 종료, 이름 기반의 가상 호스팅 등을 .. 2024. 3. 13.
[AEWS] 2-3. Amazon EKS Networking - Service 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. Kubernetes Service란? Kubernetes에서 Pod는 언제든지 다른 노드로 이동하거나 삭제될 수 있습니다. 즉, 상태를 유지하지 않습니다.(stateless) 이렇게 이동되거나 생성될 때마다 새로운 IP를 할당받게 됩니다. 이로 인해 Pod는 외부와 지속적으로 통신하기엔 어려움이 있습니다. Kubernetes Service는 Cluster내에서 Pod들을 외부와 통신할 수 있도록 고정적인 IP를 부여하고 애플리케이션을.. 2024. 3. 13.
[AEWS] 2-2. AWS EKS Networking - Node & Pod Network 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. Node의 네트워크 정보 위의 그림은 worker node 1의 네트워크 구성도입니다. 현재 배포되어 있는 Pod 확인 kubectl get po -o wide -A 해당 명령어로 현재 Cluster에 배포되어 있는 모든 Pod들을 보겠습니다. kube-system 네임스페이스에 각 노드별로 aws-node, kube-proxy가 띄어져 있고 하나의 node에만 제외하고 coredns pod가 띄어져 있습니다. node별 ENI 확인.. 2024. 3. 12.