[Kubernetes] AWS EKS - Clustering Autoscaling (클러스터 오토스케일링)
DevOps/Kubernetes2022. 6. 13. 11:04[Kubernetes] AWS EKS - Clustering Autoscaling (클러스터 오토스케일링)

🚀 Cluster Autoscaler AutoScaling - Amazon EKS EKS의 각각의 워커 노드를 EC2 인스턴스로 구성했을 때 파드의 크기가 아주 작다고해도 무한정의 파드를 배치할 수는 없다. 여러명의 개발자가 여러개의 파드를 배치하거나 HPA(Horizontal Pod AutoScaling)에 의해 여러개의 파드가 만들어지면, 노드가 가득 차버려서 파드가 스케줄링 될 수 없어 pending 상태에 머무르는 상황이 발생한다. 이럴 때 사용하는 것이 Cluster Autoscaling(CA)이다. CA는 리소스 부족으로 인해 예약할 수 없는 파드가 있는 경우 클러스터의 크기를 늘린다. 특정 수의 시스템을 초과해 확장 또는 축소하지 않도록 구성할 수 있다. 워커 노드의 확장 결정을 내리는 순서..

[Kubernetes] 쿠버네티스 모니터링 (Monitoring)  - Metrics Server
DevOps/Kubernetes2022. 6. 13. 11:01[Kubernetes] 쿠버네티스 모니터링 (Monitoring) - Metrics Server

🚀 Metrics Server란 ? Kubernetes 지표 서버 설치 - Amazon EKS 쿠버네티스의 Metrics Server란 각 노드에 설치된 kubectl을 통해서 노드 및 파드의 CPU, Memory의 사용량을 수집한다. Linux의 top 명령을 쿠버네티스에서 사용하는 것과 비슷하다. 쿠버네티스 v1.11 이후로 Heapster를 deprecated 시키고 Metrics Server를 모니터링 표준으로 도입하였다. Metircs Server는 Heapster를 간소화한 버전이라고 생각하면 된다. kubectl에서 메트릭 데이터를 수집해서 메모리에 저장한다. 또한 apiserver를 통해 파드나 노드의 메트릭을 조회하는데 사용되는 Metrics API를 제공한다. 쿠버네티스에서 필요한 핵심..

[Kubernetes] EBS for CSI 드라이버 (CSI란 무엇인가?)
DevOps/Kubernetes2022. 6. 12. 16:31[Kubernetes] EBS for CSI 드라이버 (CSI란 무엇인가?)

🚀 CSI Driver란 ? Container Storage Interface (CSI) Container Storage Interface (CSI)는 Kubernetes, Mesos같은 Container Orchestration System (CO)와 Storage를 제어하는 Plugin (Storage Controller) 사이의 Interface를 의미한다. CSI는 다음과 같이 3가지를 정의한다. Storage를 제어하는 Plugin Storage(Volume)의 Life Cycle CO와 Plugin 사이의 Interface 📌 Plugin Plugin은 K8s(CO)의 명령에 따라서 Storage를 제어하는 Storage Controller를 의미한다. Plugin은 Controller Plu..

[Kubernetes] EKS에서 로드밸런싱 사용하기 (NLB, ALB)
DevOps/Kubernetes2022. 6. 12. 15:46[Kubernetes] EKS에서 로드밸런싱 사용하기 (NLB, ALB)

기능 Application Load Balancer Network Load Balancer Classic Load Balancer 로드 밸런서 유형 계층 7 계층 4 계층 4/7 대상 유형 IP, 인스턴스, Lambda IP, 인스턴스, ALB 흐름/프록시 동작 종료 예 예 예 프로토콜 리스너 HTTP, HTTPS, gRPC TCP, UDP, TLS TCP, SSL/TLS, HTTP, HTTPS 다음을 통해 연결 가능 VIP VIP 🚀 NLB for LoadBalancer Service Amazon EKS의 네트워크 로드 밸런싱 - Amazon EKS eks에서 로드밸런서를 생성하면 기본적으로 classic LoadBalancer가 생성된다. EC2 인스턴스를 사용하는 경우 classic LoadBala..

[Kubernetes] AWS EKS 사용법 - EC2로 인스턴스로 구성하기
DevOps/Kubernetes2022. 6. 12. 14:14[Kubernetes] AWS EKS 사용법 - EC2로 인스턴스로 구성하기

🚀 AWS EKS (Elastic Kubernetes Service) AWS EKS는 컨트롤 플레인 및 워커노드를 직접 구성하지 않고 쿠버네티스를 손쉽게 사용할 수 있도록 도와주는 AWS 완전관리형 서비스이다. AWS에서 제공하는 VPC, ELB, IAM 등 특정 기능을 같이 활용하고자 할 때 유용하다. EKS는 오픈소스 쿠버네티스의 최신 버전을 실행하므로 쿠버네티스의 모든 plugin과 tool을 사용할 수 있다. AWS에서 EKS를 사용해 클러스터를 구축하는 방법은 크게 2가지가 있다. eksctl + AWS CLI 사용 (명령줄 사용) AWS 콘솔 🚀 AWS 콘솔에서 클러스터 생성하기 자주 사용하지 않는 방식이다. 일반적으로 EKS를 명령줄로 사용한다. 클러스터의 이름, 버전 (기본 1.21), 생..

[Kubernetes] minikube란? 설치 및 사용법
DevOps/Kubernetes2022. 6. 10. 16:48[Kubernetes] minikube란? 설치 및 사용법

🚀 minikube란 ? minikube는 macOS, Linux 및 Windows에서 로컬 쿠버네티스 클러스터를 쉽고 빠르게 세팅할 수 있는 도구이다. 🚀 minikube 설치 해당 설치방법은 Windows를 기반으로 작성되었다. minikube start | minikube (k8s.io) choco install minikube choco를 이용해 minikube를 설치한다. (choco가 없다면 Chocolatey 개념 및 설치 방법를 참조) 🚀 minikube start PS C:\Users\Shinsohui> minikube start 😄 Microsoft Windows 10 Education 10.0.19044 Build 19044 의 minikube v1.25.2 ✨ 자동적으로 virtua..

image