본문 바로가기
INFRA/DevOps

[K8s] Container 정리와 Single / Multi Container Pod 생성

by BTC_프로틴 2022. 8. 29.

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

댓글