본문 바로가기
MLOps/Doker & Kubernetes

Udemy CKA 강의 정리 96: Commands and Arguments

by 공부하는 무니 2023. 1. 11.
반응형

해당 내용은 Udemy의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의를 공부한 내용입니다. 내용을 그대로 번역하기보다는, 제가 이해하기 쉬운 대로 수정한 부분들이 있습니다.

⚠️ 영어 독해가 많이 부족합니다. 틀린 내용이 있으면 알려주시면 감사하겠습니다.


이번 강의에서는 쿠버네티스 파드의 명령과 arguments를 살펴보겠습니다. 이전 강의에서는 주어진 시간 동안 sleep하는 간단한 도커 이미지를 만들었습니다. ubuntu-sleeper라는 이름을 지정하고 docker 명령인 docker run ubuntu-sleeper ubuntu-sleeper를 사용하여 실행했습니다. default로 5초 동안 대기하지만 커맨드라인 arguments를 전달하여 override할 수 있습니다.
이제 이 이미지를 사용하여 파드를 생성하겠습니다. 빈 파드 definition 템플릿으로 시작하여, 파드 이름을 입력하고 이미지 이름을 지정합니다.

이 파드가 생성되면 지정된 이미지에서 컨테이너를 생성하고 컨테이너는 종료되기 전에 5초 동안 sleep합니다.

docker run --name ubuntu-sleeper ubuntu-sleeper 10

이제 위 커맨드에서와 같이 컨테이너를 10초 동안 sleep해야 하는 경우 파드 definition 파일에서 추가 arguments를 어떻게 지정할까요? docker run 커맨드에 추가되는 모든 항목은 이와 같은 배열 형식으로 파드 정의 파일의 args 속성으로 이동합니다.


이전에 생성한 도커 파일과 연결해 보겠습니다. 도커 파일에는 entry point과 cmd instruction이 지정되어 있습니다. entry point는 시작 시 실행되는 커맨드고 cmd는 커맨드에 전달되는 default 파라미터입니다. 파드 정의 파일의 args 옵션을 사용하여 docker 파일의 cmd 커맨드를 재정의합니다.

그러나 entry point을 재정의해야 하는 경우, 예를 들어 sleep에서 imaginary sleep 2.0으로 전환해야 하는 경우엔 어떻게 해야 할까요? Docker 세계에서는 새 커맨드로 설정된 entry point 옵션을 사용하여 docker run 커맨드를 실행합니다. 파드 definition 파일의 해당 항목은 command 필드를 사용합니다. command 필드는 docker 파일의 entry point instruction에 해당합니다.

요약하면 docker 파일에는 두 개의 instruction에 해당하는 두 개의 필드가 있습니다. command 필드는 entry point 커맨드를 재정의하고, args 필드는 docker 파일의 명령 커맨드를 재정의합니다. docker 파일의 cmd 커맨드를 재정의하는 것은 command 필드가 아닙니다.
이것이 Kubernetes의 commands 및 arguments에 관한 것입니다.

반응형

댓글