Hi there ๐Ÿ‘‹

Welcome to my blog

Learning eBPF - What Is eBPF, and Why Is it Imports? 2/2

Learning eBPF ์Šคํ„ฐ๋”” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ปค๋„์— ์ถ”๊ฐ€ํ•˜๊ธฐ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์€ 3,000๋งŒ์ค„์˜ ๊ฑฐ๋Œ€ํ•œ ์ฝ”๋“œ์˜ ๋ณตํ•ฉ์ฒด๊ณ  ๋งค์šฐ ๋ณต์žกํ•˜๋‹ค. ๋งŒ์•ฝ ์šฐ๋ฆฌ๊ฐ€ ์ปค๋„์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์ปค๋„์— ๋Œ€ํ•ด ์—ฐ๊ตฌํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๊ณ , ์ˆ˜ ๋งŽ์€ ๋ฆฌ๋ทฐ์–ด๋กœ ๋ถ€ํ„ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•„ ๋ฉ”์ธ ์ŠคํŠธ๋ฆผ์— ํŒจ์น˜๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๊ณผ์ •์€ ๋•Œ๋•Œ๋กœ ์ง€์ง€๋ถ€์ง„ํ•˜๋ฉฐ ๋งŽ์€ ๋…ธ๋ ฅ๊ณผ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค. ๋˜ํ•œ ์ด ๊ธฐ๊ฐ„๋™์•ˆ ์šฐ๋ฆฌ์˜ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ณ€๊ฒฝ๋  ์ˆ˜๋„ ์žˆ๋‹ค. ์ปค๋„์— ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋Œ€์‹  ์ปค๋„ ๋ชจ๋“ˆ ๋งŒ๋“ค๊ธฐ ์ปค๋„๊ณผ ๊ฐ™์€ ๊ฑฐ๋Œ€ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๊ธฐ์—ฌํ•˜๋Š”๊ฑด ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ข‹์€ ๊ฒฝํ—˜๊ณผ ์ด๋ ฅ์ด์ง€๋งŒ ์ง€์ง€๋ถ€์ง„ํ•œ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•˜๊ธฐ ์‹ซ๋‹ค๋ฉด ์ปค๋„์— ํŒจ์น˜ ๋งŒ๋“ค๊ธฐ ๋ง๊ณ  ์ปค๋„ ๋ชจ๋“ˆ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค....

March 4, 2024 ยท 2 min ยท 379 words ยท Me

Learning eBPF - What Is eBPF, and Why Is it Imports? 1/2

Learning eBPF ์Šคํ„ฐ๋”” eBPF๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ปค๋„ ๋ ˆ์ด์–ด์—์„œ ๋กœ๋“œํ•˜๊ณ  ์ปค๋„์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ํ˜์‹ ์ ์ธ ๊ธฐ์ˆ ์ด๋‹ค. eBPF๋Š” ๊ณ ์„ฑ๋Šฅ์˜ ๋„คํŠธ์›Œํ‚น, Observability, ๋ณด์•ˆ๋„๊ตฌ์— ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. eBPF๋ฅผ ํ™œ์šฉํ•œ ์‹ ๊ทœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ ๋‹ค๋ฉด ๊ธฐ์กด์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ถ”๊ฐ€์ ์ธ ์ˆ˜์ •์ด๋‚˜ ์žฌ์„ค์ •๋“ฑ์ด ๋ถˆํ•„์š”ํ•œ ์ด์ ์ด ์žˆ๋‹ค. eBPF๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค์Œ์ด ๊ฒƒ๋“ค์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹œ์Šคํ…œ ์ธก๋ฉด์—์„œ(low level์—์„œ), ๋Œ€๋ถ€๋ถ„์˜ ์„ฑ๋Šฅ์ธก์ • ๊ฐ€์‹œ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ณ ์„ฑ๋Šฅ์˜ ๋„คํŠธ์›Œํ‚น ๋ถ„์„ ๋น„์ •์ƒ ํ–‰์œ„๋ฅผ ํƒ์ง€ํ•˜๊ฑฐ๋‚˜ ์˜ˆ๋ฐฉ Note Moniroting: ์‹œ์Šคํ…œ์˜ ์˜ค๋ฅ˜, ๊ฒฐํ•จ ๋˜๋Š” ๋น„์ •์ƒ์ ์ธ ๋ฐ์ดํ„ฐ๋“ค์„ ์ˆ˜์ง‘ ๋ฐ ๊ฐ€์‹œํ™” Observability: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋™์ž‘์— ๋Œ€ํ•œ ์„ธ๋ถ€์ ์ธ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ(log, metric, audit)์„ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ Micro-Service ์•„ํ‚คํ…์ณ์˜ ์ „๋ฐ˜์ ์ธ ๊ตฌ์กฐ์  ๊ฒฐํ•จ์„ ์ฐพ๋Š”๋ฐ ํ™œ์šฉ๋จ....

March 2, 2024 ยท 3 min ยท 530 words ยท Me

[Kubernetes Study] Rolling Update and Rollbacks

