kubectl 명령어 핸드북
kubectl CRUD
- Create
kubectl create
kubectl run
(Pod을 생성)kubectl apply
*
- Read
kubectl get
kubectl describe
c
- Update
kubectl edit
kubectl replace
kubectl apply
*
- Delete
kubectl delete
- Others
kubectl logs
kubectl exec
큰 틀에서 형식은 아래와 같다.
$ kubectl [command] [resource] [resource-name] [options]
단, Pod에 대한 명령어는 리소스를 명시할 필요가 없다.
kubectl run
은 Pod을 생성한다.kubectl logs
는 Pod의 로그를 확인한다.kubectl exec
는 Pod의 컨테이너에 접속한다.
리소스 업데이트
in-place 업데이트
kubectl apply
, kubectl edit
은 리소스를 in-place로 업데이트한다.
단, in-place 업데이트는 아래의 속성이 변경될 때만 가능하다.
spec.containers[*].image
spec.initContainers[*].image
spec.tolerations
그외의 변경은 직접 yaml
destructive 업데이트
in-place 업데이트가 불가능한 경우다. kubectl replace --force
명령어로 기존 리소스를 삭제하고 다시 만든다.
$ kubectl replace -f [file.yaml] --force
기존 리소스 정보를 kubectl get -o yaml
로 띄운 후 참고하면서, “다른 터미널”을 열어 yaml 파일을 만들어 가면 수월하다.