Pod란?
=> 쿠버네티스에서 사용하는 가장 작은 배포 단위, 컨테이너를 한개 혹은 여러개를 포함
컨테이너를 파드로 묶어 배포하면 얻는 장점?
=> Pod내의 컨테이너는 IP, Port, Volume을 공유하는 것이 가능
공유하는게 뭐 어쨋다는거여?
분리된 애플리케이션에 대한 로그나 혹은 데이터를 손쉽게 공유할 수 있도록 구성이 가능
YAML을 이용한 pod-single container 구성
---
kind: Pod
apiVersion: v1
metadata:
name: singlepod
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 8080
kind:리소스 종류를 정의하는 부분으로 Pod를 명시
apiVersion: yaml을 실행하기 위한 kubernetes API 버전을 명시, 리소스마다 다른 API를 호출
metadata: Label 뒤 설명 혹은 리소스의 이름등 각종 메타데이터 작성
spec: 리소스에 대한 상세 스펙을 정의 ( 컨테이너명, 컨테이너 이미지, 포트 정보 등등...)
Pod 생성 및 기본 정보 확인
#pod-multi.yaml이라는 파일을 가지고 pod를 생성한다.
$ kubectl create -f singlepod.yaml
#생성된 Pod에 대한 간단한 정보를 정보를 볼수 있다.
$ kubectl get pod -o wide
#생성된 파드에 대한 정보 및 이벤트 정보를 볼 수 있다.
$ kubectl describe pod singlepod
YAML을 이용한 pod-Multi container 구성
---
kind: Pod
apiVersion: v1
metadata:
name: multipod
spec:
containers:
- name: nginx-container
image: nginx:1.14
ports:
- containerPort: 80
protocol: TCP
- name: centos-container
image: centos:7
command: ["/bin/sh", "-c", "while : ;do curl http://localhost:80/; sleep 3; done"]
Pod 생성 및 기본 정보 확인 (*Pod-Single과 동일하다.)
$ kubectl create -f multipod.yaml
$ kubectl get pod multipod -o wide
$ kubectl describe pod multipod
$ kubectl delete pod singlepod multipod
#혹은 아래 커맨드로 Pod를 전체를 지울 수도 있다.
$ kubectl delete pod --all
'Kubernetes' 카테고리의 다른 글
[kubernetes] Basic: Node Selector (0) | 2020.06.12 |
---|---|
[kubernetes] Basic: Pod Label (0) | 2020.06.04 |
댓글