deployment - 명령형 접근

유현민·2022년 9월 26일
0

도커 & 쿠버네티스

목록 보기
25/28
post-thumbnail

minikube status -> 클러스터가 실행 중인지 확인

kubectl create deployment 이름 --image=이미지이름 -> 새로운 deployment 객체 생성, pod의 컨테이너에 사용할 이미지를 지정할 때 사용

kubectl get deployments -> deployment 개수 확인

kubectl get pods -> deployment에서 생성된 모든 것 확인
-> cuttrnt state / target state

쿠버네티스 클러스터로 이미지를 보내줘야 이지미를 찾을 수 있다.

kubectl delete deployment 이미지 이름 -> deployment 삭제

이미지에 태그를 붙여주고 허브로 푸쉬를 해준다. 그 후 kubectl을 이용하여 deployment를 만들어 주면 쿠버네티스에서 이미지를 찾을 수 있다.

minikube dashboard -> 웹 대시보드 생성

service 객체

  • 쿠버네티스가 알고 있는 또다른 객체이기에 클러스터의 다른 pod에 pod를 노출한다.

  • pod 내부 IP의 문제
    -> 클러스터 외부에서 pod에 액세스 하는데 사용할 수 없다.
    -> pod가 교체될 때마다 변경된다.

  • service는 pod를 그룹화하고, 공유 주소, 공유 IP 주소를 제공한다.

  • 주소를 노출할 수 있다.

kubectl expose deployment 이름 --type=LoadBalancer --port=8080 -> 서비스를 생성하여 deployment에 의해 생성된 pod를 노출한다.

--type=srvice or expose 유형

kubectl get service -> 서비스 나열

minikube service 이름 -> 웹 실행

deployment 관리

kubectl set image deployment/(deployment 이름) (이전 이미지 이름)=(새로운 이미지 이름) -> 쿠버네티스에게 새로운 이미지를 설정한다고 알려준다.

새 이미지에 다른 태그가 있는 경우에만 다운로드를 진행한다.

프로덕션 설정으로 작업한 후에는 태그와 이미지 버전을 업데이트하는 것이 좋다.

kubectl rollout status deployment/이름 -> 롤아웃 진행 상황 검사

kubectl rollout undo deployment/이름 -> 업데이트 롤백
-> --to-revision=버전 => 특정 버전으로 롤백

kubectl rollout history deployment/이름 -> 업데이트 히스토리
-> --revision => 세부 정보

  • 삭제
    -> kubectl delete deployment 이름
    -> kubectl delete service 이름
profile
smilegate megaport infra

0개의 댓글