오케스트레이션
[kubernetes] Pod 생성
kyeongjun-dev
2021. 7. 15. 12:42
Pod 생성 방법
kubelet 에서 nginx-pod를 배포할 때, 아래와 같이 했었음
[vagrant@m-k8s ~]$ sudo kubectl create -f nginx-pod.yaml
pod/nginx-pod created
Pod를 생성하는 다른 방법을 해본다.
- kubectl run
[vagrant@m-k8s ~]$ sudo kubectl run nginx-pod --image nginx
pod/nginx-pod created
[vagrant@m-k8s ~]$ sudo kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-pod 0/1 ContainerCreating 0 16s
[vagrant@m-k8s ~]$ sudo kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-pod 1/1 Running 0 20m
--image 옵션에 사용할 컨테이너 이미지를 지정한다.
- kubectl create deployment
[vagrant@m-k8s ~]$ sudo kubectl create deployment dry-nginx --image nginx
deployment.apps/dry-nginx created
[vagrant@m-k8s ~]$ sudo kubectl get pod
NAME READY STATUS RESTARTS AGE
dry-nginx-7df58fff87-crcs6 1/1 Running 0 70s
nginx-pod 1/1 Running 0 22m
create에 --image 옵션을 사용하려면, deployment를 추가해서 실행해야 함
dry-nginx 이름은, 현재 실행중인 nginx와 이름 중복을 피하기 위한 네이밍. dry-nginx를 제외한 나머지는 무작위로 생성됨(동일한 구성요소의 중복을 피하기위해 무작위 해시 문자열 추가됨)
- pod 확인
[vagrant@m-k8s ~]$ sudo kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
dry-nginx-7df58fff87-crcs6 1/1 Running 0 31m 172.16.132.1 w3-k8s <none> <none>
nginx-pod 1/1 Running 0 53m 172.16.103.132 w2-k8s <none> <none>
- 각 pod로 curl 테스트 (성공함. 생략)
- Pod 생성 시, run과 create deployment의 차이
run : 단일 pod 1개만 생성되고 관리됨
create deployment : 디플로이먼트(deployment) 라는 관리 그룹 내에서 pod가 생성됨.