Rollout ์‚ฌ์šฉ์ž๋Š” Application์˜ revision ์—…๋ฐ์ดํŠธ๋ฅผ rollout์„ ํ†ตํ•ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. Deployment๋กœ ๋ฐฐ์น˜๋œ Application์˜ rollout์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. apiVersion:apps/v1kind:Deploymentmetadata:name:myapp-deploymentlabels:app:myapptype:front-endspec:template:metadata:name:myapp-podlabels:app:myapptype:front-endspec:containers:- name:nginx-containerimage:nginxreplicas:3selector:matchLabels:type:front-endRollout Strategy ์ƒˆ๋กœ์šด Revision ๋ฐฐํฌ๋ฐฉ๋ฒ•๋“ค์€ ๋‹ค์–‘ํ•˜๋‹ค Recrease ํ˜„์žฌ ๋ฒ„์ „์˜ Pod instance๋ฅผ ๋ชจ๋‘ ์‚ญ์ œํ•˜๊ณ  ์ƒˆ๋กœ์šด Revision application์œผ๋กœ ๊ตฌ์„ฑํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ ์ด์ „ ๋ฒ„์ „์˜ Pod instance๋“ค์ด ๋ชจ๋‘ ์‚ญ์ œ๋˜๊ณ  ์ƒˆ๋กœ์šด Revision application์ด ๋ฐฐ์น˜๋  ๋•Œ ๊นŒ์ง€ ์„œ๋น„์Šค ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. Rolling Update ๊ตฌ ๋ฒ„์ „ Pod๋ฅผ ํ•˜๋‚˜ ์‚ญ์ œํ•˜๊ณ  Revision Pod๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑํ•œ๋‹ค. ์ด ๊ณผ์ •์„ Pod์˜ ๊ฐœ์ˆ˜๋งŒํผ ์ˆ˜ํ–‰ํ•˜๋ฉด Pod๊ฐ€ ์—†์–ด ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•˜๋Š” ์žฅ์• ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค....

February 29, 2024 ยท 3 min ยท 551 words ยท Me

[Kubernetes Study] Monitor Cluster Components and Application Logs

Monitor k8s์˜ Monitoring ์ง€ํ‘œ๋“ค์€ ๋‹ค์–‘ํ•˜๋‹ค. ๋‹ค์Œ์˜ k8s๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ง€ํ‘œ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋…ธ๋“œ ๋ ˆ๋ฒจ์˜ ํ†ต๊ณ„: ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ ๋ฐ ์ƒํƒœ ์„ฑ๋Šฅ์ง€ํ‘œ: CPU, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ๋””์Šคํฌ, ๋„คํŠธ์›Œํฌ I/O Pod ๋ ˆ๋ฒจ์ง€ํ‘œ: Pod์˜ ๊ฐœ์ˆ˜, Pod์˜ ์ž์› ์‚ฌ์šฉ๋Ÿ‰ ๋“ฑ ์ด์ฒ˜๋Ÿผ ๋‹ค์–‘ํ•œ ์„ฑ๋Šฅ์ง€ํ‘œ๋“ค์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ์ค‘์•™ํ™”๋œ ๊ด€๋ฆฌ์™€ ํ•ด๋‹น ์ •๋ณด๋ฅผ ๊ฐ€๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ด ํ•„์š”ํ•˜๋‹ค. k8s์—๋Š” default๋กœ ํƒ‘์žฌ๋˜๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ์†”๋ฃจ์…˜์ด ์—†์ง€๋งŒ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋œ ๋‹ค์–‘ํ•œ ์†”๋ฃจ์…˜๋“ค์œผ ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค๋ฉด Prometheus, Elastic Stack, Datadog, dynatrace๋“ฑ์ด ์žˆ๋‹ค....

February 27, 2024 ยท 3 min ยท 455 words ยท Me

[Kubernetes Study] Scheduler configuration

์Šค์ผ€์ฅด๋Ÿฌ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ๋ฆฌ์†Œ์Šค์™€ ์„ค์ •์— ๋”ฐ๋ผ Pod๋“ค์„ ๋ฐฐ์น˜ํ•œ๋‹ค. ์Šค์ผ€์ฅด๋Ÿฌ๋Š” Scheduling, Filtering, Scoring ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉฐ Pod๋“ค์„ ๋ฐฐ์น˜ํ•œ๋‹ค. Scheduling(PrioritySort) Pod ์ƒ์„ฑ ์š”์ฒญ๋“ค์„ queue์‚ฝ์ž…ํ•˜๋ฉฐ, PriorityClass์— ๊ธฐ๋ฐ˜ํ•œ ์ •๋ ฌ์ด ์ด๋ฃจ์–ด์ง Filtering(NodeResourceFit) Pod๊ฐ€ ๋ฐฐ์น˜๋˜๋Š” ๋…ธ๋“œ๋“ค์„ filteringํ•œ๋‹ค. Requests/Limits ์„ค์ •์— ๋”ฐ๋ผ ๋ถ€์กฑํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ–๋Š” ๋…ธ๋“œ๋“ค์€ filter out๋œ๋‹ค. Scoring(NodeResourceFit) ๋ฐฐ์น˜ ๊ฐ€๋Šฅํ•œ ๋…ธ๋“œ๋“ค์— ๋Œ€ํ•ด ์ ์ˆ˜๋ฅผ ๋งค๊ธด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ˜„์žฌ ์š”์ฒญ๋œ Pod๋ฅผ ๋ฐฐ์น˜ํ•œ ํ›„ ๋‚จ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋†’์„ ์ˆ˜๋ก ๋†’์€ ์ ์ˆ˜๋ฅผ ๋ฐ›๋Š”๋‹ค. Binding ์„ ํƒ๋œ ๋…ธ๋“œ์— Pod๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๋‹จ๊ณ„....

February 25, 2024 ยท 2 min ยท 240 words ยท Me