Pod란?
Pod: Kubernetes 모델의 기본 구성요소로, 배포 가능한 가장 작은 Kubernetes 객체다. 가장 작은 Kubernetes 객체는 컨테이너라고 생각하셨던 분들 말이죠. 하지만 그렇지 않다.
.YAML 파일
Kubernetes Pod 객체를 생성하기 위한 YAML 구성 파일로
Pod: Kubernetes 생태계에서 가장 작고 가장 간단한 단위로, 클러스터에서 실행 중인 단일 프로세스 인스턴스다.
apiVersion: v1
**kind: Pod** **# 고유한 객체 이름**
**metadata**: **# Pod 속성 정의**
**name:** nginx
uid: 4dd474fn-f389-11f8-b38c-42010a8009z7 # 객체 고유식별자 할당
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest # 최신 버전의 nginx 이미지 실행
- apiVersion: : 사용 중인 Kubernetes API의 버전을 지정
- kind:: 객체를 정의
- metadata: Pod에 대한 메타데이터 정보를 포함한다. Ex) Pod의 이름 및 레이블
- name: n: Pod의 이름을 지정
- uid: unix unique id라고 하며, 클러스터 라이프 사이클에 생성된 모든 객체는 쿠버네티스에서 자동으로 생성되는 고유한 UID를 가지고 객체를 식별하는 데 사용한다.
- labels: Pod에 레이블(키-값 쌍)을 첨부하여 그룹화하고 필터링하는 데 사용
- app: nginx: 키가 "app"이고 값이 "nginx"인 레이블을 Pod에 할당. 이 레이블은 나중에 Pod를 선택하거나 필터링하는 데 사용
- spec: Pod의 원하는 상태를 정의
- containers: Pod 내에서 실행되는 컨테이너 객체의 배열
- name: nginx: 컨테이너의 이름을 지정
- image: nginx:latest: 실행할 컨테이너 이미지를 지정. 이 경우, "latest" 태그가 있는 "nginx" 이미지를 사용합니다. 이미지는 컨테이너 레지스트리(예: Docker Hub)에서 가져온 것이며 Nginx 웹 서버를 실행하기 위한 필요한 파일과 구성이 포함된다.
- containers: Pod 내에서 실행되는 컨테이너 객체의 배열
이 구성 파일을 사용하여 Kubernetes 클러스터에 kubectl apply 명령을 사용하여 Pod를 배포할 수 있습니다.
YAML 파일의 버전 제어 사용
YAML 파일 버전 관리 하는 이유: 변경 이력을 추적하고 이슈 발생 시 롤백 및 복구를 하기 위해 Git에 버전 관리한다.
UUID 생성하기
객체를 식별하기 위해서 클라우드 상에서 UUID를 사용한다.
'DevOps > Kubernetes' 카테고리의 다른 글
쿠버네티스 객체의 종류 : deployment, service, configmap, secret, replicaset (0) | 2023.07.14 |
---|---|
[Kubernetes] 컨트롤러와 객체 (0) | 2023.07.14 |
[Kubernetes] 쿠버네티스와 도커 : 쿠버네티스와 도커의 차이점, 클러스터 운영체제, 쿠버네티스를 사용하는 이유 (0) | 2023.07.13 |
쿠버네티스 실행 명령어 정리 (0) | 2023.04.21 |