DevOps BootCamp/쿠버네티스

쿠버네티스 - 차트 시트

cloudmaster 2023. 5. 6. 23:50
명령적 접근

 

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 # 다시 생성
 > 클러스터 삭제 후 다시 생성