kubectl 명령어 핸드북
kubectl CRUD
- Create
kubectl createkubectl run(Pod을 생성)kubectl apply*
- Read
kubectl getkubectl describec
- Update
kubectl editkubectl replacekubectl apply*
- Delete
kubectl delete
- Others
kubectl logskubectl 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[*].imagespec.initContainers[*].imagespec.tolerations
그외의 변경은 직접 yaml
destructive 업데이트
in-place 업데이트가 불가능한 경우다. kubectl replace --force 명령어로 기존 리소스를 삭제하고 다시 만든다.
$ kubectl replace -f [file.yaml] --force
기존 리소스 정보를 kubectl get -o yaml로 띄운 후 참고하면서, “다른 터미널”을 열어 yaml 파일을 만들어 가면 수월하다.