Pod란?
- container를 표현하는 k8s API의 최소 단위
- pod에는 하나 또는 여러 개의 container가 포함될 수 있음
-
- kubectl run 명령(CLI)으로 생성
- pod yaml을 이용하여 생성pod 생성 방법
<이미지 출처 : [따배쿠] 5-1-1. 쿠버네티스 Pod - Container 정리와 Single / Multi Container Pod 생성 >
Single-container pod 생성
- CLI
kubectl run NAME --image=nginx:1.14 --port=80
- yaml template
kubectl create -f pod-nginx.yaml
vi pod-nginx.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: nginx
name: nginx
spec:
containers:
- image: nginx:1.14
name: nginx
ports:
- containerPort: 80
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
kubectl create -f pod-nginx.yaml
Multi-container pod 생성하기
- yaml template
vi pod-multiple-container.yaml
apiVersion: v1
kind: Pod
metadata:
name: multiple-pod
spec:
containers:
- name: nginx-container
image: nginx:1.14
ports:
- containerPort: 80
- name: centos-container
image: centos:7
command:
- sleep
- "10000"
kubectl create -f pod-multiple-container.yaml
- 두 개의 container 중 nginx를 실행중인 container 접속
kubectl exec multiple-pod -c nginx-container -it -- /bin/bash
- 두 개의 container 중 centos를 실행중인 container 접속
kubectl exec multiple-pod -c centos-container -it -- /bin/bash
cat /etc/hosts
# Kubernetes-managed hosts file.
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
192.168.11.70 multiple-pod
Container log 정보 확인
- single-container pod에서 log 정보 확인
kubectl logs NAME
- multi-container pod에서 특정 container log 정보 확인
kubectl logs multiple-pod -c nginx-container
Pod 동작 flow
<이미지 출처 : [따배쿠] 5-1-2. 쿠버네티스 Pod - Pod 동작 flow >
참고 :
[따배쿠] 5-1-1. 쿠버네티스 Pod - Container 정리와 Single / Multi Container Pod 생성
'INFRA > DevOps' 카테고리의 다른 글
[K8s] Init container & Infra container (0) | 2022.09.14 |
---|---|
[k8s] LivenessProbe를 이용해서 Self-healing Pod 생성 (0) | 2022.09.13 |
[K8s] kubernetes namespace, yaml template (0) | 2022.08.25 |
Secret (0) | 2022.08.22 |
ConfigMap (0) | 2022.08.21 |
댓글