대부분의 IT 업무에서는 현재 상태를 점검하거나, 발생한 문제를 해결하기 위해 수많은 과거/현재 데이터를 확인합니다. 특히 시스템을 운영하다보면 평상시 모니터링이라 불리는 업무를 상시적으로 진행하게 됩니다. 이는 전반적인 시스템의 상태를 점검하고,문제 발생시 해당 문제를 해결하기 위한 여러가지 값들을 점검하는 업무입니다. 어떻게보면, 그동안의 경험을 바탕으로 현재 상태의 메트릭과 지나온 로그를 분석하여, 문제의 지점이나 원인을 빠르게 찾아내는 것이 IT 운영자의 숙명이자 필수적인 요구 능력이라고 볼 수 있습니다. - 메트릭(metrics) : CPU 사용량, 메모리 사용량, 네트워크 트래픽과 같은 시스템 성능과 관련된 정량적 정보 - 로그(log) : 사용자 작업 및 오류를 포함하는 시스템 활동에 대한 ..
1단계. Pod의 Ephemeral Volume을 사용하여 Pod를 삭제 후 재배포시 데이터의 연속성이 없음을 확인 1) 10초에 1번씩 시간을 찍는 Pod를 배포하여 해당 Pod 내 데이터를 확인 2) 배포된 Pod를 삭제하고, 재배포 후 해당 Pod 내 데이터를 확인 - 과거의 Data 없이 새로운 데이터만 확인 2단계. Host Path를 사용하는 PV/PVC 배포하여 Node 내 데이터가 유지됨을 확인 1) localpath 스토리지 클래스를 생성 - local path provisioner도 새로운 pod로 배포 2) PVC를 생성하고 생성된 PVC 정보를 확인 - PVC는 생성되었으나, Status가 Pending : 아직 사용되고 있는 pod가 없어 PVC만 생성된 상태 3) PVC를 사용하..
k8s에서 기본적으로 제공하는 워크로드 타입은 Stateless한 애플리케이션입니다. 즉, 컨테이너는 상태가 없는 애플리케이션이며, pod가 삭제되면 더이상 pod에 저장된 데이터는 확인할 수 없습니다. pod 내 컨테이너에서 사용되는 스토리지는 Ephemeral(임시) Storage로 pod가 사라지면 함께 사라지기 때문입니다. 만약 하나의 pod 내의 다수의 컨테이너가 pod내에 생성된 Ephemeral Volume을 이용하는 경우에도 마찬가지입니다. 결국 pod가 사라지면 함께 사라지며, pod의 lifecycle에 따라 컨테이너에서 사용하는 데이터 lifecycle도 정해지게 됩니다. 그러나 DB를 사용하거나, 문제 발생시 Log 분석등을 위해 데이터를 지속적으로 유지해야 하는 경우가 있습니다. ..
1.EKSCTL 1) kubectlEKS 클러스터 구축 및 관리를 하기 위한 오픈소스 명령줄 도구 : 사용을 위해 사전 설치 필요 2) EKS 배포시 CloudFormation을 이용해서 배포 3) AWS에서 직접 제공하는 것은 아니지만, 공식적으로 지원하는 관리 도구이며, EKS 외 다른 리소스에 대한 관리 불가 4) 기본 설치시 - VPC CNI plugin for K8s, kube-froxy, CoreDNS와 같은 자체 관리형 추가 기능을 자동으로 함께 설치 - VPC : 3개의 AZ에 6개의 subnet, 1개의 NAT GW, IGW 설치 2. 목표 구성도 1) 가장 간소화된 환경 : 2개의 AZ, 4개의 Subnet 구성 1단계. CloudFormation을 이용하여 EKS 생성을 위한 작업용 ..