인프라

· 인프라
쿠버네티스에서 PV, PVC를 이해하기 어려운 이유들 파드가 삭제되면 컨테이너 내부 파일도 함께 삭제되기 때문에 데이터를 영구적으로 보관하기 위해서는 PV, PVC를 생성해야 한다.PV는 특정 워커 노드를 볼륨으로 사용하라는 속성(nodeAffinity)이 존재하고, PVC가 파드와 볼륨을 연결한다. 따라서 노드에 파일이 생성되고 파드가 삭제되었다가 재생성되어도 파일이 그대로 워커 노드에 보존된다.참고로 워커 노드를 파일 저장소로 사용하는 방식은 지양하고 테스트 용도로만 사용해야 한다.하지만 사실 이렇게 워커 노드 파일 시스템을 사용할 때는 파드의 hostPath 속성을 많이 사용하고 pv, pvc는 사용하지 않아도 된다.이것이 PV, PVC를 이해하기 어려운 이유 "1. PV를 사용하는 것 자체가 불편..
· 인프라
2025.03.11 - [인프라] - [쿠버네티스] Kubernetes에서 가장 이해하기 어려운 Ingress와 Nginx의 수 많은 기능들 [쿠버네티스] Kubernetes에서 가장 이해하기 어려운 Ingress와 Nginx의 수 많은 기능들Ingress의 개념 및 기본 사용 네임스페이스에 프론트엔드 서버 portal과 백엔드 서버 core 2개의 app이 있다고 하자.보통 웹 서비스를 구현할 때 쿠버네티스 클러스터 상에서 각 app 서버는 서비스(Servikangth97.tistory.com이전 글에서 분량이 너무 많아져 이어서 작성한다.Nginx의 로드밸런싱, 로그 포맷 변경과 타임존 변경하는 방법에 대해 다룬다.  Nginx 로드밸런싱 방식 변경https://kubernetes.github.io/..
· 인프라
Ingress의 개념 및 기본 사용 네임스페이스에 프론트엔드 서버 portal과 백엔드 서버 core 2개의 app이 있다고 하자.보통 웹 서비스를 구현할 때 쿠버네티스 클러스터 상에서 각 app 서버는 서비스(Service)와 파드(Pod)가 연결되어 있다.두 서비스는 모두 ClusterIP type이다. 하지만 외부 사용자가 서비스를 이용하기 위해 portal 앱은 외부에서 연결을 해야한다.여기서 우리는 '외부 오픈을 위해 로드밸런서나 노드포트를 붙여야 하나?' 라고 생각할 수 있다. 하지만 실무에서는 그렇지 않다.바로 Ingress를 생성하여 트래픽을 받아야 한다. ingress를 만드는 것은 어떤 rule을 부여하는 것이다.ingress를 만들 때 어떤 구현체가 만들어지는 것이 아니라 Ingres..
· 인프라
개요Kubernetes의 서비스(Service)는 우리의 어플리케이션 아키텍처 내에서 트래픽을 전달해주는 역할을 수행한다.대표적으로 4가지 기능을 제공하여 트래픽의 조작과 관리를 수행하며 다음과 같다.서비스 디스커버리: 내부 DNS를 이용해 서비스 이름으로 API 호출서비스 레지스트리: 서비스에 연결된 pod ip를 자동으로 관리로드밸런싱: 연결된 파드에 골고루 트래픽을 분산서비스 퍼블리싱: 외부의 접속을 내부 pod까지 전달위 4가지 기능을 중심으로 서비스의 각 기능과 용도에 대해 살펴보자.Kubernetes Service 기능의 종류와 사용법먼저 서비스의 속성에는 selector가 존재한다. 이를 통해 selector가 일치하는 pod들에게 트래픽을 분산해준다. (로드밸런싱)서비스가 생성됨과 동시에 ..
· 인프라
2025.03.08 - [인프라] - [쿠버네티스] Application 개발자가 꼭 알아야하는 Kubernetes Pod 기능 (1) - Pod 정보 조회하기 [쿠버네티스] Application 개발자가 꼭 알아야하는 Kubernetes Pod 기능 (1) - Pod 정보 조회하기개요 Pod에서 어플리케이션의 동작을 구성하는 기본적인 요소들을 정리해보면 다음과 같다.Pod 생성Pod가 생성될 때 nodeSelector로 특정 노드를 지정할 수 있다.worker node의 resource를 얼마나 사용할지kangth97.tistory.com 위 Pod 정보 조회 포스팅에 이어 Pod 종료와 관련된 기능을 알아보자.내 Application 안정적으로 종료하기 pod 종료와 관련된 기능에는 두 가지가 있다...
· 인프라
개요 Pod에서 어플리케이션의 동작을 구성하는 기본적인 요소들을 정리해보면 다음과 같다.Pod 생성Pod가 생성될 때 nodeSelector로 특정 노드를 지정할 수 있다.worker node의 resource를 얼마나 사용할지 설정한다.Docker Hub와 같은 image resgitry에서 이미지를 가져와 컨테이너를 생성한다.Pod 기동/운영Probe를 설정하면 kubelet이 헬스체크 API를 날려준다.Configmap을 통해 환경변수를 주입하고, 어플리케이션에서 파라미터를 받아서 처리한다.민감한 설정파일은 Secret으로 Volume에 마운트하고 file access 방식으로 접근한다.PV를 통해 파일을 worker node에도 저장한다.위 정보들은 나같은 쿠버네티스 초심자들이 클러스터 상에서 어..
· 인프라
개발 환경 1. Github 계정 생성하기: https://github.com/signup GitHub · Build and ship software on a single, collaborative platformJoin the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.github.com 2. APP 소스 코드 생성 혹은 복사 -> 배포하고자 하는 github repository를 forkhttps://github.com/k8s-1p..
· 인프라
IT에는 어떤 직군들이 있을까? 네트워크 엔지니어: cisco의 제품으로 네트워크를 세팅하고 성능, 문제를 분석하는 엔지니어. 서버가 죽으면 서비스가 죽지만 네트워크가 죽으면 전사가 마비되기 때문에 매우 중요하다.스토리지 엔지니어: 보통 스토리지 전문 기업에서 설치부터 지원까지 담당한다.서버 엔지니어: 현재는 대부분의 서버를 가상화해서 VM(Virtual Machine)으로 나누기 때문에 서버 엔지니어가 OS 및 가상화 세팅까지 담당한다.미들웨어 엔지니어: app이 os위에서 잘 돌아가도록 하는 보조 프로그램(e.g. tomcat)을 다루는 엔지니어. 트래픽을 전달하거나 로그를 저장한다. 특정 기업의 WAS 솔루션을 사용할 수 있고 이런 경우 운영팀에서 병행한다.데이터: 데이터 분야는 다양한 직군이 존재..
EBEL
'인프라' 카테고리의 글 목록