[Kubernetes] 쿠버네티스 오브젝트 개념

Yohan_05·2023년 2월 8일
0

Kubernetes

목록 보기
2/3

쿠버네티스 오브젝트

쿠버네티스로 애플리케이션을 배포하고 관리하기

어떤 애플리케이션을 얼마나 어디에 어떤 방식으로 배포할 것인가 = 사용자 의도

사용자 의도를 정의하는 방법은 쿠버네티스 오브젝트 - 오브젝트 종류에 따라 정의할 수 있는 속성이 달라진다.

표현 방식 : YAML 형식
전달 방식 : REST API

쿠버네티스 오브젝트는 클러스터 상태를 결정한다.

사용자가 어떻게 쿠버네티스 오브젝트를 정의하느냐에 따라 쿠버네티스 상태가 결정된다.

즉 쿠버네티스 오브젝트를 이용해서 개발팀의 구조, 배포 정책, 프로세스를 표현할 수 있다.

쿠버네티스 오브젝트란?

쿠버네티스 클러스터를 이용해 애플리케이션을 배포하고 운영하기 위해 필요한 모든 쿠버네티스 리소스.

  • 어떤 애플리케이션을 - Pod
  • 얼마나 - ReplicaSet
  • 어디에 - Node, Namespace
  • 어떤 방식으로 배포할 것인가 - Deployment
  • 트래픽을 어떻게 로드밸런싱할 것인가. - Service, Endpoints

spec 과 status

spec

  • 사용자가 원하는 오브젝트 상태
  • 선언할 수 있는 속성은 오브젝트 종류마다 다르다

status

  • 오브젝트가 쿠버네티스 클러스터에 생성되면 쿠버네티스는 오브젝트 정보에 status 필드를 추가하고 현재 실행중인 오브젝트의 상태 정보를 알려준다.

서로의 필드 관계

spec : 쿠버네티스가 달성해야 할 목표 === status : 오브젝트의 현재 상태

  1. 사용자가 쿠버네티스 오브젝스 yaml 파일을 작성한다.
  2. 쿠버네티스 api 를 이용해서 쿠버네티스에 생성을 요청한다.
  3. 쿠버네티스 api server 가 오브젝트 파일의 spec 파일을 읽고 오브젝트를 생성한다.
  4. 쿠버네티스 ControllerManage가 spec과 status를 비교하면서 게속 조정하고 상태를 업데이트한다.
profile
안녕하세요 DevOps 엔지니어로 현업에서 활동중인 요한이라고 합니다.

0개의 댓글