rueki
쿠버네티스 Pod 본문
728x90
반응형
Pod : 한 개 이상의 컨테이너로 단일 목적의 일을 하기 위해서 모인 단위, 컨테이너를 표현하는 K8S api의 최소 단위.
언제라도 죽을 수 있는 존재이다.
- Pod 생성 방법
kubectl run "pod이름" --image="이미지:태그"
* yaml 파일로 생성하는 방법
kubectl create -f "yaml파일"
kubectl apply -f "yaml파일"
예제 yaml 파일
apiVersion: v1 -> pod 생성을 위한 버전
kind: Pod -> 생성할 대상
metadata: -> pod 이름 및 정보
name: nginx-pod
spec: -> 컨테이너 및 이미지 이름 선언
containers:
- name: nginx-container
image: nginx:1.14
ports:
- containerPort: 80
protocol: TCP
생성한 pod에 대한 정보를 yaml 형태로 보고 싶다면 아래의 명령어를 사용하자.
kubectl get pods "파드 이름" -o yaml
yaml 대신 json으로도 가능하다.
* yaml파일을 사용하지 않고 create 명령어를 사용하려면 deplyment를 추가해서 실행해야 한다.
kubectl create deployment "pod 이름" --image="이미지:태그"
Pod와 Deployment의 차이
: Pod는 단일 파드(1개 단위), Deployment는 Pod를 여러개 갖는 큰 단위이다.
Multi-container Pod 생성해보기
: 하나의 pod 안에 여러개의 컨테이너를 넣는 형태
컨테이너와 컨테이너 간의 연동이 가능하다는 것이 특징
* pod 세부정보 보기
kubectl describe pod "파드이름"
multi-pod.yaml 예제
apiVersion: v1
kind: Pod
metadata:
name: multipod
spec:
containers:
- name: nginx-container
image: nginx:1.14
ports:
- containerPort: 80
- name: centos-container
image: centos:7
command:
- sleep
- "10000"
- multi container에서는 log기록을 보고싶으면 볼 컨테이너 이름을 명시해야한다.
kubectl logs multipod -c nginx-container
728x90
반응형
Comments