Small Talk 01 (about Kubernetes)

TAK·2022년 5월 24일
0

Kubernetes

목록 보기
1/1

kubectl create, apply, replace

1. kubectl create

Create a new kubernetes resource in the cluster
: 새로운 Object를 생성합니다. 만약 이미 존재하는 경우, Error

  • kubectl run 과 같은 명령어(Imperative Command)를 통한 Pod 배포의 경우,
    Pod1개만 생성하고 관리하지만, create는 그룹 내 파드 1개를 생성하고 관리합니다.
2. kubectl replace

Update a resource in the live cluster
: Object가 이미 존재하는 경우 Error가 발생합니다.
kubectl replace --force -f [pod name] 을 통해 deleted and created

3. kubectl apply

If i want to do create and replace
: 새로운 object를 생성하지만, 이미 존재하는 경우에도 부분적인 spec을 받아들입니다.
(기존 Objetct를 Deployment로 지정하여, replicas=3 -> replicas=6)

ENDPOINT & CMD | command & args

  1. ENDPOINT & CMD
    : ENDPOINT와 CMD는 해당 컨테이너가 수행하게 될 실행 명령얼 정의하는 선언문입니다.
    Dockerfile의 작성에서 마지막 부분에 선언하게 되며, 이는 컨테이너가 마지막 단계에서 어떠한 동작을 하는지를 정의하는 명령어입니다.
    이 2가지 선언의 차이점은 컨테이너 시작 시, 실행 명령에 대한 Default 지정 여부입니다.
  • ENDPOINT
    이를 사용하여 컨테이너 수행 명령을 정의했다면, 해당 컨테이너가 수행될 때 반드시 ENDPOINT에서 지정한 명령을 수행되도록 지정합니다.
  • CMD
    컨테이너를 실행할 때, 인자값을 주면 Dockerfile에 지정된 CMD 값을 대신하여 지정한 인자값으로 변경되어 실행합니다. 하지만 docker run명령에 의해 실행된다면, 가장 마지막에 있는 값만 남게 된다.(override)
  1. command & args
    : kubernetes yaml 파일에서 정의되는 args는 Dockerfile의 CMD와 유사한 역할을 합니다.
    즉, args를 통해 argument의 전달인자를 지정해줄 수 있습니다.
  • command
    컨테이너 기동 시 실행할 커맨드로 args가 인자로 적용됩니다.
  • args
    command의 실행 인자
  • env
    컨테이너 내에 환경 변수를 설정

0개의 댓글