인프런 커뮤니티 질문&답변

김영진님의 프로필 이미지
김영진

작성한 질문수

그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}

7.4.컨테이너 상태에 따른 동작(restartPolicy)

컨테이너 내 command 부분 질문

작성

·

185

0

안녕하세요. 우선 너무 기본적인 질문을 하게된 점 죄송합니다ㅠ

 

containers: 내에 있는 command 부분이 어떤식으로 구성되어 있는지 잘 모르겠어서 질문드립니다.

 

command: ["/bin/sh", "-c"]

args:

- nslookup kubernetes

 

이 부분에서 []안에 들어있는 내용은 무엇이며, 왜 들어가는지

args: 에는 어떤 내용을 넣는 항목인지 궁금합니다.

답변 1

3

비모님의 프로필 이미지
비모
지식공유자

안녕하세요, 김영진님.

 

튜터 비모입니다.

 

문의주신 사항은 아래 문서에서 설명하는 내용과 같이, 컨테이너 동작 시 정의한 커맨드와 인자를 통해

환경 변수를 사용하거나 스크립트를 실행하는 등 다양한 방법으로 이용하실 수 있습니다.

강의에서는 셸(/bin/sh)을 통해 -c 옵션으로 명령어를 읽어 nslookup을 수행하고, 그 결과에 따라 restartPolicy를 연습하기 위한 용도로 설정되었습니다.

 

- 컨테이너를 위한 커맨드와 인자 정의하기

https://kubernetes.io/ko/docs/tasks/inject-data-application/define-command-argument-container/

파드를 생성할 때, 파드 안에서 동작하는 컨테이너를 위한 커맨드와 인자를 정의할 수 있다. 

커맨드를 정의하기 위해서는, 파드 안에서 실행되는 컨테이너에 command 필드를 포함시킨다. 

커맨드에 대한 인자를 정의하기 위해서는, 구성 파일에 args 필드를 포함시킨다.

 

- 셸 안에서 커맨드 실행하기

command: ["/bin/sh"]
args: ["-c", "while true; do echo hello; sleep 10;done"]

일부 경우들에서는 커맨드를 셸 안에서 실행해야할 필요가 있다. 

예를 들어, 실행할 커맨드가 서로 연결되어 있는 여러 개의 커맨드들로 구성되어 있거나, 셸 스크립트일 수도 있다. 

셸 안에서 커맨드를 실행하려고 한다면, 이런 방식으로 감싸주면 된다.

 

- sh — Linux manual page

https://man7.org/linux/man-pages/man1/sh.1p.html

-c : Read commands from the command_string operand

 

혹시 추가로 궁금하신 점이 있으면 남겨주세요

 

감사합니다 :)

김영진님의 프로필 이미지
김영진

작성한 질문수

질문하기