리셋 되지 말자

[kubernetes] Pod 생성 본문

오케스트레이션

[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가 생성됨.

'오케스트레이션' 카테고리의 다른 글

[k8s] eks 클러스터에 IAM 사용자 추가(Role, RoleBinding 등)  (0) 2022.09.21
[k8s] Istio mTLS 완전정복  (0) 2022.07.22
[kubernetes] kube-proxy  (0) 2021.07.14
[kubernetes] kubelet  (0) 2021.07.14
[kubernetes] kubectl  (0) 2021.07.14
Comments