Kubernetes - Pods
Pods이란?
- 컨테이너의 집합
- 하나의 완벽한 어플리케이션을 표현함
- ex) was(container_1) + log agent(container_2) + ... = Pod
- kubectl 보다는 주로YAML 파일로 생성
YAML 파일 내용은 일반적으로 아래 4가지로 구성
- apiVersion: YAML 파일에 정의한 오브젝트의 API 버전
- kind: 리소스 종류
- metadata: 리소스 부가 정보
- spec: 리소스 생성을 위한 정보
Pod 생성 yaml 파일 예제(nginx-pod.yaml)
apiVersion: v1
kind: Pod
metadata:
name: my-nginx-pod
spec:
containers:
- name: my-nginx-container
image: nginx:latest
ports:
- containerPort: 80
protocol: TCP
pod 실행
$> kubectl apply -f {yaml_file_name}
ex) kubectl apply -f nginx-pod.yaml
pod 상태 확인
$> kubectl get pods
개별 pod의 세부 상태 확인
$> kubectl describe pods {pod_name}
ex) kubectl describe pods my-nginx-pod
pod의 컨테이너에 명령 전달하기
$> kubectl exec [option] {pod_name} -c {container_name} {command}
ex) kubectl exec -it my-nginx-pod -- bash
--: pod에 container가 하나 일때
pod(container들) log 확인
$> kubectl logs {pod_name}
ex) kubectl logs my-nginx-pod
pod 삭제
$> kubectl delete -f {yaml_file_name}
ex) kubectl delete -f nginx-pod.yaml
댓글
댓글 쓰기