작성
·
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
혹시 추가로 궁금하신 점이 있으면 남겨주세요
감사합니다 :)