레플리카셋트 (Replica Set)

Pod를 정해진 수만큼 복제하고 관리하는 것
label Selector의 조건에 따라 Pod를 검색, 운영중인 Pod 수와 Replica Set의 수와 비교 작업

쿠버네티스 클러스터 안에서 실행되는 Pod의 수를 유지하는 장치

만약에 오류가 생기거나 노드에 장애가 발생해서 Pod가 멈추면?! ReplicaSet이 자동으로 새로운 Pod를 시작한다 (반대의 경우 여분의 Pod를 정지)

  • ReplicationController는 ReplicaSet과 비슷한 기능을 갖고 있는 리소스(이전버전)
  • ReplicaSet은 버전 관리 기능이 없다 → Deployment의 Rolling 업데이트를 활용

인그레스 (Ingress)

외부에서 쿠버네티스에 실행중인 Deployment와 Service에 접근하기 위한 Gateway 역할

Ingress Controller
Pod 안에 존재한다 → rule을 정의해둠

  • 외부에서 쿠버네티스 클러스터 내부로 들어오는 네트워크 요청 관련 Ingress 트래픽을 어떻게 처리할지 정의

minikube addons enable ingress
👉 addon 하는 건 선택! (enable)

레이블 (Label)

Service와 Pod를 서로 연결하기 위해서 사용
기본적으로 key:value 구조

  • 쿠버네티스는 레이블을 통해 관리하는 파드 식별
  • Labels를 사용하여 노드에 태그 지정 가능

볼륨 (Volumes)

Pod에 장착되며 Pod에 있는 Container간에 공유하는 방식
쿠버네티스의 Volumes를 사용하면 컨테이너 외부에 데이터 저장 가능

쿠버네티스는 여러 호스트에 거쳐 StateLess한 컨테이너를 마이크로 서비스로 배포하는 것이 목표이기에 영속성이 있는 저장장치(Persistent Volume)를 고려해야 한다

일반적으로 1Pod 1Container

데이터베이스와 같이 파일을 저장해야 하는 경우 컨테이너 재시작과 상관 없이 파일을 영속적으로 저장할 수 있는 스토리지

컨테이너의 외장 디스크와 유사, Pod가 기동될 때 컨테이너에 마운트하여 사용한다

  • 로컬 상태를 유지하지 않고 외부 서비스에 상태를 저장하는 형태로 구성
  • 데이터베이스, 캐싱 서버와 같은 외부 서비스

네임스페이스 (Namespace)

쿠버네티스 클러스터 내의 논리적인 분리 단위
쿠버네티스 클러스터 하나를 여러 개의 논리적인 단위로 나누어서 사용하는 것

쿠버네티스는 동일 물리 클러스터를 기반으로 하는 복수의 가상 클러스터를 지원하는 가상 클러스터

Namespcae 내에 생성된 자원/객체는 고유하나, Namespace 사이에는 중복이 발생할 수 있다

네임스페이스는 논리적인 분리 단위이지 물리적이나 기타 장치를 통해서 환경을 분리한 것이 아니며, 다른 네임스페이스 간의 Pod와 통신 가능

👉 네트워크에서 VLAN 쓰던거랑 비슷한거임~

  • 네임스페이스를 사용하면 쿠버네티스 클러스터 하나를 여러 개 팀이나 사용자가 공유할 수 있음
  • 클러스터 안에서 용도에 따라 실행해야 하는 애플리케이션을 구분할 때도 네임스페이스 사용
  • 여러 개 팀이나, 프로젝트에 많은 사용자가 있는 환경에서 사용하기 적합

환경변수 (ConfigMap)

애플리케이션 설정 값을 컨테이너에 반영하기 위해 사용하는 리소스

  • 다른 오브젝트가 사용할 구성 대체로 Pod 내 컨테이너가 사용할 구성을 저장할 수 있는 쿠버네티스 오브젝트
  • 키-값 쌍으로 구성됨

Secrets

으아악


본 포스팅은 글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.

profile
영차영차 😎

0개의 댓글