쿠버네티스

[쿠버네티스] Kubernetis Pod 구동 하는 방법

트리스탄1234 2024. 3. 13. 05:45
728x90
반응형

안녕하세요 이웃님들 ^.^
오늘은 쿠버네티스 리소스 중 하나인 Pod에 관한 포스팅을 해보겠습니다.
 
Pod를 구동 사키는 방법에는 3가지 방법이 있는데요.
 
1. 명령형 커맨드로(Imperative commands) 실행 시키는 방법은 아래와 같습니다.
 
이번에는 Pod를 관리하는 명령어들을 알아보겠습니다.
먼저 Pod를 생성하는 세 가지 방법을 알아보겠습니다.
첫 번째는 명령형 커맨드(Imperative commands) 입니다. Pod를 직접 동작시키는 방법입니다.
run 명령을 사용해 아래와 같이 실행을 시킵니다. 

ubuntu@ip-172-31-31-84:~/dockertext2/chap07$ kubectl run my-nginx1 --image=nginx:1.19.3
pod/my-nginx1 created

ubuntu@ip-172-31-31-84:~/dockertext2/chap07$ kubectl get pod -o wide
NAME        READY   STATUS    RESTARTS   AGE   IP           NODE              NOMINATED NODE   READINESS GATES
my-nginx1   1/1     Running   0          83s   172.17.0.3   ip-172-31-31-84   <none>           <none>

 
2. 두번재 방법은 명령형 오브젝트를 yaml로 구성을 해서 생성 하는 방법 입니다. (Imperative object configuration)
  1) 아래와 같이 test-pod.yaml 파일을 아래와 같이 정의를 하고 저장을 합니다. 

ubuntu@ip-172-31-31-84:~/dockertext2/chap07$ vi test-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  labels:
    tier: frontend
  name: my-nginx2
spec:
  containers:
  - image: nginx:1.19.3
    name: my-nginx2
    ports:
    - containerPort: 80
반응형

 
2) 생성한 파일을 create 명령과 함께 -f옵션을 사용해 실행을 시킵니다. 

ubuntu@ip-172-31-31-84:~/dockertext2/chap07$ kubectl create -f nginx2-pod.yaml
pod/my-nginx2 created

ubuntu@ip-172-31-31-84:~/dockertext2/chap07$ kubectl get pod -o wide
NAME        READY   STATUS    RESTARTS   AGE     IP           NODE              NOMINATED NODE   READINESS GATES
my-nginx1   1/1     Running   0          6m20s   172.17.0.3   ip-172-31-31-84   <none>           <none>
my-nginx2   1/1     Running   0          9s      172.17.0.6   ip-172-31-31-84   <none>           <none>
ubuntu@ip-172-31-31-84:~/dockertext2/chap07$

 
3. 세번째는 create를 할지 update를 할지 명시를 하지 않고 apply와 -f옵션을 사용해서 생성하는 방법 입니다.
  1) 아래와 같이 yaml 파일을 생성을 합니다.


apiVersion: v1
ubuntu@ip-172-31-31-84:~/dockertext2/chap07$ vi test-pod.yaml

kind: Pod
metadata:
  labels:
    tier: frontend
  name: my-nginx3
spec:
  containers:
  - image: nginx:1.19.3
    name: my-nginx2
    ports:
    - containerPort: 80

 2) 이제 apply -f옵션을 사용을 해서 생성을 하고 조회를 합니다. 

ubuntu@ip-172-31-31-84:~/dockertext2/chap07$ kubectl apply -f test-pod.yaml
pod/my-nginx3 created
ubuntu@ip-172-31-31-84:~/dockertext2/chap07$ kubectl get pod -o wide
NAME        READY   STATUS    RESTARTS   AGE    IP           NODE              NOMINATED NODE   READINESS GATES
my-nginx1   1/1     Running   0          10m    172.17.0.3   ip-172-31-31-84   <none>           <none>
my-nginx2   1/1     Running   0          4m9s   172.17.0.6   ip-172-31-31-84   <none>           <none>
my-nginx3   1/1     Running   0          7s     172.17.0.7   ip-172-31-31-84   <none>           <none>

 

728x90
반응형