๐ Kurly๋ง์ MLOps ๊ตฌ์ถํ๊ธฐ - ์ด์ ๋ค์ง๊ธฐ
MLOps๋ ์ต๊ทผ ๋ง์ ํ์ฌ๋ค์ด ๊ด์ฌ์ ๊ฐ์ง๊ณ ์๋ ๋ถ์ผ์ ๋๋ค. ๊ฐ๋ ์ ๋ค๋ฃจ๋ ๊ธ์ ๋ง์ด ์์ผ๋, ์ด์ ์ค๋ฌด๋ฅผ ์ด๋ป๊ฒ ํ๋์ง ๊ถ๊ธํด์ง๋๋ค. ์ด๋ฒ์ ๊ณต์ ๋๋ฆฐ ๊ธ์ ์ปฌ๋ฆฌ์์ MLOps ๊ตฌ์ถํ๋ ๊ณผ์ ์ ๋ด์ ๊ธ์ ๋๋ค. MLOps ์ค ์ฒ์์ผ๋ก GPU ์ฌ์ฉ ํ๊ฒฝ์ ๋ํ ๊ธ์ ๋๋ค โจ๏ธ ์ถ์ฒ๋๋ฆฌ๊ณ ์ถ์ ๋ถ - ํ์ฌ์ MLOps ์ผ์ด์ค๊ฐ ๊ถ๊ธํ์ ๋ถ - ์ฟ ๋ฒ๋คํฐ์ค ๊ธฐ๋ฐ์์ GPU๋ฅผ ์ฌ์ฉํ๋ Use Case๊ฐ ๊ถ๊ธํ์ ๋ถ ๐ ์์ฝ Karpenter - AWS์์ ๋ง๋ค๊ณ ์ด์์ค์ธ ์คํ์์ค - ์ฟ ๋ฒ๋คํฐ์ค์ ์์ปค ๋ ธ๋ ์คํ ์ค์ผ์ผ๋ง์ ๋ด๋นํ๋ ์คํ์์ค - ๋ถํ์ํ Worker Node๋ฅผ ์ ๋ฆฌํ๋ ๊ธฐ๋ฅ๋ ์กด์ฌํจ - AWS EKS๋ ASG(Auto Scaling Group)์ Launch Template์ ์ฌ์ฉํด worker node๋ฅผ ๊ทธ๋ฃนํํด Node Group์ผ๋ก ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํจ ๊ฐ์ ์ผ์ด์ค(AWS EKS์ ๋์ ๋ฐฉ์) - ์ฟ ๋ฒ๋คํฐ์ค์์ ํ์ฌ ๋ ธ๋ ๋ด์ Pod์ด ๊ฐ๋์ฐผ๊ณ , ๋ ๋ฐฐํฌํ ์ ์๋ ์ํฉ - ์๋ก์ด pod ์์ฑ ์์ฒญ์ด ๋ค์ด์ด - kube-scheduler๋ ์ ๊ท pod์ ๋ฐฐ์นํ ๋ ธ๋๋ฅผ ์ ์ ํจ => ๋ ธ๋ ์ ์ ์ ๊น์ง Pod์ด Pending ์ํ - ๋ ธ๋ ์ ์ ์ ์คํจํ๋ฉด Node Group์ ASG ๊ฐ ์ค Desired Capacity๋ฅผ ํ๋ ๋๋ฆฌ๊ณ ์์ปค ๋ ธ๋ ๊ฐ์๋ฅผ ์ฆ๊ฐ์ํด - AWS๋ ASG์ ์ํด desired capacity ๊ฐ์ ์ฝ์ด EC2 ์์ปค ๋ ธ๋๋ฅผ ๋ฐฐํฌํจ Karpenter์ ๋์ ๋ฐฉ์ - Cloud Provider์ ๋ฌด๊ดํ๊ฒ ๋์ - Karpenter๋ ์ ๊ท Pod์ ์ํ๋ฅผ ํ์ธํ๊ณ ํ์ํ๋ฉด ์์ปค๋ ธ๋์ ๋ฐฐํฌ์ ์ญ์ ๋ฅผ ์ง์ ์ํํจ. kube-scheduler๋ฅผ ๋์ ํด pod์ ํน์ ์์ปค๋ ธ๋๋ก ๋ฐ์ธ๋ฉํ๋ ์์ฒญ๋ ์ํํจ - ์์ ๊ฐ์ ์ผ์ด์ค๋ฅผ ๋์ผํ๊ฒ ์ ์ฉํ๋ฉด, ์ด๋ค ํ์ ์ ๋ฐฐํฌํ ์ง๋ Karpenter์ Custom Resource์ธ Provisioner์ ์ํด ๊ฒฐ์ ๋จ - Provisioner์ ์ํด ์ ๋ ธ๋๊ฐ ๋ฐฐํฌ๋ ํ Read ์ํ๊ฐ ๋๋ฉด ์ง์ Pod์ ์๋ก์ด ์์ปค ๋ ธ๋์ ๋ฐฐํฌ๋ ์ ์๋๋ก ๋ฐ์ธ๋ฉ ์์ฒญํจ AWS EKS์ Karpenter์ ์ฐจ์ด์ - Karpenter๋ Auto Scaling ํ ๋ ์ง์ ์ฒ๋ฆฌํ๊ณ , CA๋ Cloud Provider๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ฐ๊ณํด ๋ ์ค๋ ๊ฑธ๋ฆผ Karpenter์ ์ฃผ์ ๊ฐ๋ - Watching : unschedulableํ Pod์ ๊ณ์ ํ์ธํจ - Evaluating : ์ค์ผ์ค๋ง์ ์ ์ฝ์ด ์๋์ง ํ์ธ - Provisioning : ์๊ตฌ์ฌํญ์ ๋ง๋ ๋ ธ๋์ Pod์ ๋ฐฐํฌ - Removing : ๋ ์ด์ ๋ ธ๋๊ฐ ์์ผ๋ฉด ์ญ์ Provisioner - Custom Resource์ ๋ํด ์์ฑ๋ ๋ด์ฉ - ์ ์ฝ์ฌํญ์ด๋ ๋ ธ๋๊ฐ ํ์์๋ค๊ณ ํ๋จํ ์ค์ , timeout ๋ฑ์ ์ค์ ํจ Karpenter GPU ์ธํ ํ - NVDP : Nvidia device plugin for Kubernetes๋ฅผ ์ค์นํด์ผ ํจ (๋ฐ๋ชฌ ์ ์ ์ค์น) - Deprovisioning - 1. Affinity -> Label์ ํ์ฉ - Deprovisioning - 2. Consolidation -> KArpenter์ CRD ๋ฒ์ ์ ๊ทธ๋ ์ด๋ ํ์