명령적 접근
kubectl create deployment ‘deployment이름’ —image=‘dockerhub 경로’ 예)sanghyupl/kub-first-app
kubectl get deployments
> 클러스터에 deployment가 얼마나 있는지 확인할 수 있음
> deployment에 생성된 모든 것을 볼수 있음
kubectl get pods
> 이미지에 대한 오류를 확인
> 이미지는 로컬에 있기 때문에 찾을 수 없음
kubectl delete deployment first-app
> first-app deployment 삭제
Kubectl expose
> service를 생성하여, deployment에 의해 생성된 pod를 노출시킴
kubectl expose deployment first-app --type=ClusterIP --port=8080
> deployment 객체는 first-app, service 또는 expose의 type(ClusterIP: default값, cluster 내부에서만 연결, 변경되지 않는 주소), pod의 포트
> —type=NodePort : deployment가 실행 중인 워커 노드 IP에 의해 노출됨
> —type=LoadBalancer : 인프라 내에 존재하는 로드밸런서를 사용, Service에 고유한 주소 생성, pod에 트래픽을 분산시킴, 클러스터와 클러스터가 실행되는 인프라가 지원하는 경우에만 사용 가능
kubectl get services
> 실행 중인 서비스 확인
Minikube service first-app(서비스와 deployment 이름)
> 서비스에 접근할 수 있음
> 클라우드 환경에선 필요치 않음 -> 기본적으로 공유 ip가 활성화되어 있기 때문에
kubectl scale deployment/<deployment 이름> --replicas=3
> 오토 스케일링 first-app deployment에 의해 pod가 3개 생성
kubectl set image deployment/<deployment 이름> <이전 이미지 이름>=<새로운 이미지 이름>
> 새로운 이미지를 업데이트할 것을 알림
> but 다른 태그인 경우에만 다운로드
kubectl rollout status deployment/<deployment 이름>
> 업데이트된 이미지를 볼 수 있음
kubectl rollout undo deployment/<deployment 이름>
> 최근 deployment가 롤백됨
kubectl rollout history deployment/<deployment 이름>
> deployment의 history를 볼 수 있음
kubectl rollout history deployment/<deployment 이름> --revision=3
> 특정 이미지를 볼 수 있음
kubectl rollout undo deployment/<deployment 이름> --to-revision=1
> 특정 개정판으로 돌아갈 수 있음
kubectl delete service first-app
> 특정 서비스 삭제
kubectl logs <파드이름>
> 파드 로그 조회
minikube delete # 삭제
minikube start # 다시 생성
> 클러스터 삭제 후 다시 생성
'DevOps BootCamp > 쿠버네티스' 카테고리의 다른 글
새 버전이 망가졌어요! 3.0에서 2.0으로 롤백하기 (1) | 2023.05.20 |
---|---|
쿠버네티스-선언적 접근 (0) | 2023.05.20 |
쿠버네티스 service 타입의 비교 (0) | 2023.05.18 |
쿠버네티스와 컨테이너 오케스트레이션 (0) | 2023.05.17 |
쿠버네티스-작동원리 (0) | 2023.05.05 |