๐Ÿ’ป/MLOps 7

Kubernetes API ํด๋ผ์ด์–ธํŠธ ์‚ฌ์šฉ

์ตœ๊ทผ ๋งŽ์€ ํŒ€์›๋“ค์ด ์„œ๋น„์Šค, ํŒŒ์ดํ”„๋ผ์ธ ๋‚ด์—์„œ k8s ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ •๋ณด๋ฅผ ์–ป์–ด์™€์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ์ด๋ฏธ์ง€ ๋‚ด์— kubectl์„ ์„ค์น˜ํ•˜๊ณ  ์ฝ”๋“œ์—์„œ kubectl ์ปค๋งจ๋“œ๋ฅผ string์œผ๋กœ ์ €์žฅํ•ด ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜(?) ์‹ฌ์ง€์–ด token๊ฐ’์„ string์œผ๋กœ ๋ฐ•์•„ ๋„ฃ์œผ๋ ค๋Š”(!) ์‹œ๋„๋ฅผ ํ•˜๊ณ  ์žˆ์Œ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ์ด ๋ถ€๋ถ„์„ ๋ฐ”๋กœ ์žก์œผ๋ฉฐ, ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์–ด๋–ค ๋ฌธ์˜๋ฅผ ๋งŽ์ด ๋ฐ›์•˜๋Š”์ง€๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. kubectl์„ ์ด๋ฏธ์ง€ ๋‚ด ์„ค์น˜ํ•œ๋‹ค(?) ์‚ฌ์‹ค ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ๋‚ด kubectl ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ด๋‘”๋‹ค. ์„œ๋น„์Šค๊ฐ€ ์‚ฌ์šฉํ•  ์ ์ ˆํ•œ ๊ถŒํ•œ์˜ ๊ณ„์ •์„ ์ถ”๊ฐ€ํ•˜๊ณ , kubeconfig๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. configmap์œผ๋กœ kubeconfig๋ฅผ ๋งˆ์šดํŠธํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ, ์ฝ”๋“œ ์—์„œ ์‹œ์Šคํ…œ ์ปค๋งจ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํŒŒ์‹ฑํ•ด์„œ ์‚ฌ์šฉํ•˜๊ฒŒ..

๐Ÿ’ป/MLOps 2024.02.23

stern : ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ ๋ชจ๋‹ˆํ„ฐ๋ง

Stern GitHub - stern/stern: โŽˆ Multi pod and container log tailing for Kubernetes -- Friendly fork of https://github.com/wercker/ster โŽˆ Multi pod and container log tailing for Kubernetes -- Friendly fork of https://github.com/wercker/stern - stern/stern github.com Stern์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ Kubernetes ํŒŒ๋“œ ๋ฐ ํŒŒ๋“œ ๋‚ด์˜ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ๊ฒฐ๊ณผ๋Š” ๋น ๋ฅธ ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ์ƒ‰์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ€์ง„ ์„œ๋น„์Šค๋‚˜, ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ..

๐Ÿ’ป/MLOps 2024.02.23

[k8s] `kubectl top`

`kubectl top` kubectl top pods -n spark kubectl top nodes ์œ„ ๋ช…๋ น์–ด๋กœ ํ•œ ๋ˆˆ์— ํŒŒ๋“œ๋ณ„๋กœ cpu, mem์„ ์–ผ๋งˆ๋‚˜ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋…ธ๋“œ๋ณ„๋กœ๋„ ์–ผ๋งˆ๋‚˜ ์ž์›์ด ์‚ฌ์šฉ์ค‘์ธ์ง€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ์— ๊ฒฝ๊ณ ๋‚˜ ์žฅ์• ๊ฐ€ ๋‚˜๋ฉด, Grafana์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๊ณ  ํ˜ธ๋‹ค๋‹ฅ ํ„ฐ๋ฏธ๋„์„์ผœ '๋ˆ„๊ฐ€ spark์œผ๋กœ ์ž์›์„ ์–ผ๋งˆ๋‚˜ ํ• ๋‹นํ•ด ์“ฐ๊ณ  ์žˆ๋‚˜'ํ™•์ธํ•˜๋Š” ๋ฐ์— ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. Kubernetes Metrics API Resource metrics pipeline For Kubernetes, the Metrics API offers a basic set of metrics to support automatic scaling and similar use cases. T..

๐Ÿ’ป/MLOps 2024.01.02

Apache Cassandra

