pod는 쿠버네티스의 가장 기초라고 할 수 있다. 우리가 만든 어플리케이션이 실제로 pod단위로 기동되기 때문이다. 따라서 평소에 운영할때 적절한 pod의 수도 테스트 후 운영해야하며, 적절한 자원을 할당해야 한다. 또한 pod의 에러를 확인 후 트러블슈팅하는 능력도 중요하다.

 

아래 명령어로 pod하나를 기동시켜보자 

pod이름은 hello-world이고 이미지도 똑같다. --restart는 pod의 restart 정책을 설정하는 것이다. Always, OnFailure, Never가 있다.

 

pod를 검색해보면 아래와 같이 하나가 생긴것을 알 수 있으며 상태는  Completed이다. restart는 0으로 에러가 없이 잘 수행된 것 같다.

 

 

해당 파드를 지우고 싶으면 아래와 같이 delete 명령어를 사용하면 되며, 네임스페이스가 있는 경우  꼭 지정해줘야 한다.

 

이후 다시 pod검색을 하면 아래와 같이 default  namespace에 해당하는 pod가 없다고 나온다.

 

앞서 살펴봤지만, 다시한번 pod가 생기는 과정을 간략하게 보자면 아래와 같다.

1. kubectl명령어를 api -server가 받는다

2. etcd를 확인한다.

3. 컨트롤러와 스케쥴러가 동작한다.

4. kubelet에게 명령을 준다

5. 노드에 이미지가 없으면 원격 레포지터리에서 다운로드한다.

6. 노드의 containerd가 컨테이너를 실행한다.

 

그리고 해당 pod의 log를 보고싶으면 logs명령어를 아래와 같이 사용한다.

 

그럼 아래와 같이 해당 pod에 대한 log가 출력된다.

 

이번에는 디플로이먼트를 생성하고 디플로이먼트가 pod를 생성하는 것을 보자. 아래와 같이 입력하면 디플로이먼트가 생성된다.

이후 디플로이먼트를 검색하면 아래와  같이 출력된다.

항상 kubectl run을 통한 pod단독실행보다는, 디플로이먼트 yaml을 생성하고 관리하는것을 추천한다.

 

아래와 같이 nginx를 띄우는데 replicas 명령어를 통해 pod 5개를 기동시켜보자

 

아래와 같이 5개가 잘 running되고 있는것을 볼 수 있다.

 

실제로 쿠버네티스를 운영할때 명령어를 많이 사용했던것 같다.

get

create -f

delete -f

describe 

logs

사실 이 선에서 거의 끝난던것 같다. 나머지는 yaml 을 통한 버저닝, 트러블슈팅이 중요했다.

'쿠버네티스' 카테고리의 다른 글

디플로이먼트  (0) 2022.08.15
매니페스트  (0) 2022.08.08
도커컨테이너 만들기  (0) 2022.08.01
도커 다루기  (0) 2022.08.01
docker 간단 정리  (0) 2022.08.01

+ Recent posts