-
command(실행 명령) & args(파라미터)
- 파드 생성 시 실행 명령(command = 도커의 Entrypoint)과 전달인자(args = 도커의 Cmd)를 전달할 수 있습니다
- nginx 기본 이미지를 파드로 생성 시 실행 명령을 확인
# nginx 파드 생성 kubectl run cmd-args --image nginx # 생성된 워커 노드 확인 kubectl get pod -owide # 워커노드에서 컨테이너 상세 정보 확인 docker inspect `docker ps | grep cmd-args | awk '{print $1}'` ... "Config": { ... "Entrypoint": ["/docker-entrypoint.sh"] "Cmd": ["nginx", "-g", "daemon off;"] ...
- cmd-args.yaml
apiVersion: v1 kind: Pod metadata: name: cmd-args spec: restartPolicy: OnFailure containers: - image: nginx name: cmd-args-nginx ports: - containerPort: 80 protocol: TCP command: ["/bin/echo"] args: ["hello"]
- 생성 확인
curl -s -O https://raw.githubusercontent.com/gasida/DKOS/main/3/cmd-args.yaml kubectl apply -f cmd-args.yaml # 파드가 실행 후 정상 종료된 상태이다 kubectl get pod -owide root@k8s-m:~# kubectl get pod -owide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES cmd-args 0/1 Completed 0 3m19s 172.16.46.6 k8s-w2 <none> <none> # 파드의 로그 확인 kubectl logs cmd-args root@k8s-m:~# kubectl logs cmd-args hello # 워커노드에서 컨테이너 상세 정보 확인 : Entrypoint 와 Cmd 값이 덮어씌어진것을 알 수 있다! docker inspect <*종료된 컨테이너 ID*> ... "Config": { ... "Entrypoint": ["/bin/echo"] "Cmd": ["hello"] ... # 다음 실습을 위해서 생성된 파드 삭제 kubectl delete pod --all
-
env (환경 변수)
-
Pod 에 환경변수 전달, env 속성을 사용
-
env.yaml
apiVersion: v1 kind: Pod metadata: name: mynginx spec: containers: - image: nginx:latest name: mynginx ports: - containerPort: 80 env: - name: MYPASSWORD value: QWE123
-
파드 생성 후 확인
# 생성 curl -s -O https://raw.githubusercontent.com/gasida/DKOS/main/3/env.yaml kubectl apply -f env.yaml # 확인 kubectl exec mynginx -- env kubectl exec mynginx -- env | grep MYPASSWORD [root@k8s-m ~ (kube:default)]# kubectl exec mynginx -- env | grep MYPASSWORD MYPASSWORD=QWE123 # 생성된 워커노드에서 환경변수 정보를 호스트에서도 확인 가능! → 중요한 정보일 경우 보안 관리가 필요 docker inspect `docker ps | grep nginx | grep -v pause | awk '{print $1}'` --format '{{.Config.Env}}' root@k8s-w2:~# docker inspect `docker ps | grep nginx | grep -v pause | awk '{print $1}'` --format '{{.Config.Env}}' [MYPASSWORD=QWE123 KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1 KUBERNETES_SERVICE_HOST=10.96.0.1 KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 KUBERNETES_PORT=tcp://10.96.0.1:443 KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_PORT_443_TCP_PORT=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NGINX_VERSION=1.21.0 NJS_VERSION=0.5.3 PKG_RELEASE=1~buster] # 다음 실습을 위해서 생성된 파드 삭제 kubectl delete pod --all
-
Created
July 14, 2021 12:52
-
-
Save ianychoi/92888d57b3f33634f945c1cfc1a4b974 to your computer and use it in GitHub Desktop.
쿠버네티스 - 실행 명령 (Command) 및 전달인자 (Arguments)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment