쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 배포, 관리, 확장할 때 수반되는 다수의 수동 프로세스를 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼이다.쿠버네티스를 배포하면 클러스터를 얻는다. 그리고 이 클러스터는 노드들의 집합이다. 노드들은 크게
EKS 구축 시 엔드포인트 엑세스란 것을 이해하지 못하여 이해를 돕고, 추후 다시 확인하기 위해 포스팅을 작성한다. 아키텍처는 직접 그렸으며 내용은 복사하였다.쿠버네티스의 엔트포인트 액세스란 쿠버네티스 API 서버에 대한 접근 방식이다.쉽게 말해, 사용자가 쿠버네티스
쿠버네티스가 외부의 트래픽을 받기 위해 Ingress 리소스를 생성할 경우 자동으로 AWS Load Balancer Controller가 트리거하여 ingress.yaml 템플릿에 명시된대로 로드밸런서를 생성해주는 컨트롤러이다.즉, Cluster에 Ingress 자원이
EKS 를 구성하여 배포툴로 ArgoCD 를 사용하기로 하였다. ArgoCD 는 CNCF에서 인정한 프로젝트이며, 사용성과 안정성을 인정을 받은 도구로 구성을 진행해보고자 한다.ArgoCD는 쿠버네티스 환경에서 운영을 위한 GitOps 도구 이다. GitOps는 Git
Vagrant는 HashiCorp사에서 개발한 IaC 도구 중 하나로 단일 워크를로우에서 가상머신 환경을 스크립트 형태로 빠르고 신속하게 만들 수 있는 도구이다.Vagrant 설치위 링크에 접속하여 자신에게 맞는 OS에 패키지를 설치하면 된다.버추얼박스(영어: Virt
Service는 클러스터 외부로부터 요청을 받을 수 있게 IP를 노출하는 역할을 하는 리소스다. 그리고 Deployment로 Pod를 수평확장하는 상황에, 트래픽을 적절히 분산시키기는 역할을 할 수 있는 리소스이다.Pod는 클러스터 내부에서만 접근이 가능하며, 클러스터
오랜 시간 동안 실행되는 많은 애플리케이션은 종종 오류가 날 수있다. 오류가 발생하였을 때에는 재 기동이 필요하거나, 트래픽 유입을 막을 필요가 있다.분산 시스템 및 마이크로서비스 아키텍처 환경의 수십 에서 수백 개가 되는 애플리케이션들을 관리하는 것은 매우 어려운 일
쿠버네티스에서 Pod를 어떤 노드에 배포하게 될지는 스케줄러가 정하게 된다. 스케줄러는 Pod를 배포할 수 있는 여유가 있는 노드로 배포하게 되는데, 이때 각 노드가 여유가 있는지를 판단하는 기준은 각 노드의 CPU, Memory의 사용량 등이 이용된다.스케줄러가 어떤
쿠버네티스 리소스 패키지를 관리하기 위한 도구이다.쿠버네티스는 서비스나 디플로이먼트, 인그레스와 같은 리소스를 생성하고 매니페스트파일을 적용하는 방식으로 애플리케이션을 배포하는데, 이 매니페스트 파일들을 하나의 템플릿으로 패키징한 것이 차트 이다.helm chart 허
동일한 Cluster에서 논리적으로 가상 Cluster의 개념으로 분리하기위한 리소스이다. 즉, A Namesapce와 B Namespace는 모두 동일한 물리 Cluster에 존재하나, 서로 논리적으로 분리되어 있다.일반적으로 다른 Namespace에 존재하는 리소스
서버를 실제로 서비스할 때 서비스적인 장애와 배포에 있어서 부담감을 최소화하고, 서비스가 중단되지 않도록 배포하는 기술이다.구 버전을 하나 제거하고 새 버전을 하나 추가하는 과정을 반복하는 방식이다.(V1에서 V2로 점진적으로 전환)이전버전(v1)과 새버전(v2)의 인
쿠버네티스 오브젝트를 식별하기 위한 key/value 쌍의 메타정보쿠버네티스 리소스를 논리적인 그룹으로 나누기 위해 붙이는 이름표Label을 이용해 쿠버네티스 리소스를 필터링하고 원하는 리소스 집합을 구하기 위한 label queryLabel을 이용해 쿠버네티스 리소스
애플리케이션은 대부분 여러가지 환경변수(설정값)들을 정의해야 한다. 간단한 예를 들어보면, 로깅 레벨을 정의할 때 LOG_LEVEL=INFO처럼 단순히 키-값 형태의 설정값이 되든지, 아니면 Nginx 웹 서버가 사용하는 nginx.conf처럼 완전한 하나의 설정 파일
Kubernetes 사용 시 AWS,GCP 와 같은 클라우드 플랫폼에서는 자체적으로 로드밸런서(LoadBalancer)를 제공해 주지만, 온프레미스 클러스터에서는 로드 밸런싱 기능을 제공하는 모듈을 추가적으로 설치해야 한다.본 포스팅에서는 MetalLB 를 통해 온프레