윈도우를 사용한다면 전 블로그글을 확인하고 실행 환경을 구축해야한다.
파드 실행
kubectl run 명령어를 입력하고 결과가 표시될 때까지의 흐름은 다음과 같으며 도커 명령어와 비슷하다.
- kubectl이 쿠버네티스에게 명령을 전달한다.
- 노드에 이미지가 없으면 원격 리포지터리(Docker Hub)에서 다운로드 한다.
- 노드의 containerd가 컨테이너를 실행한다.
- kubectl이 터미널에 메시지를 표시한다.
쿠버네티스의 특징 중 하나는 개인의 PC, 퍼플릭 클라우드, 온프레미스의 모든 환경에서 동인할 kubectl 명령어로 조작할 수 있다는 점이다. 따라서, 미니쿠베를 잘 익혀두면 5,000대 규모의 클러스터(버전 1.11 기준)도 다룰 수 있다.
파드는 쿠버네티스에서 컨테이너를 실행하는 최소 단위이다.
hello-world 컨테이너를 실행해보자.
kubectl run hello-world --image=hello-world -it --restart=Never를 실행한다.
여기서 kubectl run hello-world --image=hello-world -it --restart=Never 명령어를 하나하나 살펴보자
- kubectl : 쿠버네티스 클러스터를 조작하기 위해 사용되는 커맨드
- run : 컨테이너 실행을 명령하는 서브 커맨드
- hello-world : 쿠버네티스 오브젝트의 이름(파드나 컨트롤러 등)
- --image=hello-world : 컨테이너의 이미지, 쿠버네티스에서는 파드 단위로 컨테이너가 기동되며 리포지터리명이 생략된 경우에는 도커 허브를 사용
- -it : 도커에서의 -it와 같음 _참고
- --restart=Never : 파드의 기동 방법, Never는 직접 파드가 기동되며 Always나 OnFailure은 컨트롤러를 통해 파드가 기동
다시한번 똑같은 이름의 파드를 실행해보겠다.
파드 hello-world가 이미 존재한다고 에러가 표시되고 있다.
파드를 삭제 하려면 kubectl delete pod 파드명으로 삭제할 수 있다.
docker run에서 --rm이란 옵션을 지정하면 실행 후 종료된 컨테이너를 자동으로 지워주는것처럼 kubectl run에서도 마찬가지로 --rm옵션을 사용할 수 있다.
kubectl run hello-world --image=hello-world -it --restart=Never 뒤에 --rm만 붙혀주면 된다.
실행 후 정상적으로 삭제되었다.
이번에는 백그라운드로 실행하는 방법과 로그를 출력해보겠다.
'Docker & Kubernetes' 카테고리의 다른 글
Docker로 Codeigniter Application 띄우기 (0) | 2022.01.30 |
---|---|
쿠버네티스 MacOS 환경 설치 (0) | 2021.12.02 |
쿠버네티스 Window 환경 설치 (0) | 2021.11.30 |
퍼시스턴스 볼륨 API 구현 예시 (0) | 2021.11.26 |
환경 변수 API 구현 예시 (0) | 2021.11.26 |