
방식은 pod를 배포하는 방법과 비슷하다. template을 작성해준다음 원하는 pod의 수를 replicas에서 설정해주면 된다.

또한 원하는 pod개수를 조정해줄때는 직접 kubectl replace 명렁어를 통해 yml파일에서 replicas 수를 변경해주거나 kubeclt scale명렁어를 통해서 바로 replicas를 설정해주면 댄다.
실무에선 굳이 Replicaset을 사용하지 않는다. 이유는 Replicaset은 업데이트와 같은 기능이 없고 Deployment를 사용하면 포드와 레플리카셋을 직접 생성할 필요가 없기 때문이다.
Deployment 사용이유

보면 Deployment를 배포하였는데도 ReplicaSet이 생성된 모습을 볼 수 있다.

- rolling update는 V1을 V2로 업데이트 할 때, V2를 하나 생성한 뒤 V1을 삭제하는 방식으로 Pod를 하나씩 점진적으로 교체해나가는 방법입니다.
- Recreate는 기존의 Pod을 모두 삭제한 뒤, 새로운 버전의 Pod을 선언한 갯수만큼 생성해주는 방식입니다.

- 직접 yml파일을 변경해주고 kubectl apply 커맨드를 이용해 배포해줄 수 있다.
- kubectl set 커맨드는 애플리케이션 리소스를 설정하는 커맨드로 env, image, resources, selector, serviceaccount, subject를 업데이트하거나 변경할 수 있다.
- 따로 strategy를 설정해주지 않으면 기본값으로 Rolling Update가 선택된다.
- Recreate설정을 해주려면
-> 다음과 같이 strategy를 지정해주어야한다.

kubectl describe 커맨드로 Events를 비교했을때 점진적인 부분에서 차이가 나는 것을 확인할 수 있다.

배포 Roll-Back
Revision을 이용해 Deployment의 Rollback이 가능함 방법
1. Deployment Roll-out 기록 확인
kubectl rollout history deployment/{Deployment 명}
2. 해당 revision의 세부 정보 확인
kubectl rollout history deployment/{Deployment 명} --revision={조회할 revision}
3. Roll-Back
kubectl rollout undo deployment/{Deployment 명}
직전 버전으로 롤백kubectl rollout undo deployment/{Deployment 명} -to-revision={revision}
특정 버전으로 롤백 하려면 --to-revision 옵션을 이용해 원하는 버전을 명시해줌.kubectl annotate deployment/{Deployment 명} kubernetes.io/change-cause="some cause"
배포 주석 남기는 방법

https://jh-labs.tistory.com/506
https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/learn/lecture/19374124#overview
https://velog.io/@salgu1998/Kubernetes-%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-Deployment