๊ฐœ์š” ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ(Apache Cassandra)๋Š” ์˜คํ”ˆ ์†Œ์Šค๋กœ ๊ฐœ๋ฐœ๋œ ๋ถ„์‚ฐํ˜• NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํŒŒํ‹ฐ์…˜๋œ ๋„“์€ ์—ด(column) ์ €์žฅ ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ตœ์ข… ์ผ๊ด€์„ฑ(eventual consistency)์„ ๊ฐ€์ง„๋‹ค. ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ๋Š” ์›๋ž˜ Facebook์—์„œ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, staged event-driven architecture (SEDA)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Amazon์˜ Dynamo ๋ถ„์‚ฐ ์ €์žฅ ๋ฐ ๋ณต์ œ ๊ธฐ์ˆ ๊ณผ Google์˜ Bigtable ๋ฐ์ดํ„ฐ ๋ฐ ์ €์žฅ ์—”์ง„ ๋ชจ๋ธ์˜ ๊ฒฐํ•ฉ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. Dynamo์™€ Bigtable์€ ๋ชจ๋‘ ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ์‹ ๋ขฐ์„ฑ์ด ๋†’์œผ๋ฉฐ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ๊ฐ–์ถ˜ ์ €์žฅ ์‹œ์Šคํ…œ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ๊ฐ์€ ๊ฐœ์„ ํ•  ..

๐Ÿ’ป/MLOps 2023.07.31

[Pinot] ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ ํ”„๋กœ์„ธ์Šค

1. ๋“ค์–ด๊ฐ€๊ธฐ ์ „, 1.1 ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • [Pinot] Apache Pinot ๊ฐœ๋ฐœ ํ™˜๊ฒฝ Apache Pinot ์šด์˜์ด ์•„๋‹Œ, ๊ฐœ๋ฐœ ๋ฐ ํ”„๋กœ์ ํŠธ ๊ธฐ์—ฌ๋ฅผ ๋ชฉ์ ์œผ๋กœ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•œ๋‹ค. WSL ํ™˜๊ฒฝ์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค. Running Pinot locally - Apache Pinot Docs Note that some installations of the JDK do not contain the JNI binding hhlab.tistory.com 1.2 ๋ชจ๋“ˆ ๋ฐ ์•„ํ‚คํ…์ณ pinot-common ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์˜ ๊ณตํ†ต ํด๋ž˜์Šค๋“ค์„ ์ œ๊ณต (config, metrics, metadata, pql.parsers, request, response, fs, ...) pinot-trasnport Broker์˜ ๋ถ„์‚ฐ-์ˆ˜์ง‘..

๐Ÿ’ป/MLOps 2023.03.05

[Pinot] Apache Pinot ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

Apache Pinot ์šด์˜์ด ์•„๋‹Œ, ๊ฐœ๋ฐœ ๋ฐ ํ”„๋กœ์ ํŠธ ๊ธฐ์—ฌ๋ฅผ ๋ชฉ์ ์œผ๋กœ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•œ๋‹ค. WSL ํ™˜๊ฒฝ์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค. Running Pinot locally - Apache Pinot Docs Note that some installations of the JDK do not contain the JNI bindings that are necessary to run all tests, if you see any java.lang.UnsatisfiedLinkError while running tests, you may need to change your JDK. If using Homebrew, you may install AdoptOpenJDK docs.pinot.apache.org 1. Java..

๐Ÿ’ป/MLOps 2023.03.05

[Pinot] Apache Pinot?

Apache Pinot์˜ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์š”์•ฝํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. https://docs.pinot.apache.org/ "Apache Pinot์€ ๋น ๋ฅธ ์‘๋‹ต์†๋„๋กœ ๋งŽ์€ ๋ถ„์„์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š”, ์‹ค์‹œ๊ฐ„ ๋ถ„์‚ฐ OLAP ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ" Kafka, Kinesis ๊ฐ™์€ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋“ค์—์„œ ๋‹ค์ด๋ ‰ํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ณ , ์ฆ‰์‹œ ์ฟผ๋ฆฌ ์‹คํ–‰์„ ์œ„ํ•œ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฟ ์•„๋‹ˆ๋ผ Hadoop, S3, ADLS, GCS์™€ ๊ฐ™์€ ๋ฐฐ์น˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค์—์„œ๋„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์˜ ์ค‘์‹ฌ ๋ถ€์—๋Š”, ๋น ๋ฅธ ์‘๋‹ต ์†๋„๋ฅผ ์œ„ํ•œ ์Šค๋งˆํŠธ ์ธ๋ฑ์‹ฑ, ๋ฐ์ดํ„ฐ ์‚ฌ์ „ ์ง‘๊ณ„ ๊ธฐ๋Šฅ์„ '๊ณ๋“ค์ธ' ์ปฌ๋Ÿผ ์ง€ํ–ฅ ์ €์žฅ์†Œ๊ฐ€ ์žˆ๋‹ค. ์ด ์ ์ด Pinot์„ ์‹ค์‹œ๊ฐ„ ๋ถ„์„ ์ œ๊ณต์— ์™„๋ฒฝํ•œ ๋„๊ตฌ๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Pinot์€ ๋‚ด๋ถ€ ๋Œ€์‹œ๋ณด๋“œ,..

๐Ÿ’ป/MLOps 2022.11.05