7/14

⭐쿠버네티스의 핵심, 메인 내용

Deployment → ReplicaSet → Pod

Deployment가 ReplicaSet 관리, ReplicaSet이 Pod를 만든다.

Deployment는 애플리케이션(컨트롤러, 파드)을 배포하고 선언적으로 업데이트를 수행하는 리소스이다.

Deployment 리소스가 관리하는 하위 ReplicaSet 컨트롤러를 직접 관리하지 x

→ Deployment 리소스를 이용해 전체를 제어

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e35dae6a-8bb2-4452-8c83-0179ee34b507/Screenshot_from_2021-07-14_10-41-44.png

배포 전략

레플리카셋에는 없음 / 디플로이먼트는 파드 직접 생성하지 X

레플리카셋에는 없음 / 디플로이먼트는 파드 직접 생성하지 X

Recreate, RollingUpdate 2가지 전략이 있다.

Recreate, RollingUpdate 2가지 전략이 있다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5ec32538-5b44-451f-8c99-025a811c540f/Screenshot_from_2021-07-14_10-55-19.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/33094449-c89b-48f8-bf85-e5f2ce367837/Screenshot_from_2021-07-14_10-55-30.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3ecaf1c3-fb72-4a51-aaee-1dd4f777f610/Screenshot_from_2021-07-14_10-55-43.png

⇒ 새로운버전 만들고, 기존 버전 삭제하고 반복

실습

myapp-deploy-v1.yaml

myapp-deploy-v1.yaml

myapp-svc-deploy.yaml

myapp-svc-deploy.yaml

둘다 create 해준다.

--record  옵션을 사용하여 생성하면 변경 사유에 해당 명령이 기록된다. 그리고 Deployment의 Revision이 남게 되는데, 이를 이용해 무엇 때문에 리소스가 변경 되었는지, 필요하다면 Rollback 할 수 있다. But 서비스 환경 운영에서 kubectl rollout을 사용하는 경우는 거의 없기 때문에 많이 사용되는 옵션은 아니다.

--record 옵션을 사용하여 생성하면 변경 사유에 해당 명령이 기록된다. 그리고 Deployment의 Revision이 남게 되는데, 이를 이용해 무엇 때문에 리소스가 변경 되었는지, 필요하다면 Rollback 할 수 있다. But 서비스 환경 운영에서 kubectl rollout을 사용하는 경우는 거의 없기 때문에 많이 사용되는 옵션은 아니다.

Metal LB설치 안해서 외부 IP가 Pending임

Metal LB설치 안해서 외부 IP가 Pending임

watch -n1 -d curl http://(external ip)