티스토리 뷰
1. Pod 란?
- 쿠버네티스 노드 내에 최소 한 개 이상의 컨테이너를 가진 파드가 실행되고 있으며, 파드마다 다른 IP를 가지고 있고 컨테이너끼리 통신이 가능함
- 파드 내 컨테이너끼리 볼륨(저장소)을 공유하며, 컨테이너가 죽고 재시작해도 파드가 살아있는 한 Shared volume은 유지 됨
- init-container 가 기본적으로 생성되며, 해당 컨테이너의 네트워크 인터페이스(CNI)를 파드 내 다른 컨테이너에서도 공유하여 사용
2. Pod의 Lifecycle
- Pending: 파드가 클러스터에 승인되었지만 한 개 이상의 컨테이너가 설정되지 않았고 실행할 준비가 되지 않은 상태
- Running: 파드가 노드에 바인딩(할당)되고 모든 컨테이너가 생성된 상태
- Succeeded: 파드에 있는 모든 컨테이너들이 성공적으로 종료되었고, 재시작 되지 않은 상태
- Failed: 파드에 있는 모든 컨테이너가 종료되었고, 최소 하나 이상의 컨테이너가 실패로 종료된 상태
- Unknown: 파드의 상태를 알 수 없는 상태로, 노드와 통신 오류로 인해 주로 발생
3. Pod의 생성
1) kubectl run 으로 pod 생성
kubectl run test-nginx --image=nginx:1.19
2) yaml 형식으로 pod 생성
apiVersion: v1
kind: Pod
metadata:
name: test-nginx2
spec:
containers:
- name: test-nginx2
image: nginx:1.19
ports:
- containerPort: 80
# yaml 파일 적용
kubectl apply -f [yaml file]
- apiVersion : 오브젝트를 생성하기 위한 쿠버네티스의 API 버전
- kind : 어떤 종류의 오브젝트인지 설명 (pod, service, replicaset ...)
- metadata : name, UID, namespace 등을 포함한 기본적인 정보
- name : namespace의 유일한 값
- labels : 특정 오브젝트만 나열하거나 검색할 때 사용되는 key-Value
- spec : 생성할 오브젝트의 구체적인 내용, 포맷은 오브젝트 종류마다 다름
# pod 조회
kubectl get pod -n [namespace]
# 모든 namespace의 pod 조회
kubectl get pod -A
# pod 정보 확인
kubectl get pod -o wide
# pod 로그 확인
kubectl logs [pod name]
# pod의 상세 정보
kubectl describe pod [pod name]
# pod 정보를 yaml 파일 형식으로 출력
kubectl get pod [pod name] -o yaml
# pod 수정
kubectl edit pod [pod name]
# pod 삭제
kubectl delete pod [pod name]
kubectl delete -f [yaml 파일]
다음 글 보러가기
2024.02.08 - [infra/kubernetes] - [쿠버네티스] 워크 로드(2) / ReplicaSet, Deployment, DaemonSet, Static Pod
[쿠버네티스] 워크 로드(2) / ReplicaSet, Deployment, DaemonSet, Static Pod
1. ReplicaSet - 파드를 생성 및 복제하고, 복제된 파드 수를 yaml 파일에서 생성된 개수만큼 항상 유지 apiVersion: apps/v1 kind: Replicaset metadata: name: nginx-rs labels: app: nginx-rs tier: nginx-rs spec: replicas: 3 selector:
coding.lifeandmoney.kr
'infra > kubernetes' 카테고리의 다른 글
[쿠버네티스] 워크 로드(2) / ReplicaSet, Deployment, DaemonSet, Static Pod (2) | 2024.02.08 |
---|---|
[쿠버네티스] Label & Selector (0) | 2024.02.07 |
쿠버네티스 아키텍쳐 및 구성요소의 기초 (0) | 2024.01.25 |
쿠버네티스의 기초 (4) | 2024.01.18 |
K8S deployment 파일 구조 알아보기 (0) | 2024.01.08 |
- Total
- Today
- Yesterday