rueki

쿠버네티스 Pod 본문

카테고리 없음

쿠버네티스 Pod

륵기 2021. 11. 23. 01:25
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