본문 바로가기

IT Infra

(19)
쿠버네티스 구성요소 kubernetes는 다수의 서버를 관리하는 툴이다. 하나의 서버가 아니라, 여러 대의 서버를 관리하기 위한 툴이므로 여러가지 구성요소가 존재한다. 간혹 오브젝트랑 헷갈릴 수 있는데 오브젝트들이 모여서 하나의 서버가 되는 것이고 그 서버를 관리하는 것이 쿠버네티스 구성요소이다. kubernetes는 크게 마스터(master),노드(node) 로 구성된다. 마스터(master) 마스터에는 etcd, API 서버, 컨트롤러 매니저, 스케줄러 등이 존재한다. etcd 구성 요소들의 상태 값이 모두 저장되는 곳 etcd의 정보만 백업이 되어있다면 긴급한 장애 상황에서도 클러스터 복구 가능 분산 저장이 가능한 key-value 저장소이므로 복제해서 여러 곳에 저장을 해두면 하나의 etcd가 장애가 나더라고 시스템..
쿠키와 세션 쿠키와 세션 사용하는 이유 HTTP 프로토콜 환경은 “Connectionless, stateless” 한 특성을 가진다. Connectionless 클라이언트가 서버에 요청을 했을 때 응답을 받으면 그 연결을 끊는 처리방식이다. stateless 클라이언트의 상태 정보를 가지지 않는 서버 처리방식이다. 클라이언트와 통신을 이전에 주고 받았다 해도 두번째 통신에서 이전 데이터를 유지하지않는다. HTTP 프로토콜의 특성이자 약점을 보완하기 위해 쿠키 또는 세션을 사용한다. 만약 쿠키와 세션을 사용하지 않는다면 매번 페이지를 이동할 때마다 로그인을 다시 하거나, 상품을 선택했는데 구매 페이지에서 선택한 상품의 정보가 없거나 하는 등의 일이 발생할 수 있다. 쿠키 쿠키란? 클라이언트(브라우저) 로컬에 저장되는 ..
데몬에 대해서 데몬(Daemon)이란? 리눅스 시스템이 처음 가동될 때 실행되는 백그라운드 프로세스의 일종으로 메모리에 상주하면서 특정 요청이 오면 즉시 대응할 수 있도록 대기중인 프로세스이다. 데몬(Daemon)의 실행방식 standalone 독자적으로 구동되는 방식으로 혼자서 요청을 받아 처리하며 메모리 상에 항상 구동되고 있으므로 응답속도가 빠르나 메모리에 부하를 줄 수 있다. 요청이 빈번하게 일어나는 프로세스에서 많이 쓰인다고 한다. 데몬 실행 스크립트 위치 /etc/inetd.d/ xinetd 슈퍼 데몬이라고도 하며 다른 데몬들의 상위에 존재한다. 요청이 오면 xinetd에 종속되어 있는 하위 데몬을 실행시키는 방식이지만 xinetd 자체는 standalone 방식으로 작동한다. 응답처리 속도가 standal..
리눅스 파일시스템 구조 리눅스는 파일을 효율적으로 관리하기 위해 디렉토리를 사용하는데 디렉토리는 계층구조를 가지고 있다. 리눅스는 전체 파일을 용도에 따라 계층 디렉토리로 구분하여 관리하며 이것을 파일 시스템이라고 한다. 리눅스 파일의 종류 일반 파일 데이터를 저장하는 용도로 사용 텍스트 파일, 실행파일, 이미지 파일 등 리눅스에서 사용하는 대부분의 파일이 일반파일이다. 실행파일 or 이미지 파일의 경우 데이터가 바이너리 형태로 저장되어 바이너리 파일이라고도 불린다. 디렉토리 리눅스에서는 디렉토리도 파일로 취급 디렉토리 파일에는 해당 디렉토리에 저장된 파일이나 하위 디렉토리에 대한 정보가 저장 심벌릭 링크 원본 파일을 대신핟록 워본 파일을 다른 파일명으로 지정한 것 윈도우의 바로가기와 개념이 비슷하다. 장치파일 리눅스에서는 하..
V모델에 대해서 v 모델에 대해서 설명하기 앞서 폭포수 모델에 대해서 간단히 설명하겠다. (v 모델이 폭포수 모델의 확장 형태이다.) 폭포수 모델 순차적인 소프트웨어 개발 프로세스(소프트웨어를 만들기 위한 프로세스)이다. 각 단계는 병행으로 수행되지 않고 순차적으로 수행된다. 장점 단순한 이해하기 쉬운 직관적인 모델 단계별로 정형화 된 접근 방법 체계적으로 문서화 가능 프로젝트 진행 상황 명확히 확인 가능 단점 변경 수용이 어려움 시스템의 정상동작 확인을 프로세스 후반에 확인 가능 지나친 문서화 일정 지연 가능성이 큼 V모델 소프트웨어 개발 프로세스로 폭포수 모델의 확장된 형태 중 하나이다. 위에 첨부된 그림과 같이 알파벳 v자 모양으로 프로세스가 진행된다. 특징 각 단계마다 상세한 문서화를 통해 작업을 진행하는 방법을..
kubeconfig에 대해서 kubeconfig 파일이란? kubeconfig 파일은 클러스터, 사용자, 네임스페이스 그리고 인증 메커니즘에 대한 정보를 관리할 수 있다. kubeconfig 파일은 kubectl(쿠버네티스 클러스터를 제어하기 위한 커맨드 라인 도구)이 클러스터에 대한 접근을 구성하는데 사용되는 파일을 말한다. kubectl은 kubeconfig 파일을 사용하여 클러스터 선택과 클러스터의 API 서버와의 통신에 필요한 정보를 찾는다. kubeconfig 파일 이해 kubeconfig의 구성은 아래와 같다. (내용에 따라 구성이 다를 수 있다.) apiVersion":v1 clusters: -clusters: certificate-authority: leak-file server: name: development co..
세션 클러스터링이란? 클러스터링 이란? 클러스터링은 여러 의미를 갖지만, 이번에 설명할 클러스터링은 여러대의 서버가 동시에 한가지 업무를 수행하도록 만드는 것이다. 예를 들어, 서버가 1대로만 운영이 되는데 이 1대의 서버가 죽게되면 시스템 장애가 발생한다. 그런데 2대의 서버를 클러스터링을 해놓고 각각의 역할을 수행하다가 1대의 서버가 죽게되면 나머지 1대가 그 역할을 대신 수행하도록 하면 위와 같은 문제를 해결하면서 지속적인 서비스를 제공할 수 있다. 세션클러스터링 이란? 세션 클러스터링은 WAS가 2대 이상 설치가 되어있을 경우 세션을 공유하며 대체된 WAS에도 동일한 세션을 관리하는 것을 의미한다. 로드벨런서가 사용자가 접속했던 WAS로 유도해주지만 접속자 수가 초과할 경우 다른 WAS를 사용해야하는데 이때 다른 WA..
배치(Batch)란? batch작업은 데이터를 실시간으로 처리하는 것이 아니라, 일괄적으로 모아서 처리하는 작업을 의미한다. 하루동안 쌓인 데이터를 batch작업을 통해 특정 시간에 한꺼번에 처리하는 경우가 이에 해당한다. batch작업은 일반적으로 정해진 특정한 시간에만 실행된다. 예를 들어,은행의 정산작업과 같은 업무에서 이런 batch작업을 수행하게 되며 주로 사용자가 많이 사용하지 않는 시간대(특정시간)에 실행하게 된다. 사용자가 많은 시간대에 batch 작업을 수행하게 된다면 시스템이 과부하가 올 수 있다. 그래서 주로 사용자가 많이 사용하지 않는 시간대(특정시간)에 batch작업을 수행한다. batch 특징 대량의 데이터를 처리한다.(하루동안 쌓인 데이터) 특정 시간에 프로그램을 실행한다.(batch 프로그램 실행..