Kubernetes에서 SQL 서버 온라인 수직 확장

이 문서에서는 Kubernetes v1.33의 새로운 기능을 통해 SQL Server를 온라인으로 수직으로 쉽게 확장할 수 있는 방법을 살펴봅니다.

​​Vertically Scaling SQL Server Online in Kubernetes

요약

Kubernetes v1.33 has a new feature that enables you to resize CPU and memory resources for containers online without having to recreate the pod the container is running in.

image_pdfimage_print

이 기사는 Andrew Pruski의 블로그에 처음 게재되었습니다. 저자의 신용과 동의 하에 재출판되었습니다.

Kubernetes v1.33의 새로운 기능 중 하나는 컨테이너가 실행 중인 포드를 다시 만들 필요 없이 온라인으로 컨테이너의 CPU 및 메모리 리소스 크기를 조정할 수 있다는 점입니다. 과거에는 포드의 리소스를 조정할 때 Kubernetes 기존 포드를 삭제하고 컨트롤러를 통해 새 포드를 생성합니다.

여러 복제본이 실행될 수 있는 애플리케이션에는 문제가 되지 않지만, SQL Server의 경우, (일반적으로) 스테이트풀세트에 SQL Server가 실행되는 포드가 하나뿐이기 때문에 중단이 발생할 수 있습니다. 이를 실제로 살펴보겠습니다.

먼저, 이 간단한 스테이트풀세트를 Kubernetes에 배포합니다. 

여기서 중요한 부분은 CPU 및 메모리 설정입니다. 

참고: 여러분은 여기에 있는 한도와 요청이 동일한 가치라는 것을 알아차렸을 것입니다. 이는 포드에 대한 “보장된” 서비스 품질을 설정하기 위한 것입니다. 이는 Kubernetes의 SQL Server에 권장되는 모범 사례입니다. 자세한 내용은 이 문서에서 확인할 수 있습니다.

이러한 특징을 적용해 보겠습니다. 

과거에는 이러한 가치를 높이기 위해 스테이트풀세트를 편집해야 했습니다. 

이렇게 하면 새로운 한계/요청으로 포드가 다시 생성됩니다. 

하지만 이제 Kubernetes v1.33부터 다시 시작하지 않고도 포드를 확장할 수 있습니다!