⭐쿠버네티스의 핵심, 메인 내용
Deployment가 ReplicaSet 관리, ReplicaSet이 Pod를 만든다.
Deployment는 애플리케이션(컨트롤러, 파드)을 배포하고 선언적으로 업데이트를 수행하는 리소스이다.
Deployment 리소스가 관리하는 하위 ReplicaSet 컨트롤러를 직접 관리하지 x
→ Deployment 리소스를 이용해 전체를 제어
레플리카셋에는 없음 / 디플로이먼트는 파드 직접 생성하지 X
Recreate, RollingUpdate 2가지 전략이 있다.
⇒ 새로운버전 만들고, 기존 버전 삭제하고 반복
myapp-deploy-v1.yaml
myapp-svc-deploy.yaml
둘다 create 해준다.
--record 옵션을 사용하여 생성하면 변경 사유에 해당 명령이 기록된다. 그리고 Deployment의 Revision이 남게 되는데, 이를 이용해 무엇 때문에 리소스가 변경 되었는지, 필요하다면 Rollback 할 수 있다. But 서비스 환경 운영에서 kubectl rollout을 사용하는 경우는 거의 없기 때문에 많이 사용되는 옵션은 아니다.
Metal LB설치 안해서 외부 IP가 Pending임
watch -n1 -d curl http://(external ip)