반응형
🍳머리말
container 위한 command, 인자 정의하는 방법. k8s cluster가 필요합니다. 또한 node가 control plane포함 3개인 cluster에서 실행하는 것이 좋습니다.
📕Pod 생성시 command, 인자 정의
📔 설명
pod를 생성할 때, pod 안에서 동작하는 container를 위한 command와 인자를 정의할 수 있습니다. command를 정의하기 위해선 pod 안에서 실행되는 container에 command filed를 포함시킵니다. command에 대한 인자를 정의하기 위해 구성 file에 args field를 포함시킵니다. 정의한 command와 인자들은 pod가 생성되고 난 이후에 변경될 수 없습니다.
구성 file 안에서 정의하는 command와 인자들은 container image가 제공하는 기본 command와 인자들보다 우선시 됩니다. 만약 인자들을 정의하고 command를 정의하지 않는다면, 기본 command가 새로운 인자와 함께 사용됩니다.
📔 예시
한 개의 컨테이너를 실행하는 파드를 생성
commands.yaml file 생성 후 아래 spec 입력
apiVersion: v1
kind: Pod
metadata:
name: command-demo
labels:e
purpose: demonstrate-command
spec:
containers:
- name: command-demo-container
image: debian
command: ["printenv"]
args: ["HOSTNAME", "KUBERNETES_PORT"]
restartPolicy: OnFailure
apply
kubectl apply -f commands.yaml
또는(yaml file 없이)
kubectl apply -f https://k8s.io/examples/pods/commands.yaml
이후 pod 생성 확인
kubectl get pods
명령어 실행 여부 확인
kubectl logs command-demo
📕참조
https://kubernetes.io/ko/docs/tasks/inject-data-application/define-command-argument-container/
'Cloud' 카테고리의 다른 글
(Kubernetes) - application에 data 주입 3 (0) | 2021.12.06 |
---|---|
(Kubernetes) - application에 data 주입 2 (0) | 2021.12.06 |
(Kubernetes) - Custom Resource (0) | 2021.12.01 |
(Kubernetes) - operator pattern (0) | 2021.11.17 |
(Kubernetes) - init container (0) | 2021.11.15 |