Enhancements: ๋…ธ๋“œ ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž

์— ๋งŒ๋“  2019๋…„ 01์›” 17์ผ  ยท  159์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: kubernetes/enhancements

๊ฐ•ํ™” ์„ค๋ช…

  • ํ•œ ์ค„ ๊ฐœ์„  ์„ค๋ช…(๋ฆด๋ฆฌ์Šค ๋…ธํŠธ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ): Kubernetes์˜ ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์„ธ๋ถ„ํ™”๋œ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค ํ• ๋‹น์„ ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•œ Kubelet ๊ตฌ์„ฑ ์š”์†Œ.
  • ๊ธฐ๋ณธ ์—ฐ๋ฝ์ฒ˜(๋‹ด๋‹น์ž): @klueska
  • ์ฑ…์ž„ ์žˆ๋Š” SIG: sig-node
  • ๋””์ž์ธ ์ œ์•ˆ ๋งํฌ(์ปค๋ฎค๋‹ˆํ‹ฐ ์ €์žฅ์†Œ): https://github.com/kubernetes/community/pull/1680
  • KEP ํ™๋ณด: https://github.com/kubernetes/enhancements/pull/781
  • KEP: https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/0035-20190130-topology-manager.md
  • e2e ๋ฐ/๋˜๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ๋งํฌ: N/A ์•„์ง
  • ๊ฒ€ํ† ์ž - (LGTM์˜ ๊ฒฝ์šฐ) 2๋ช… ์ด์ƒ์˜ ๊ฒ€ํ† ์ž(์ฝ”๋“œ ์˜์—ญ OWNERS ํŒŒ์ผ์—์„œ ์ตœ์†Œ ํ•œ ๋ช…)๊ฐ€ ๊ฒ€ํ† ์— ๋™์˜ํ•˜๋„๋ก ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํšŒ์‚ฌ์˜ ๋ฆฌ๋ทฐ์–ด ์„ ํ˜ธ: @ConnorDoyle @balajismaniam
  • ์Šน์ธ์ž(ํ–ฅ์ƒ์ด ์†ํ•˜๋Š” SIG/์˜์—ญ์—์„œ ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ): @derekwaynecarr @ConnorDoyle
  • ํ–ฅ์ƒ ๋ชฉํ‘œ(์–ด๋–ค ๋ชฉํ‘œ๊ฐ€ ์–ด๋–ค ์ด์ •ํ‘œ์™€ ๊ฐ™์Œ):

    • ์•ŒํŒŒ ๋ฆด๋ฆฌ์Šค ๋Œ€์ƒ(xy): v1.16

    • ๋ฒ ํƒ€ ๋ฆด๋ฆฌ์Šค ๋Œ€์ƒ(xy): v1.18

    • ์•ˆ์ • ์ถœ์‹œ ๋ชฉํ‘œ(xy)

kinfeature sinode stagbeta trackeyes

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด kep์— ๋Œ€ํ•œ ๋ชจ๋“  PR์ด ๋ณ‘ํ•ฉ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ(๋งˆ๊ฐ์ผ๊นŒ์ง€ ์Šน์ธ๋จ) ๊ฐœ์„  ์‚ฌํ•ญ ์ถ”์  ์‹œํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. :์›ƒ๋‹ค:

๋ชจ๋“  159 ๋Œ“๊ธ€

/sig ๋…ธ๋“œ
/์ข…๋ฅ˜ ๊ธฐ๋Šฅ
cc @ConnorDoyle @balajismaniam @nolancon

๋‚˜๋Š” Borg์—์„œ ๋ฐฐ์šด ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ด ๋””์ž์ธ์„ ์•Œ๋ฆฌ๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ €๋ฅผ ๊ฒ€ํ† ์ž/์Šน์ธ์ž๋กœ ๊ฐ„์ฃผํ•˜์‹ญ์‹œ์˜ค.

๋‚˜๋Š” Borg์—์„œ ๋ฐฐ์šด ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ด ๋””์ž์ธ์„ ์•Œ๋ฆฌ๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ €๋ฅผ ๊ฒ€ํ† ์ž/์Šน์ธ์ž๋กœ ๊ฐ„์ฃผํ•˜์‹ญ์‹œ์˜ค.

์ด ๊ธฐ๋Šฅ์ด borg์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ๊ณต๊ฐœ ๋ฌธ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

NUMA AFAIK์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

2019๋…„ 2์›” 11์ผ ์›”์š”์ผ ์˜ค์ „ 7:50 Jeremy Eder < [email protected] ์ž‘์„ฑ:

๋‚˜๋Š” Borg์—์„œ ๋ฐฐ์šด ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ด ๋””์ž์ธ์„ ์•Œ๋ฆฌ๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๋‚˜๋ฅผ ์„ธ์–ด๋ด
๊ฒ€ํ† ์ž/์Šน์ธ์ž๋กœ

์ด ๊ธฐ๋Šฅ์ด borg์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ๊ณต๊ฐœ ๋ฌธ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/kubernetes/enhancements/issues/693#issuecomment-462378195 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AGvIKPfanjb9Q5DxXAiBgv9C6Y809JX0ks5vMZFZgaJpZM4aE3uz
.

์ฐธ๊ณ ๋กœ @claurence

์ด ์ถ”์  ๋ฌธ์ œ์™€ KEP(https://github.com/kubernetes/enhancements/pull/781)๋Š” v1.14 ๊ฐœ์„  ์‚ฌํ•ญ์ด ์ค‘๋‹จ๋˜๊ฑฐ๋‚˜ ์—ฐ์žฅ๋œ ๊ธฐํ•œ์— ์ด๋ฅด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ๊ฐ์ผ ์ „์— ์—ด์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•˜์ง€๋งŒ ์ถฉ๋ถ„ํ•œ ๊ฒ€ํ† ๋‚˜ ์Šน์ธ์„ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์˜ˆ์™ธ์  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ๋•Œ๊นŒ์ง€ ์ €๋Š” ์ด ๊ฐœ์„  ์‚ฌํ•ญ๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  PR์„ ๋ณด๋ฅ˜ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ: https://github.com/kubernetes/kubernetes/issues/72828

/cc @jiayingz @dchen1107

@lmdaly ์„ค๋ช…์— 1.14๊ฐ€ ์•ŒํŒŒ ๋งˆ์ผ์Šคํ†ค์œผ๋กœ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋ณ‘ํ•ฉ๋œ KEP๊ฐ€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฌธ์ œ๋Š” 1.14์— ๋Œ€ํ•ด ์ถ”์ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฆด๋ฆฌ์Šค์— ํฌํ•จ๋  ์˜๋„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์˜ˆ์™ธ ์š”์ฒญ์„ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

@lmdaly ์„ค๋ช…์— 1.14๊ฐ€ ์•ŒํŒŒ ๋งˆ์ผ์Šคํ†ค์œผ๋กœ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋ณ‘ํ•ฉ๋œ KEP๊ฐ€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฌธ์ œ๋Š” 1.14์— ๋Œ€ํ•ด ์ถ”์ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฆด๋ฆฌ์Šค์— ํฌํ•จ๋  ์˜๋„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์˜ˆ์™ธ ์š”์ฒญ์„ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

@claurence KEP๊ฐ€ ์ด์ œ ๋ณ‘ํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(KEP๋Š” ์ด์ „์— ์ปค๋ฎค๋‹ˆํ‹ฐ

๋””์ž์ธ ๋ฐ WIP PR์„ ๊ผผ๊ผผํžˆ ์ฝ์€ ํ›„ ํ˜„์žฌ ๊ตฌํ˜„์ด https://github.com/kubernetes/enhancements/pull/781 ์—์„œ ์ œ์•ˆํ•œ ์›๋ž˜ ํ† ํด๋กœ์ง€ ๋””์ž์ธ์ฒ˜๋Ÿผ ์ผ๋ฐ˜์ ์ด์ง€ ์•Š๋‹ค๋Š” ์šฐ๋ ค๊ฐ€

์—ฌ๊ธฐ์— ์ถ”๊ฐ€ ํ† ๋ก ์„ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์˜๊ฒฌ์„ ๋‚จ๊ฒผ์Šต๋‹ˆ๋‹ค. https://github.com/kubernetes/kubernetes/pull/74345#discussion_r264387724

ํ˜„์žฌ ๊ตฌํ˜„์€ ์ผ๋ฐ˜์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค

๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ๊ฐ™์€ ์šฐ๋ ค๋ฅผ ๊ณต์œ ํ•˜์‹ญ์‹œ์˜ค :) ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ, ์˜ˆ๋ฅผ ๋“ค์–ด ์žฅ์น˜ ๊ฐ„์˜ ๋งํฌ(GPU์˜ ๊ฒฝ์šฐ nvlink)?

@resouer @k82cn ์ดˆ๊ธฐ ์ œ์•ˆ์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋˜๋Š” CPU์™€ ์žฅ์น˜์˜ ๊ทผ์ ‘์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด CPU ๊ด€๋ฆฌ์ž์™€ ์žฅ์น˜ ๊ด€๋ฆฌ์ž๊ฐ€ ๋‚ด๋ฆฐ ๊ฒฐ์ •์„ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค. ์žฅ์น˜ ๊ฐ„ ์นœํ™”์„ฑ์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” ๊ฒƒ์€ ์ œ์•ˆ์˜ ๋ชฉํ‘œ๊ฐ€ ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ ๊ตฌํ˜„์ด ํ–ฅํ›„ ์žฅ์น˜ ๊ฐ„ ์„ ํ˜ธ๋„ ์ถ”๊ฐ€๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๊ฒฝ์šฐ ๊ตฌํ˜„ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋ฉด ๊ตฌํ˜„์„ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ตฌํ˜„๊ณผ ์žฅ์น˜ ๊ฐ„ ์„ ํ˜ธ๋„๋ฅผ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ฃผ์š” ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์žฅ์น˜ ๊ฐ„ ์„ ํ˜ธ๋„๋ฅผ ์ง€์›ํ•˜๋ ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ์— ์–ด๋–ค ์†Œ์ผ“ ์„ ํ˜ธ๋„๋ฅผ ๊ฐ–๊ธฐ๋ฅผ ์›ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜๊ธฐ _์ „์—_ ์ปจํ…Œ์ด๋„ˆ์— ํ• ๋‹นํ•˜๋ ค๋Š” ์žฅ์น˜๋ฅผ ๋จผ์ € ํŒŒ์•…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Nvidia GPU์˜ ๊ฒฝ์šฐ ์ตœ์ ์˜ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ๊ฐ€์žฅ ๋งŽ์ด ์—ฐ๊ฒฐ๋œ NVLINK๊ฐ€ ์žˆ๋Š” GPU ์„ธํŠธ๋ฅผ ์ฐพ์•„ ํ• ๋‹นํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ œ์•ˆ์—์„œ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์—์„œ ๊ฐ€์ •์€ ์ด๋Ÿฌํ•œ ์ž‘์—…์ด ์—ญ์ˆœ์œผ๋กœ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์žฅ์น˜ ํ• ๋‹น์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ์†Œ์ผ“ ์„ ํ˜ธ๋„๊ฐ€ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์ด ๋ฐ˜๋“œ์‹œ ์‚ฌ์‹ค์€ ์•„๋‹™๋‹ˆ๋‹ค. @klueska. ํ† ํด๋กœ์ง€ ํžŒํŠธ๊ฐ€ ์ง€์ ๊ฐ„ ์žฅ์น˜ ํ† ํด๋กœ์ง€๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋„๋ก ํ™•์žฅ๋œ ๊ฒฝ์šฐ ์žฅ์น˜ ๊ด€๋ฆฌ์ž๋Š” ์†Œ์ผ“ ์„ ํ˜ธ๋„๋ฅผ ๋ณด๊ณ ํ•  ๋•Œ ์ด๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ต์ฐจ ์žฅ์น˜ ํ† ํด๋กœ์ง€๊ฐ€ ์žฅ์น˜ ๊ด€๋ฆฌ์ž์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ์‹คํ˜„ ๊ฐ€๋Šฅํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ?

์™ ์ง€ ํ๋ฆ„์ด ํ—ท๊ฐˆ๋ฆด ์ˆ˜๋„ ์žˆ์–ด์š”. ๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1) ์ดˆ๊ธฐํ™” ์‹œ ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ( devicemanager ์•„๋‹˜)์€ ๋‚˜์ค‘์— ์ฝœ๋ฐฑ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก topologymanager ์ž์‹ ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

ํฌ๋“œ๊ฐ€ ์ œ์ถœ๋˜๋ฉด 2) kubelet๋Š” ํ˜ธ์ถœ lifecycle.PodAdmitHandler ์˜จ topologymanager .

3) lifecycle.PodAdmitHandler ๋Š” ๋“ฑ๋ก๋œ ๊ฐ ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ GetTopologyHints ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

4) ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋Ÿฌํ•œ ํžŒํŠธ๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ํฌ๋“œ์™€ ์—ฐ๊ฒฐ๋œ ํ†ตํ•ฉ TopologyHint ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

5) Pod๋ฅผ ์Šน์ธํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๋ฉด Pod์— ๋Œ€ํ•œ ํ†ตํ•ฉ TopologyHint ์„ ๋กœ์ปฌ state store์— ์ €์žฅํ•œ lifecycle.PodAdmitHandler ์—์„œ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

6) ๋ฏธ๋ž˜์˜ ์–ด๋–ค ์‹œ์ ์—์„œ cpumanager ์™€ devicemanager ๋Š” topology ๋งค๋‹ˆ์ €์—์„œ GetAffinity(pod) ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์—ฐ๊ด€๋œ TopologyHint ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ํฌ๋“œ์™€ ํ•จ๊ป˜

7) cpumanager ๋Š” ์ด TopologyHint`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CPU๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

8) devicemanager ๋Š” ์ด TopologyHint`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์น˜ ์„ธํŠธ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

9) Pod ์ดˆ๊ธฐํ™” ๊ณ„์†...

์ด๊ฒƒ์ด ๋งž๋‹ค๋ฉด ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด TopologyHints ๋ณด๊ณ ํ•˜๋Š” ์‹œ์ ๊ณผ devicemanager ๊ฐ€ ์‹ค์ œ ํ• ๋‹น์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‹œ์  ์‚ฌ์ด์— ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ๊ณ ๋ฏผํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํžŒํŠธ๊ฐ€ ํ• ๋‹น์— ๋Œ€ํ•œ "๊ธฐ๋ณธ ์„ค์ •"์„ ์ธ์ฝ”๋”ฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋ผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

type TopologyHints struct {
    hints []struct {
        SocketID int
        DeviceIDs []int
    }
}

์†Œ์ผ“ ์„ ํ˜ธ๋„ ๊ธฐ๋ณธ ์„ค์ • ๋ชฉ๋ก์„ ์ „๋‹ฌํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•ด๋‹น ์†Œ์ผ“ ์„ ํ˜ธ๋„ ๊ธฐ๋ณธ ์„ค์ •์ด ํ• ๋‹น ๊ฐ€๋Šฅํ•œ GPU ๊ธฐ๋ณธ ์„ค์ •๊ณผ ์Œ์„ ์ด๋ฃจ๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋‹น์‹ ์ด ์ƒ๊ฐํ•˜๋Š” ๋ฐฉํ–ฅ์ด๋ผ๋ฉด ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์„ ์ž‘๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ cpumanager ์™€ devicemanager ์‚ฌ์ด๋ฅผ ์–ด๋–ป๊ฒŒ๋“  ์กฐ์ •ํ•˜์—ฌ ๊ทธ๋“ค์ด ๋™์ผํ•˜๊ฒŒ "์ˆ˜๋ฝ"ํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ• ๋‹นํ•  ๋•Œ ํžŒํŠธ๋ฅผ ์ค๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋†“์นœ ์ด๋ฏธ ์ด๊ฒƒ์„ ํ—ˆ์šฉํ•˜๋Š” ๋ฌด์–ธ๊ฐ€๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@klueska

ํ๋ฆ„์„ _์‚ฌ์†Œํ•˜๊ฒŒ_ ์ˆ˜์ •ํ•˜๋ฉด ์–ด๋–ค ์ผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

  1. ์ดˆ๊ธฐํ™” ์‹œ ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋‚˜์ค‘์— ์ฝœ๋ฐฑ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก devicemanager ์ž์‹ ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

  2. lifecycle.PodAdmitHandler ๋Š” ํ˜„์žฌ devicemanager ๋ฐ cpumanager Kubelet์˜ ๊ฐ ํ† ํด๋กœ์ง€ ์ธ์‹ ๊ตฌ์„ฑ ์š”์†Œ์—์„œ GetTopologyHints ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ Kubelet์—์„œ ํ† ํด๋กœ์ง€ ์ธ์‹์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์€ cpumanager ๋ฐ devicemanager ์ž…๋‹ˆ๋‹ค. ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž๋Š” ํ† ํด๋กœ์ง€ ์ธ์‹ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ํ• ๋‹น์„ ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด:

๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” cpumanager์™€ devicemanager๊ฐ€ ํ• ๋‹นํ•  ๋•Œ ๋™์ผํ•œ ํžŒํŠธ๋ฅผ "์ˆ˜๋ฝ"ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ๋“  ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด topologymanager ์ž์ฒด๊ฐ€ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ „ ์ดˆ์•ˆ ์ค‘ ํ•˜๋‚˜์—์„œ ,

์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๊ต์ฐจ NUMA ํ• ๋‹น์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์กฐ์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์กฐ์ •๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋Š” ๊นŒ๋‹ค๋กญ์Šต๋‹ˆ๋‹ค. "ํ• ๋‹น๋œ NIC์™€ ๋™์ผํ•œ NUMA ๋…ธ๋“œ์— ์žˆ๋Š” ๋…์  ์ฝ”์–ด"์™€ ๊ฐ™์€ ๋„๋ฉ”์ธ ๊ฐ„ ์š”์ฒญ์—๋Š” CNI์™€ CPU ๊ด€๋ฆฌ์ž๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. CPU ๊ด€๋ฆฌ์ž๊ฐ€ ๋จผ์ € ์„ ํƒํ•˜๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ NIC๊ฐ€ ์—†๋Š” NUMA ๋…ธ๋“œ์—์„œ ์ฝ”์–ด๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ฐธ์กฐ.

์ด๋ ‡๊ฒŒ devicemanager ๋ฐ cpumanager ๋ชจ๋‘ ๊ตฌํ˜„ GetTopologyHints() ์•„๋‹ˆ๋ผ ํ†ตํ™”๋กœ GetAffinity() ์ƒ๊ธฐ ํ–‰ ๋ฐฉํ–ฅ์œผ๋กœ ์ž‘์šฉ ํšŒํ”ผ topologymanager ๋˜๋Š” ํ•˜๋ถ€ ๋””๋ฐ”์ด์Šค ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ . ์ฝ”๋“œ๋ฅผ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด devicemanager ๊ฐ€ TopologyHints ์ฑ„์šฐ๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์ œ์–ด๋ฅผ ์œ„์ž„ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฒฐ๊ตญ ๋” ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ œ๊ธฐ ํ•œ ์›๋ž˜ ์งˆ๋ฌธ / ๋ฌธ์ œ๋กœ ๋Œ์•„๊ฐ€์„œ ....

Nvidia์˜ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ TopologyHints ๊ตฌ์กฐ์ฒด(๊ฒฐ๊ณผ์ ์œผ๋กœ ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ธํ„ฐํŽ˜์ด์Šค)์— ๋” ๋งŽ์€ ์ •๋ณด๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ํ–ฅํ›„ ์ง€์  ๊ฐ„ ๋งํฌ ์ •๋ณด๋ฅผ ๋ณด๊ณ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์ด ์ œ์•ˆ๋œ ํ๋ฆ„์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. .

๊ทธ๋Ÿฌ๋‚˜, ๋‚˜๋Š”์œผ๋กœ ์‹œ์ž‘ ์ƒ๊ฐ SocketMask ํ™•์žฅ ํ•  ์ˆ˜์žˆ๋Š” ๋Šฅ๋ ฅ์ด ์ œํ•œ ๋  ์ˆ˜ ๊ด‘๊ณ  ์†Œ์ผ“ ์„ ํ˜ธ๋„์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ TopologyHints ๊ธฐ์กด์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํŒŒ๊ดดํ•˜์ง€ ์•Š๊ณ  ๋ฏธ๋ž˜์™€ ํฌ์ธํŠธ - ํˆฌ - ํฌ์ธํŠธ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋œ ์ด์œ ๋Š” (์ ์–ด๋„ Nvidia GPU์˜ ๊ฒฝ์šฐ) ๊ธฐ๋ณธ ์†Œ์ผ“์ด ๊ฒฐ๊ตญ ์‹ค์ œ๋กœ ํ• ๋‹น๋  GPU์— ๋‹ฌ๋ ค ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ตœ์ ์˜ ์—ฐ๊ฒฐ์„ฑ์„ ๊ฐ€์ง„ ํฌ๋“œ์— 2๊ฐœ์˜ GPU๋ฅผ ํ• ๋‹นํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์•„๋ž˜ ๊ทธ๋ฆผ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

Bildschirmfoto 2019-04-09 um 15 51 37

(2, 3) ๋ฐ (6, 7)์˜ GPU ์กฐํ•ฉ์—๋Š” ๋‘˜ ๋‹ค 2๊ฐœ์˜ NVLINK๊ฐ€ ์žˆ๊ณ  ๋™์ผํ•œ PCIe ๋ฒ„์Šค์— ์ƒ์ฃผํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํฌ๋“œ์— 2๊ฐœ์˜ GPU๋ฅผ ํ• ๋‹นํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋™์ผํ•œ ํ›„๋ณด๋กœ ๊ฐ„์ฃผ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„ ํƒ๋˜๋Š” ์กฐํ•ฉ์— ๋”ฐ๋ผ (2, 3)์ด ์†Œ์ผ“ 0์— ์—ฐ๊ฒฐ๋˜๊ณ  (6, 7)์ด ์†Œ์ผ“ 1์— ์—ฐ๊ฒฐ๋˜๋ฏ€๋กœ ๋‹ค๋ฅธ ์†Œ์ผ“์ด ๋ถ„๋ช…ํžˆ ์„ ํ˜ธ๋ฉ๋‹ˆ๋‹ค.

์ด ์ •๋ณด๋Š” devicemanager ๊ฐ€ ๊ฒฐ๊ตญ ์›ํ•˜๋Š” ํ• ๋‹น ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก TopologyHints ๊ตฌ์กฐ์ฒด์— ์ธ์ฝ”๋”ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ฆ‰, topologymanager ์ค‘ ํ•˜๋‚˜๊ฐ€ ํžŒํŠธ๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ์•„๋ž˜๋กœ). ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ธฐ๋ณธ ์žฅ์น˜ ํ• ๋‹น๊ณผ ๊ธฐ๋ณธ ์†Œ์ผ“ ๊ฐ„์˜ ์ข…์†์„ฑ์€ TopologyHints ๋กœ ์ธ์ฝ”๋”ฉ๋˜์–ด์•ผ cpumanager ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์†Œ์ผ“์—์„œ CPU๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์˜ˆ์—์„œ Nvidia GPU์™€ ๊ด€๋ จ๋œ ์ž ์žฌ์  ์†”๋ฃจ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

type TopologyHint struct {
    SocketID int
    DeviceIDs []int
}

type TopologyHints []TopologyHint

devicemanagerhints := &TopologyHints{
    {SocketID: 0, DeviceIDs: []int{2, 3}},
    {SocketID: 1, DeviceIDs: []int{6, 7}},
}

cpumanagerhints := &TopologyHints{
    {SocketID: 1},
}

์—ฌ๊ธฐ์„œ topologymanager ๋Š” devicemanager ๋ฐ cpumanager ๋‚˜์ค‘์— GetAffinity() ํ˜ธ์ถœํ•  ๋•Œ ๊ธฐ๋ณธ ํžŒํŠธ๋กœ {SocketID: 1, DeviceIDs: []int{6, 7}} ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ด๋Ÿฌํ•œ ํžŒํŠธ๋ฅผ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.

ํ•˜๋ฉด์„œ ์ˆ˜๋„ ์žˆ๊ณ  ๊ต์ฒด, ๋ชจ๋“  ๊ฐ€์†๊ธฐ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์ถฉ๋ถ„ํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ œ๊ณตํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค SocketMask ์—์„œ TopologyHints ๊ตฌ์กฐ์ฒด ์šฐ๋ฆฌ๊ฐ€ ๋” ํ•„๋“œ ๊ฐ๊ฐ์˜ ํžŒํŠธ๋ฅผ ํ™•์žฅ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ ๋ญ”๊ฐ€ ๋ฏธ๋ž˜:

ํ•˜๋Š” ๊ฒƒ์œผ๋กœ GetTopologyHints() ์—ฌ์ „ํžˆ ๋ฐ˜ํ™˜ TopologyHints ํ•˜๋ฉด์„œ, GetAffinity() ๋‹จ์ผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค TopologyHint ๋ณด๋‹ค๋Š” TopologyHints .

type TopologyHint struct {
    SocketID int
}

type TopologyHints []TopologyHint

&TopologyHints{
    {SocketID: 0},
    {SocketID: 1},
}

type HintProvider interface {
    GetTopologyHints(pod v1.Pod, container v1.Container) TopologyHints
}

type Store interface {
    GetAffinity(podUID string, containerName string) TopologyHint
}

์ƒ๊ฐ?

@klueska ์–ด์ฉŒ๋ฉด ๋‚ด๊ฐ€ ๋ญ”๊ฐ€๋ฅผ ๋†“์น˜๊ณ 

์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ API๊ฐ€ @ConnorDoyle์ด ์ œ์•ˆํ•œ ๋Œ€๋กœ ์žฅ์น˜๊ฐ€ ์ง€์  ๊ฐ„ ์žฅ์น˜ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ค์‹œ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ™•์žฅ๋œ ๊ฒฝ์šฐ ์žฅ์น˜ ๊ด€๋ฆฌ์ž๋Š” ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์†Œ์ผ“ ์ •๋ณด๋ฅผ ๋‹ค์‹œ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์˜ˆ์—์„œ devicemanagerhints ๋Š” ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด devicemanager๋กœ ๋‹ค์‹œ ๋ณด๋‚ธ ์ •๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์žฅ์น˜ ๊ด€๋ฆฌ์ž๋Š” ์†Œ์ผ“ ์ •๋ณด๋ฅผ ํ˜„์žฌ์™€ ๊ฐ™์ด TopologyManager์— ๋‹ค์‹œ ๋ณด๋‚ด๊ณ  TopologyManager๋Š” ์„ ํƒํ•œ ์†Œ์ผ“ ํžŒํŠธ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

ํ• ๋‹น ์‹œ devicemanager๋Š” GetAffinity๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์›ํ•˜๋Š” ์†Œ์ผ“ ํ• ๋‹น(์ด ๊ฒฝ์šฐ ์†Œ์ผ“์ด 1์ด๋ผ๊ณ  ๊ฐ€์ •ํ•จ)์„ ๊ฐ€์ ธ์˜ค๊ณ  ์ด ์ •๋ณด์™€ ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ๋‹ค์‹œ ๋ณด๋‚ธ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์ผ“ 1์—์„œ ์žฅ์น˜๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•จ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค( 6,7) NV Link ์žฅ์น˜์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๊ฒŒ ๋ง์ด ๋ฉ๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด ์ œ๊ฐ€ ๋†“์น˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์‹œ๊ฐ„์„ ๋‚ด์–ด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. @ConnorDoyle ์˜ ์›๋ž˜ ์ œ์•ˆ์„ ์ž˜๋ชป ํ•ด์„

ํ† ํด๋กœ์ง€ ํžŒํŠธ๊ฐ€ ์ง€์ ๊ฐ„ ์žฅ์น˜ ํ† ํด๋กœ์ง€๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋„๋ก ํ™•์žฅ๋œ ๊ฒฝ์šฐ ์žฅ์น˜ ๊ด€๋ฆฌ์ž๋Š” ์†Œ์ผ“ ์„ ํ˜ธ๋„๋ฅผ ๋ณด๊ณ ํ•  ๋•Œ ์ด๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TopologyHints ๊ตฌ์กฐ์ฒด๋ฅผ point-to-point ์ •๋ณด๋กœ ์ง์ ‘ ํ™•์žฅํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค.

devicemanager ํฌ์ธํŠธ-ํˆฌ-ํฌ์ธํŠธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ API๋งŒ ํ™•์žฅ๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ œ์•ˆํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์•ผ ์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SocketMask ์— ์•Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค GetTopologyHints() ๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค TopologyHints ๊ตฌ์กฐ์ฒด์— ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋Œ€ํ•œ API ํ™•์žฅ์ด ์œ„์˜ ์˜ˆ์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ๊ณผ ์œ ์‚ฌํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋„๋ก ์„ค๊ณ„๋˜๊ณ  devicemanager ๊ฐ€ ํ™•์žฅ๋˜์–ด ํฌ๋“œ ์Šน์ธ๊ณผ ์žฅ์น˜ ์‚ฌ์ด์— ์ด ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ํ•œ ์ด๊ฒƒ์ด ์ž‘๋™ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ• ๋‹น ์‹œ๊ฐ„.

์ง€๊ธˆ ์šฐ๋ฆฌ๋Š” Nvidia์—์„œ kubelet ๋ฅผ ํŒจ์น˜ํ•˜์—ฌ ๊ท€ํ•˜๊ฐ€ ์ œ์•ˆํ•œ ๊ฒƒ์„ ๋ณธ์งˆ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๋งž์ถคํ˜• ์†”๋ฃจ์…˜์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(๋‹จ, ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋Œ€ํ•œ ๊ฒฐ์ •์„ devicemanager GPU๋ฅผ ์ธ์‹ํ•˜๊ณ  ํ† ํด๋กœ์ง€ ๊ธฐ๋ฐ˜ GPU ํ• ๋‹น ๊ฒฐ์ •์„ ์ž์ฒด์ ์œผ๋กœ ๋‚ด๋ฆผ).

์šฐ๋ฆฌ๋Š” ์žฅ๊ธฐ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด ๋ฌด์—‡์ด๋“  ์•ž์œผ๋กœ ์ด๋Ÿฌํ•œ ์‚ฌ์šฉ์ž ์ง€์ • ํŒจ์น˜๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์—ฌ๊ธฐ์˜ ํ๋ฆ„์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋” ์ž˜ ์•Œ๊ฒŒ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋ฅผ ๋ฐฉํ•ดํ•  ๋งŒํ•œ ์–ด๋–ค ๊ฒƒ๋„ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ„์„ ๋‚ด์–ด ๋ชจ๋“  ๊ฒƒ์„ ๋ช…ํ™•ํžˆ ํ•ด ์ฃผ์…”์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @lmdaly , ์ €๋Š” 1.15์˜ Enhancement Lead์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์ด 1.15์—์„œ ์•ŒํŒŒ/๋ฒ ํƒ€/์•ˆ์ • ๋‹จ๊ณ„๋ฅผ ์กธ์—…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๊นŒ? ์ œ๋Œ€๋กœ ์ถ”์ ํ•˜๊ณ  ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์•Œ๋ ค์ฃผ์„ธ์š”.

์ฝ”๋”ฉ์ด ์‹œ์ž‘๋˜๋ฉด ์ด ํ˜ธ์— ์žˆ๋Š” ๋ชจ๋“  ๊ด€๋ จ k/k PR์„ ๋‚˜์—ดํ•˜์—ฌ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์‹ญ์‹œ์˜ค.

์ด ๊ธฐ๋Šฅ์€ ์ž์ฒด ๊ธฐ๋Šฅ ๊ฒŒ์ดํŠธ๊ฐ€ ๋˜๋ฉฐ ์•ŒํŒŒ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

/๋งˆ์ผ์Šคํ†ค 1.15

@derekwaynecarr : ์ œ๊ณต๋œ ์ด์ •ํ‘œ๊ฐ€ ์ด ์ €์žฅ์†Œ์— ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ €์žฅ์†Œ์˜ ์ด์ •ํ‘œ: [ keps-beta , keps-ga , v1.14 , v1.15 ]

/milestone clear ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ •ํ‘œ๋ฅผ ์ง€์šฐ์‹ญ์‹œ์˜ค.

์— ๋Œ€ํ•œ ์‘๋‹ต ์ด :

์ด ๊ธฐ๋Šฅ์€ ์ž์ฒด ๊ธฐ๋Šฅ ๊ฒŒ์ดํŠธ๊ฐ€ ๋˜๋ฉฐ ์•ŒํŒŒ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

/๋งˆ์ผ์Šคํ†ค 1.15

PR ๋Œ“๊ธ€์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‚˜์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ kubernetes/test-infra ์ €์žฅ์†Œ์— ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜์„ธ์š”.

/๋งˆ์ผ์Šคํ†ค v1.15

/ํ• ๋‹น @lmdaly

@lmdaly
https://github.com/kubernetes/kubernetes/issues/72828
์šฐ๋ฆฌ ํŒ€๊ณผ ๋‚˜๋Š” ์ˆซ์ž์— ๋ฏผ๊ฐํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.
์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
PR ์œ„์— ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์œ„ํ•œ ์™„์ „ํ•œ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?
๊ทธ๋ฆฌ๊ณ  ์ง€๊ธˆ ํ…Œ์ŠคํŠธํ–ˆ๊ฑฐ๋‚˜ ์•ˆ์ •์ ์ž…๋‹ˆ๊นŒ?

@bg-chun ์šฐ๋ฆฌ๋„ Nvidia์—์„œ ๊ฐ™์€ ์ผ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ WIP PR์„ ๋‚ด๋ถ€ ์Šคํƒ์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ณ  ์ฃผ๋ณ€์˜ CPU/GPU์— ๋Œ€ํ•œ ํ† ํด๋กœ์ง€ ์ธ์‹ ํ• ๋‹น ์ „๋žต์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ์šฐ๋ฆฌ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ด๋Ÿฌํ•œ PR์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ตฌ์ฒด์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ํ† ๋ก  ์Šค๋ ˆ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
https://kubernetes.slack.com/archives/C0BP8PW9G/p1556371768035800

์•ˆ๋…•ํ•˜์„ธ์š”, @lmdaly ์ €๋Š” v1.15 ๋ฌธ์„œ ๋ฆด๋ฆฌ์Šค ์„€๋„์šฐ์ž…๋‹ˆ๋‹ค.

1.15 ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์ด ๊ฐœ์„  ์‚ฌํ•ญ์˜ ์•ŒํŒŒ ๋ฒ„์ „์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฌธ์„œ(๋˜๋Š” ์ˆ˜์ •)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

5์›” 30์ผ ๋ชฉ์š”์ผ๊นŒ์ง€ k/website(branch dev-1.15)์— ๋Œ€ํ•œ PR์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Œ์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ „์ฒด ๋ฌธ์„œ์˜ ์‹œ์ž‘์ด๋ผ๋ฉด ์ข‹๊ฒ ์ง€๋งŒ ์ž๋ฆฌ ํ‘œ์‹œ์ž PR๋„ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”! ๐Ÿ˜„

@lmdaly 5์›” 30์ผ ๋ชฉ์š”์ผ๊นŒ์ง€ k/website (branch dev-1.15)์— ๋Œ€ํ•œ PR์„ ์ฐพ๊ณ  ์žˆ์Œ์„

์•ˆ๋…•ํ•˜์„ธ์š” @lmdaly ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ ๋™๊ฒฐ์€ 2019๋…„ 5์›” 30์ผ ๋ชฉ์š”์ผ @ EOD PST ์ž…๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค์— ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ๊ฐœ์„  ์‚ฌํ•ญ ์€ ํ…Œ์ŠคํŠธ๋ฅผ ํฌํ•จํ•˜์—ฌ ์™„์ „ํ•œ ์ฝ”๋“œ์—ฌ์•ผ ํ•˜๋ฉฐ ๋ฌธ์„œ PR์ด ์—ด๋ ค ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

https://github.com/kubernetes/kubernetes/issues/72828 ์—์„œ ๋ชจ๋‘ ๋ณ‘ํ•ฉ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋ฏธ๋„๋Ÿฌ์งˆ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ์•ˆ๋‹ค๋ฉด ํšŒ์‹ ํ•˜์—ฌ ์ €ํฌ์—๊ฒŒ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. ๊ฐ์‚ฌ ํ•ด์š”!

@daminisatya ๋ฌธ์„œ PR์„ ํ‘ธ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/kubernetes/website/pull/14572

์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰๋˜์—ˆ๋Š”์ง€ ๊ทธ๋ฆฌ๊ณ  ์ถ”๊ฐ€๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ํ•ญ๋ชฉ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. ์•Œ๋ฆผ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@lmdaly ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค โœจ

@lmdaly ์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ 1.15 ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ์˜ ์ฝ”๋“œ ๋™๊ฒฐ์ž…๋‹ˆ๋‹ค. ์ถ”์  ๋ฌธ์ œ https://github.com/kubernetes/kubernetes/issues/72828 ์—์„œ ์•„์ง ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š์€ k/k PR์ด ์—ฌ์ „ํžˆ ๊ฝค 1.15 ๊ฐœ์„  ์‚ฌํ•ญ ์ถ”์  ์‹œํŠธ ์—์„œ ์œ„ํ—˜์— ์ฒ˜ํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์˜ค๋Š˜ EOD PST์— ์˜ํ•ด ๋ณ‘ํ•ฉ๋  ๊ฒƒ์ด๋ผ๋Š” ํ™•์‹ ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ์‹œ์  ์ดํ›„์—๋Š” ์˜ˆ์™ธ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋ฆด๋ฆฌ์Šค ์ฐจ๋‹จ ๋ฌธ์ œ์™€ PR๋งŒ ๋งˆ์ผ์Šคํ†ค์—์„œ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

/๋งˆ์ผ์Šคํ†ค ํด๋ฆฌ์–ด

์•ˆ๋…•ํ•˜์„ธ์š” @lmdaly @derekwaynecarr , ์ €๋Š” 1.16 Enhancement Lead์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์ด 1.16์—์„œ ์•ŒํŒŒ/๋ฒ ํƒ€/์•ˆ์ • ๋‹จ๊ณ„๋ฅผ ์กธ์—…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๊นŒ? 1.16 ์ถ”์  ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. ์กธ์—…ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด์ •ํ‘œ์—์„œ ์ œ๊ฑฐํ•˜๊ณ  ์ถ”์  ๋ ˆ์ด๋ธ”์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋”ฉ์ด ์‹œ์ž‘๋˜๊ฑฐ๋‚˜ ์ด๋ฏธ ์ฝ”๋”ฉ์ด ์‹œ์ž‘๋˜๋ฉด ์ด ํ˜ธ์— ์žˆ๋Š” ๋ชจ๋“  ๊ด€๋ จ k/k PR์„ ๋‚˜์—ดํ•˜์—ฌ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์‹ญ์‹œ์˜ค.

์ด์ •ํ‘œ ๋‚ ์งœ๋Š” Enhancement Freeze 7/30 ๋ฐ Code Freeze 8/29์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@kacole2 ์•Œ๋ฆผ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ 1.16์—์„œ ์•ŒํŒŒ๋กœ ํฌํ•จ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ง„ํ–‰ ์ค‘์ธ PR ๋ชฉ๋ก์€ https://github.com/kubernetes/kubernetes/issues/72828 ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”!

์ด๊ฒƒ์ด 1.16์šฉ ์•ŒํŒŒ ๋ฒ„์ „์— ํฌํ•จ๋  ๊ฒƒ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•˜๊ณ  ์ด์ „์— 1.15์šฉ์œผ๋กœ ๋ณ‘ํ•ฉ๋œ kep์—์„œ ์‹œ์ž‘๋˜๊ณ  ์บก์ฒ˜๋œ ์ž‘์—…์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @lmdaly , ์ €๋Š” v1.16 ๋ฌธ์„œ ๋ฆด๋ฆฌ์Šค ์„€๋„์šฐ์ž…๋‹ˆ๋‹ค.

์ด ๊ฐœ์„  ์‚ฌํ•ญ์— ์ƒˆ๋กœ์šด ๋ฌธ์„œ(๋˜๋Š” ์ˆ˜์ • ์‚ฌํ•ญ)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

8์›” 23์ผ ๊ธˆ์š”์ผ๊นŒ์ง€ k/website (branch dev-1.16)์— ๋Œ€ํ•œ PR์„ ์ฐพ๊ณ  ์žˆ์Œ์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ „์ฒด ๋ฌธ์„œ์˜ ์‹œ์ž‘์ด๋ผ๋ฉด ์ข‹๊ฒ ์ง€๋งŒ ์ž๋ฆฌ ํ‘œ์‹œ์ž PR๋„ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”!

๊ฐ์‚ฌ ํ•ด์š”!

๋ฌธ์„œ ํ™๋ณด: https://github.com/kubernetes/website/pull/15716

@lmdaly ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž๋Š” ์ฃผ์–ด์ง„ ํฌ๋“œ์— ๋Œ€ํ•œ NUMA ๊ตฌ์„ฑ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ์ •๋ณด๋‚˜ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๊นŒ?

@mJace kubectl์„ ํ†ตํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฌด์–ธ๊ฐ€๊ฐ€ ํฌ๋“œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๊นŒ?

@lmdaly ๋„ค, kubectl describe ์ข‹์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ๊ด€๋ จ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ผ๋ถ€ API.
ํฌ๋“œ์— ๋Œ€ํ•œ CPU ๊ณ ์ • ์ƒํƒœ ๋ฐ ํ†ต๊ณผ๋œ VF์— ๋Œ€ํ•œ numa ๋…ธ๋“œ์™€ ๊ฐ™์€ ํฌ๋“œ์— ๋Œ€ํ•œ ํ† ํด๋กœ์ง€ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœ ์ค‘์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  weave ์Šค์ฝ”ํ”„์™€ ๊ฐ™์€ ์ผ๋ถ€ ๋ชจ๋‹ˆํ„ฐ ๋„๊ตฌ๋Š” API๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฉ‹์ง„ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ๊ด€๋ฆฌ์ž๋Š” VNF๊ฐ€ ์ ์ ˆํ•œ numa ๊ตฌ์„ฑ์— ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Topology Manager๊ฐ€ ์ด ๋ถ€๋ถ„์„ ๋‹ค๋ฃฐ ๊ฒƒ์ธ์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
๋˜๋Š” Topology Manager๊ฐ€ ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•  ๊ณ„ํš์ด๋ผ๋ฉด ์šฐ๋ฆฌ๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์ด ์žˆ๋‹ค๋ฉด.

@mJace ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ Topology Manager์™€ ๊ฐ™์€ API๋Š” ์—†์Šต๋‹ˆ๋‹ค. CPU ๋ฐ ์žฅ์น˜ ๊ด€๋ฆฌ์ž์˜ ๊ฒฝ์šฐ ์‹ค์ œ๋กœ ํฌ๋“œ์— ํ• ๋‹น๋œ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๊ฐ€์‹œ์„ฑ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด์— ๋Œ€ํ•œ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด์— ๋Œ€ํ•œ ๋…ผ์˜๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์œ ์ €๋“ค์—๊ฒŒ ์–ด๋–ค ์‹œ๊ฐ์„ ์ค„ ์ˆ˜ ์žˆ์„์ง€ ์ƒ๊ฐํ•ด ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

CPU ๋ฐ ์žฅ์น˜ ๊ด€๋ฆฌ์ž๊ฐ€ ์ด ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ์บ๋“œ๋ฐ”์ด์ €๋Š” ์ด ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ข‹์€ ์—ญํ• ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ธฐ๋ณธ์ ์œผ๋กœ cadvisor๋Š” ps ls PID ๋“ฑ์˜ ์ปจํ…Œ์ด๋„ˆ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ปจํ…Œ์ด๋„ˆ์˜ ํ† ํด๋กœ์ง€ ๊ด€๋ จ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ด๊ฒƒ์„ cadvisor์—์„œ ๊ตฌํ˜„ํ•˜๊ณ  pr์„ ๋งŒ๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

cadvisor์—์„œ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/google/cadvisor/issues/2290

/์–‘์ˆ˜์ธ

@mJace cadvisor ์ œ์•ˆ์— +1.

CPU Manager ๋ฐ Topology Manager ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ DPDK ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ปจํ…Œ์ด๋„ˆ์˜ CPU ์„ ํ˜ธ๋„๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•œ ๋‹ค์Œ dpdk ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ „๋‹ฌํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘ DPDK ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์Šค๋ ˆ๋“œ ๊ณ ์ •์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปจํ…Œ์ด๋„ˆ์˜ cgroup cpuset ํ•˜์œ„ ์‹œ์Šคํ…œ์—์„œ CPU๊ฐ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ CPU์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ ์ •ํ•˜๊ธฐ ์œ„ํ•ด sched_setaffinity ์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด ํ•„ํ„ฐ๋ง๋ฉ๋‹ˆ๋‹ค.
DPDK lib๋Š” ์Šค๋ ˆ๋“œ ๊ณ ์ •์— pthread_setaffinity_np ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  pthread_setaffinity_np ๋Š” sched_setaffinity ์˜ ์Šค๋ ˆ๋“œ ์ˆ˜์ค€ ๋ž˜ํผ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  Kubernetes์˜ CPU Manager๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ cgroup cpuset ํ•˜์œ„ ์‹œ์Šคํ…œ์— ๋…์ ์ ์ธ CPU๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

@bg-chun cadvisor ๋ณ€๊ฒฝ์€ ๋ชจ๋‹ˆํ„ฐ๋ง์ด๋ผ๋Š” ๋‹ค๋ฅธ ๋ชฉ์ ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค. ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ '/proc/self/status'์—์„œ 'Cpus_Allowed' ๋˜๋Š” 'Cpus_Allowed_List'๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ํ• ๋‹น๋œ CPU๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ ‘๊ทผ ๋ฐฉ์‹์ด ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

Cpus_Allowed ์™€ ๊ฐ™์€ /proc/*/status ์˜ @ConnorDoyle ์ •๋ณด๋Š” sched_setaffinity ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฌด์–ธ๊ฐ€๋ฅผ ์„ค์ •ํ•˜๋ฉด Cgroup์˜ cpuset ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์‹ค์ œ๋กœ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์ด ๋ฉ๋‹ˆ๋‹ค.

@kad , ๋‚˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‚ด์˜ ์‹คํ–‰๊ธฐ๊ฐ€ DPDK ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌํ•  cpu id ๊ฐ’์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ์€ ์Šค๋ ˆ๋“œ ์ˆ˜์ค€ ์„ ํ˜ธ๋„๊ฐ€ ์„ค์ •๋˜๊ธฐ ์ „์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@ConnorDoyle
์ œ์•ˆํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๋ คํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๋‚ด ๊ณ„ํš์€ dpdk-container์— ๋…์ ์ ์ธ CPU ํ• ๋‹น ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด tiny-rest-api ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ๋Š” ์•„์ง cadvisor ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณด์ง€ ๋ชปํ•˜๊ณ  ์ œ์•ˆ์„œ ๋งŒ ๋ด…๋‹ˆ๋‹ค.
์ œ์•ˆ์„œ์—๋Š” ๋ชฉํ‘œ์— able to tell if there is any cpu affinity set for the container. to tell if there is any cpu affinity set for the container processes. , ํ–ฅํ›„ ์ž‘์—…์—

์ œ์•ˆ์„œ๋ฅผ ์ฝ์€ ํ›„ cadvisor๊ฐ€ cpu ๊ณ ์ • ์ •๋ณด๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  kubelet์ด ์ด๋ฅผ status.podIP , metadata.name ๋ฐ limits.cpu ์™€ ๊ฐ™์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋กœ ์ปจํ…Œ์ด๋„ˆ์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค status.podIP limits.cpu .
๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ +1์„ ๋‚จ๊ธด ์ฃผ๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค.

@bg-chun cadvisor์—์„œ ๋‚˜์˜ ์ฒซ ํ™๋ณด๋ฅผ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
https://github.com/google/cadvisor/pull/2291

์—์„œ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/mJace/numacc
ํ•˜์ง€๋งŒ cadvisor์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์œผ๋กœ PR์„ ์ž‘์„ฑ -> PSR ํ‘œ์‹œ.

ํ•˜์ง€๋งŒ cadvisor์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ ์ œ์•ˆ์— ๋”ฐ๋ผ ์ด ๋ฌธ์ œ๋ฅผ ๋…ผ์˜ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ „๋ฌธ๊ฐ€๊ฐ€ ์ด ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด :)

@lmdaly 1.16์— ๋Œ€ํ•œ ์ฝ”๋“œ ๋™๊ฒฐ์€ 8/29 ๋ชฉ์š”์ผ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ k/k PR์— ๋Œ€ํ•ด https://github.com/kubernetes/kubernetes/issues/72828 ์„ ์ถ”์ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

@kacole2 ์ด ๊ธฐ๋Šฅ์— ํ•„์š”ํ•œ ๋ชจ๋“  PR์ด ๋ณ‘ํ•ฉ๋˜๊ฑฐ๋‚˜ ๋ณ‘ํ•ฉ ๋Œ€๊ธฐ์—ด์— ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @lmdaly -- 1.17 ๊ฐœ์„  ์‚ฌํ•ญ์ด ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐœ์„  ์‚ฌํ•ญ์ด 1.17์—์„œ ์•ŒํŒŒ/๋ฒ ํƒ€/์•ˆ์ •์œผ๋กœ ์ „ํ™˜๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ถœ์‹œ ์ผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • 9์›” 23์ผ ์›”์š”์ผ - ์ถœ์‹œ ์ฃผ๊ธฐ ์‹œ์ž‘
  • 10์›” 15์ผ ํ™”์š”์ผ, EOD PST - ๊ฐœ์„  ์‚ฌํ•ญ ๋™๊ฒฐ
  • 11์›” 14์ผ ๋ชฉ์š”์ผ, EOD PST - ์ฝ”๋“œ ๋™๊ฒฐ
  • 11์›” 19์ผ ํ™”์š”์ผ - ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๊ฒ€ํ† ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • 12์›” 9์ผ ์›”์š”์ผ - Kubernetes 1.17.0 ๋ฆด๋ฆฌ์Šค

๊ทธ๋ ‡๋‹ค๋ฉด ์ด ํ˜ธ์— ์žˆ๋Š” ๋ชจ๋“  ๊ด€๋ จ k/k PR์„ ๋‚˜์—ดํ•˜์—ฌ ์ œ๋Œ€๋กœ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์‹ญ์‹œ์˜ค. ๐Ÿ‘

๊ฐ์‚ฌ ํ•ด์š”!

/๋งˆ์ผ์Šคํ†ค ํด๋ฆฌ์–ด

@lmdaly RDMA ํ† ๋ก ๊ณผ ํ•จ๊ป˜ GPU ์ง์ ‘ ๋งํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@nickolaev , ์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ์ด ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‚ด๋ถ€์ ์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ์ƒ๊ฐ์„ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ์ด ์ž‘์—…์— ๋Œ€ํ•ด ํ˜‘๋ ฅํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@moshe010 @nickolaev @lmdaly , ์šฐ๋ฆฌ๋„ RDMA ๋ฐ GPU ๋‹ค์ด๋ ‰ํŠธ์™€ ๊ด€๋ จ๋œ ์ด ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์กฐ์‚ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์— ํ˜‘๋ ฅํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์— ๋Œ€ํ•œ ์Šค๋ ˆ๋“œ/ํ† ๋ก ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์—ฌ๋ณด์„ธ์š”! NTM๊ณผ ์Šค์ผ€์ค„๋Ÿฌ์— ๋Œ€ํ•ด ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๋ฐ”์™€ ๊ฐ™์ด ์Šค์ผ€์ค„๋Ÿฌ๋Š” NUMA์— ๋Œ€ํ•ด ์•Œ์ง€ ๋ชปํ•˜๋ฉฐ ์›ํ•˜๋Š” NUMA์— ๋ฆฌ์†Œ์Šค(cpu, ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์žฅ์น˜)๊ฐ€ ์—†๋‹ค๋Š” ๋…ธ๋“œ๋ฅผ ์„ ํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž๋Š” ํ•ด๋‹น ๋…ธ๋“œ์—์„œ ๋ฆฌ์†Œ์Šค ํ• ๋‹น์„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค์ด์•ผ?

@nickolaev @Deepthidharwar , ์‚ฌ์šฉ ์‚ฌ๋ก€๋กœ Google ๋ฌธ์„œ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ํ† ๋ก ์„ ํ•ด๋‹น ๋ฌธ์„œ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹ค์Œ ์ฃผ์— ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ฒŒ์‹œํ•  ๊ฒƒ์ด๋‹ค. ๊ดœ์ฐฎ์œผ์‹œ๋‹ค๋ฉด.

์ด ๊ธฐ๋Šฅ์„ ๋ณด๊ฒŒ ๋˜์–ด ์ •๋ง ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹จ์ผ NUMA ๋…ธ๋“œ์— CPU, Hugepage, SRIOV-VF ๋ฐ ๊ธฐํƒ€ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ hugepage๋Š” device plugin์— ์˜ํ•ด ์Šค์นผ๋ผ ๋ฆฌ์†Œ์Šค๋กœ ์ธ์‹๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์ด k8s์—์„œ hugepage ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
@iamneha

@ConnorDoyle ํ™•์ธ์„ ์œ„ํ•ด ์ด ๊ธฐ๋Šฅ์—๋Š” CPU ๊ด€๋ฆฌ์ž์™€ ์žฅ์น˜ ๊ด€๋ฆฌ์ž ๋ชจ๋‘์˜ ํ† ํด๋กœ์ง€ ํžŒํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? 1.16์—์„œ ํ…Œ์ŠคํŠธํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. cpu ๊ด€๋ฆฌ์ž์—์„œ๋งŒ ํžŒํŠธ๋ฅผ ์–ป์—ˆ์ง€๋งŒ ์žฅ์น˜ ์ชฝ์—์„œ๋Š” ํžŒํŠธ๋ฅผ ์–ป์ง€ ๋ชปํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@ConnorDoyle์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
https://gist.githubusercontent.com/jianzzha/c2a66a2514c178cca76a432029ff3387/raw/264f13dfcd06f1f80c48c113aa235fab7c33d81e/hyperenabled%25252th

@jianzzha , ์–ด๋–ค ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด SR-IOV ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ NUMA ๋…ธ๋“œ๋ฅผ ๋ณด๊ณ ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. [1]

[1] https://github.com/intel/sriov-network-device-plugin/commit/000db15405f3ce3b7c2f9feb180c3051aa3f7aea.

@andyzheung ๊ฑฐ๋Œ€ํ•œ ํŽ˜์ด์ง€ ํ†ตํ•ฉ์€ ํ˜„์žฌ ๋…ผ์˜ ์ค‘์ด๋ฉฐ ์ง€๋‚œ 2์ฃผ ๋™์•ˆ ์‹œ๊ทธ๋…ธ๋“œ ํšŒ์˜์—์„œ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋ช‡ ๊ฐ€์ง€ ๊ด€๋ จ ๋งํฌ์ž…๋‹ˆ๋‹ค.

https://docs.google.com/presentation/d/1H5xhCjgCZJjdTm-mGUFwqoz8XmoVd8xTCwJ1AfVR_54/edit?usp=sharing
https://github.com/kubernetes/enhancements/pull/1245
https://github.com/kubernetes/enhancements/pull/1199

@jianzzha ํžŒํŠธ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์žฅ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ๊ด€๋ จํ•˜์—ฌ. ์—ด๊ฑฐํ•˜๋Š” ์žฅ์น˜์— ๋Œ€ํ•œ NUMA ์ •๋ณด๋ฅผ ๋ณด๊ณ ํ•˜๋„๋ก ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๊นŒ? ์žฅ์น˜ ๋ฉ”์‹œ์ง€ https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/apis/deviceplugin/v1beta1/api.proto#L100์— ์ด ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณ ๋งˆ์›Œ ์–˜๋“ค์•„. ์ˆ˜์ •๋˜์–ด ์ง€๊ธˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

@klueska
nvidia-gpu-device-plugin ๊ด€๋ จ..
Topology Manger์šฉ nvidia-gpu-device-plugin์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํ™œ์„ฑ PR(WIP) ์ด ํ•˜๋‚˜๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
nvidia-gpu-divice-plugin์ด ์œ„์˜ PR๊ณผ ํ•จ๊ป˜ ํ† ํด๋กœ์ง€ ํžŒํŠธ๋ฅผ ์ œ๊ณตํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๊นŒ? ๋˜๋Š” ๋‚ด๊ฐ€ ๋†“์นœ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@bg-chun ๋„ค ๊ทธ๋ž˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ์ž‘์„ฑ์ž์—๊ฒŒ ํ•‘์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฐ€ ๋‹ค์Œ ๋‚ ์ฏค์— ๋Œ์•„์˜ค์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋‚ด๊ฐ€ ์ง์ ‘ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์—…๋ฐ์ดํŠธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@bg-chun @klueska ํŒจ์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

@klueska @carmark
์—…๋ฐ์ดํŠธ ๋ฐ ์•Œ๋ฆผ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
๋‚ด ์ž‘์—… ๊ณต๊ฐ„์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ sr-iov-plugin ์—…๋ฐ์ดํŠธ ๋ฐ gpu-plugin ์—…๋ฐ์ดํŠธ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ์ ์œผ๋กœ "ํŒŒ๋“œ๊ฐ€ QoS ๋ณด์žฅ์— ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ† ํด๋กœ์ง€ ์ •๋ ฌ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค" ์ œํ•œ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์ œํ•œ์œผ๋กœ ์ธํ•ด ํ˜„์žฌ๋กœ์„œ๋Š” ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. K8์—์„œ ์ „์šฉ CPU๋ฅผ ์š”์ฒญํ•˜๊ณ  ์‹ถ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๋Ÿฌ ํ’€(์˜ˆ: GPU + SR)์—์„œ ์˜ค๋Š” ์—ฌ๋Ÿฌ ์žฅ์น˜์˜ ์†Œ์ผ“์„ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. -IOV VF ๋“ฑ)
๋˜ํ•œ ๋‚ด ์›Œํฌ๋กœ๋“œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฏผ๊ฐํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ œํ•œํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฒฝ์šฐ(QoS ๋ณด์žฅ์˜ ๋˜ ๋‹ค๋ฅธ ๊ธฐ์ค€)
๋ฏธ๋ž˜์— ๊ฑฐ๋Œ€ ํŽ˜์ด์ง€๋„ ์ •๋ ฌ๋  ๋•Œ ์ด ์ œํ•œ์€ IMO๋ฅผ ํ›จ์”ฌ ๋” ์ œํ•œ์ ์œผ๋กœ ๋Š๋‚„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

"์ •๋ ฌ ๊ฐ€๋Šฅํ•œ" ์ž์›์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์— ๋ฐ˜๋Œ€ํ•˜๋Š” ์ฃผ์žฅ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฌผ๋ก  ์ „์šฉ CPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ CPU ๊ด€๋ฆฌ์ž์—์„œ ํžŒํŠธ๋ฅผ ์ˆ˜์ง‘ ํ•˜์ง€๋งŒ ์†Œ์ผ“ ์ •๋ณด๊ฐ€ ์žˆ๋Š” ์žฅ์น˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์žฅ์น˜ ๊ด€๋ฆฌ์ž์—์„œ, ๋˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ฑฐ๋Œ€ํ•œ ํŽ˜์ด์ง€ ๋“ฑ์„ ์š”์ฒญํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ํžŒํŠธ๋ฅผ ์ˆ˜์ง‘ํ•ฉ์‹œ๋‹ค.

์ด ์ค‘ ํ•˜๋‚˜ ๋˜๋Š” Pod ์‹œ์ž‘ ์ค‘ ๋ถˆํ•„์š”ํ•œ ์ถ”๊ฐ€ ๊ณ„์‚ฐ ๋ถ€ํ•˜๊ฐ€ ์šฐ๋ ค๋˜๋Š” ๊ฒฝ์šฐ ์›๋ž˜ Pod ์ˆ˜์ค€ ๊ตฌ์„ฑ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ •๋ ฌ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ตฌํ˜„ ์ค‘ ์Šคํฌ๋žฉ๋˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ๋†€๋ž์Šต๋‹ˆ๋‹ค)

๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ์ ์œผ๋กœ "ํŒŒ๋“œ๊ฐ€ QoS ๋ณด์žฅ์— ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ† ํด๋กœ์ง€ ์ •๋ ฌ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค" ์ œํ•œ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ 1.17์˜ TODO ๋ชฉ๋ก์— ์žˆ๋Š” ํ•ญ๋ชฉ ๋ฒˆํ˜ธ 8์ž…๋‹ˆ๋‹ค.
https://docs.google.com/document/d/1YTUvezTLGmVtEF3KyLOX3FzfSDw9w0zB-s2Tj6PNzLA/edit#heading =h.xnehh6metosd

"์ •๋ ฌ ๊ฐ€๋Šฅํ•œ" ์ž์›์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์— ๋ฐ˜๋Œ€ํ•˜๋Š” ์ฃผ์žฅ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฌผ๋ก  ์ „์šฉ CPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ CPU ๊ด€๋ฆฌ์ž์—์„œ ํžŒํŠธ๋ฅผ ์ˆ˜์ง‘ ํ•˜์ง€๋งŒ ์†Œ์ผ“ ์ •๋ณด๊ฐ€ ์žˆ๋Š” ์žฅ์น˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์žฅ์น˜ ๊ด€๋ฆฌ์ž์—์„œ, ๋˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ฑฐ๋Œ€ํ•œ ํŽ˜์ด์ง€ ๋“ฑ์„ ์š”์ฒญํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ํžŒํŠธ๋ฅผ ์ˆ˜์ง‘ํ•ฉ์‹œ๋‹ค.

kubelet์— ์ •๋ ฌํ•  ๋ฆฌ์†Œ์Šค์™€ ์ •๋ ฌํ•˜์ง€ ์•Š์„ ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ํƒ์ ์œผ๋กœ ์•Œ๋ ค์ฃผ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์žˆ๋‹ค๊ณ  ์ œ์•ˆํ•˜์‹ญ๋‹ˆ๊นŒ? ์ด์— ๋ฐ˜๋Œ€ํ•˜๋Š” ์‚ฌ๋žŒ์€ ์—†์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ๋…ธ๋“œ ์ˆ˜์ค€์—์„œ ๊ณ„์† ์ •๋ ฌ์„ ํ”Œ๋ž˜๊ทธ๋กœ ์ง€์ •ํ•˜๋ฉด ์ •๋ ฌํ•  ๋ฆฌ์†Œ์Šค์™€ ์ •๋ ฌํ•˜์ง€ ์•Š์„ ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๊ฒฐ์ •ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ค‘ ํ•˜๋‚˜ ๋˜๋Š” Pod ์‹œ์ž‘ ์ค‘ ๋ถˆํ•„์š”ํ•œ ์ถ”๊ฐ€ ๊ณ„์‚ฐ ๋ถ€ํ•˜๊ฐ€ ์šฐ๋ ค๋˜๋Š” ๊ฒฝ์šฐ ์›๋ž˜ Pod ์ˆ˜์ค€ ๊ตฌ์„ฑ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ •๋ ฌ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ตฌํ˜„ ์ค‘ ์Šคํฌ๋žฉ๋˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ๋†€๋ž์Šต๋‹ˆ๋‹ค)

ํฌ๋“œ ์‚ฌ์–‘์„ ์—…๋ฐ์ดํŠธํ•˜์ž๋Š” ์ œ์•ˆ์„ ๋ณด์ฆํ•  ๋งŒํผ ํฌ๋“œ ์ˆ˜์ค€ ํ”Œ๋ž˜๊ทธ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ํฌ๋“œ๋Š” ์ •๋ ฌ์ด ํ•„์š”/์›ํ•˜๊ณ  ์ผ๋ถ€๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์ง€๋งŒ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋™์˜ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋ฏ€๋กœ ์ด ๊ฒฐ์ •์„ ํฌ๋“œ ์ˆ˜์ค€์œผ๋กœ ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค.

ํ† ํด๋กœ์ง€ ์ •๋ ฌ์— ๋Œ€ํ•œ QoS ํด๋ž˜์Šค ์ œํ•œ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด +1(๋ชฉ๋ก์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค:์Šค๋งˆ์ผ:). @Levovar ๊ฐ€ ๋ฆฌ์†Œ์Šค๋ณ„๋กœ ํ† ํด๋กœ์ง€๋ฅผ ํ™œ์„ฑํ™”ํ•  ๊ฒƒ์„ ์š”์ฒญํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ง€ ์ฃผ์–ด์ง„ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ •๋ ฌ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์ •๋ ฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๊ธฐ์–ตํ•˜๋Š” ํ•œ, KEP์—๋Š” ํ† ํด๋กœ์ง€์— ์˜ตํŠธ์ธํ•˜๊ธฐ ์œ„ํ•œ ํฌ๋“œ ์ˆ˜์ค€ ํ•„๋“œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๋„์ž…ํ•˜์ง€ ์•Š์€ ์ด์œ ๋Š” ๋ฐฐํƒ€์  ์ฝ”์–ด๋ฅผ ๋ฌต์‹œ์ ์œผ๋กœ ๋‚จ๊ฒจ๋‘๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์ด์œ ์˜€์Šต๋‹ˆ๋‹ค. Kubernetes๋Š” ํ”„๋กœ์ ํŠธ๋กœ์„œ ๋…ธ๋“œ ์ˆ˜์ค€ ์„ฑ๋Šฅ ๊ด€๋ฆฌ ์ธก๋ฉด์—์„œ ํฌ๋“œ ์‚ฌ์–‘์„ ์ž์œ ๋กญ๊ฒŒ ํ•ด์„ํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž…์žฅ์ด ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ผ๋ถ€ ๊ตฌ์„ฑ์›์—๊ฒŒ ๋งŒ์กฑ์Šค๋Ÿฝ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ์ฃผ์ œ๋ฅผ ์ œ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์ˆ˜์˜ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ๊ณผ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ์ธ์ง€ ๋ถ€ํ•˜ ์กฐ์ • ์‚ฌ์ด์—๋Š” ์ž์—ฐ์Šค๋Ÿฌ์šด ๊ธด์žฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

IMO๋Š” ์„ค๊ณ„ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ์ตœ์†Œํ•œ Pod ์ˆ˜์ค€ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ œ ๊ธฐ์–ต์ด ์ž˜ ๋งž๋Š”๋‹ค๋ฉด 1.13 ์ •๋„์˜€์Šต๋‹ˆ๋‹ค. :D
๋‚˜๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ํ•ญ์ƒ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์ •๋ ฌํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€๋งŒ "๊ทธ ์‹œ์ ˆ"์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‹œ์ž‘์ด ์ง€์—ฐ๋˜๊ฑฐ๋‚˜ ๋ชจ๋“  Pod์˜ ์ผ์ • ๊ฒฐ์ •์ด ์ง€์—ฐ๋˜๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋ฐ˜๋ฐœ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์ •๋ง๋กœ ๊ฐœ์„ ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ €๋Š” ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์œผ๋กœ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ "์‚ฌ์ „ ์ฒ˜๋ฆฌ"ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน์˜ ์ •๋ ฌ์„ ๋ฏธ๋ฆฌ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค(CPU์— ๋Œ€ํ•ด์„œ๋Š” ์ •์˜ํ•˜๊ธฐ ์‰ฝ๊ณ  ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ๋” ์–ด๋ ต์Šต๋‹ˆ๋‹ค). ๋˜๋Š” ์ผ๋ถ€ ๊ตฌ์„ฑ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋„์ž…ํ•˜์‹ญ์‹œ์˜ค.

๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์ธ ๊ฐœ์„  ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์ง€๊ธˆ ํ‘ธ์‹œ๋ฐฑ์ด ์—†๋‹ค๋ฉด ์ €๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์™„์ „ํžˆ ๋ฉ‹์ง‘๋‹ˆ๋‹ค. :)

@mrbobbytables ์šฐ๋ฆฌ๋Š” TopologyManager ๋ฅผ beta ๋กœ ์กธ์—…ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์ถ”์  ๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ: https://github.com/kubernetes/kubernetes/issues/83479

@bg-chun @klueska ํŒจ์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

ํŒจ์น˜ ๋ณ‘ํ•ฉ:
https://github.com/NVIDIA/k8s-device-plugin/commit/cc0aad87285b573127add4e487b13434a61ba0d6

ํŒจ์น˜๋กœ ์ƒˆ ๋ฆด๋ฆฌ์Šค ์ƒ์„ฑ:
https://github.com/NVIDIA/k8s-device-plugin/releases/tag/1.0.0-beta2

v1.17์šฉ ์ถ”์  ๋ฒ ํƒ€

๊ต‰์žฅํ•ฉ๋‹ˆ๋‹ค, @derekwaynecarr ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‹œํŠธ์— ์ถ”๊ฐ€ํ• ๊ฒŒ์š” :)
/์Šคํ…Œ์ด์ง€ ๋ฒ ํƒ€

@lmdaly

์ €๋Š” v1.17 ๋ฌธ์„œ ๊ทธ๋ฆผ์ž ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.
์ด ๊ฐœ์„  ์‚ฌํ•ญ(๋˜๋Š” v1.17์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์ž‘์—…)์— ์ƒˆ ๋ฌธ์„œ(๋˜๋Š” ๊ธฐ์กด ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ˆ˜์ •)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ 1.17 Enhancement Tracker Sheet๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ(๋˜๋Š” ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค)

๊ทธ๋ ‡๋‹ค๋ฉด 11์›” 8์ผ ๊ธˆ์š”์ผ๊นŒ์ง€ k/website(branch dev-1.17)์— ๋Œ€ํ•œ PR์„ ์ฐพ๊ณ  ์žˆ์œผ๋ฉฐ ํ˜„์žฌ๋กœ์„œ๋Š” ์ž๋ฆฌ ํ‘œ์‹œ์ž PR์ผ โ€‹โ€‹์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”!

๊ฐ์‚ฌ ํ•ด์š”!

@VineethReddy02 ๋„ค, ํŠธ๋ž˜์ปค ์‹œํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด 1.17์— ๋Œ€ํ•œ ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ณ„ํšํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ์ „์— ๊ทธ PR์„ ์—ด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ฆฌ ์•Œ๋ ค์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ ๋ฌธ์„œ ์ถ”์  ๋ฌธ์ œ๋Š” https://github.com/kubernetes/kubernetes/issues/83482์ž…๋‹ˆ๋‹ค.

https://github.com/kubernetes/enhancements/pull/1340
์–˜๋“ค ์•„, ๋‚˜๋Š” Topology Manager์— ๋Œ€ํ•œ ๋‚ด์žฅ ๋…ธ๋“œ ๋ ˆ์ด๋ธ”( beta.kubernetes.io/topology )์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด KEP ์—…๋ฐ์ดํŠธ PR์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.
๋ ˆ์ด๋ธ”์€ ๋…ธ๋“œ์˜ ์ •์ฑ…์„ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
๋™์ผํ•œ ํด๋Ÿฌ์Šคํ„ฐ์— ์—ฌ๋Ÿฌ ์ •์ฑ…์ด ์žˆ๋Š” ๋…ธ๋“œ๊ฐ€ ์žˆ์„ ๋•Œ ํŠน์ • ๋…ธ๋“œ์— ํฌ๋“œ๋ฅผ ์˜ˆ์•ฝํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
๋ฆฌ๋ทฐ๋ฅผ ๋ถ€ํƒ๋“œ๋ ค๋„ ๋ ๊นŒ์š”?

์•ˆ๋…•ํ•˜์„ธ์š” @lmdaly @derekwaynecarr

์—ฌ๊ธฐ ๐Ÿ‘‹ 1.17 ๊ฐœ์„  ํŒ€์˜ Jeremy๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ k/k PR์„ ๋‚˜์—ดํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? #83492๊ฐ€ ๋ณ‘ํ•ฉ๋˜์—ˆ์ง€๋งŒ ์ „์ฒด ์ถ”์  ํ•ญ๋ชฉ์— ๋ช‡ ๊ฐ€์ง€ ๋” ๋งŽ์€ ๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” 11์›” 14์ผ์— Code Freeze๋ฅผ ๋งˆ๊ฐํ•  ์˜ˆ์ •์ด๋ฏ€๋กœ ๊ทธ ์ „์— ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค! ์ •๋ง ๊ณ ๋งˆ์›Œ!

@jeremyrickard ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ 1.17์˜ ์ถ”์  ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. https://github.com/kubernetes/enhancements/issues/693#issuecomment -538123786

@mdaly @derekwaynecarr

11์›” 8์ผ ๊ธˆ์š”์ผ๊นŒ์ง€ k/website(branch dev-1.17)์— ๋Œ€ํ•œ Docs์šฉ ์ž๋ฆฌ ํ‘œ์‹œ์ž PR์„ ์ฐพ๊ณ  ์žˆ์Œ์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด ๋งˆ๊ฐ์ผ์ด 2์ผ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œ PR์€ ์—ฌ๊ธฐ btw: https://github.com/kubernetes/website/pull/17451

@klueska ์ผ๋ถ€ ์ž‘์—…์ด 1.18๋กœ ์ถฉ๋Œํ•œ ๊ฒƒ์„ ๋ด…๋‹ˆ๋‹ค. ์•„์ง 1.17์—์„œ ๋ฒ ํƒ€๋กœ ์ „ํ™˜ํ•  ๊ณ„ํš์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ์•ŒํŒŒ๋กœ ์œ ์ง€๋˜์ง€๋งŒ ๋ณ€๊ฒฝ๋  ์˜ˆ์ •์ž…๋‹ˆ๊นŒ?

์‹ ๊ฒฝ ์“ฐ์ง€ ๋งˆ์„ธ์š”. https://github.com/kubernetes/kubernetes/issues/85093 ์—์„œ 1.17์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹ˆ๋ผ 1.18์˜ ๋ฒ ํƒ€๋กœ ์ด๋™ํ•  ์˜ˆ์ •์ž„์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ 1.17 ๋งˆ์ผ์Šคํ†ค @klueska์˜ ์ผ๋ถ€๋กœ ์•ŒํŒŒ ๋ฒ„์ „์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ์ถ”์ ํ•˜๊ธฐ๋ฅผ ์›ํ•˜์‹ญ๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์กธ์—…์„ 1.18๋กœ ์—ฐ๊ธฐํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

/๋งˆ์ผ์Šคํ†ค v1.18

์•ˆ๋…•ํ•˜์„ธ์š” @klueska

1.18 ๊ฐœ์„ ํŒ€ ์ฒดํฌ์ธ! ์•„์ง 1.18์—์„œ ๋ฒ ํƒ€๋กœ ์ „ํ™˜ํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ? KEP์— ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ Enhancement Freeze๋Š” 1์›” 28์ผ์ด๊ณ  Code Freeze๋Š” 3์›” 5์ผ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์˜ˆ.

@klueska ์—…๋ฐ์ดํŠธ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ถ”์  ์‹œํŠธ ์—…๋ฐ์ดํŠธ.

@klueska ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ KEP๋ฅผ ๊ฒ€ํ† ํ•˜๋Š” ๋™์•ˆ ํ…Œ์ŠคํŠธ ๊ณ„ํš์ด ๋ˆ„๋ฝ๋˜์—ˆ์Œ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค์—์„œ ๋ฒ ํƒ€๋กœ ์ „ํ™˜ํ•˜๋ ค๋ฉด ํ…Œ์ŠคํŠธ ๊ณ„ํš์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์ด์ •ํ‘œ์—์„œ ์ œ๊ฑฐํ•  ๊ฒƒ์ด์ง€๋งŒ ์˜ˆ์™ธ ์š”์ฒญ ์„ ์ œ์ถœํ•˜๊ณ  KEP์— ํ…Œ์ŠคํŠธ ๊ณ„ํš์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋‹ค์‹œ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต์ง€๊ฐ€ ๋Šฆ์–ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

/๋งˆ์ผ์Šคํ†ค ํด๋ฆฌ์–ด

@vpickard ๋Š” ์œ„๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค

@vpickard ๋Š” ์œ„๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค

@klueska ์•Œ๋ ค ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. KEP์— ํ…Œ์ŠคํŠธ ๊ณ„ํš์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์˜ˆ์™ธ ์š”์ฒญ์„ ์ œ์ถœํ•˜๋Š” ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ…Œ์ŠคํŠธ ์‚ฌ๋ก€๋ฅผ ์ ๊ทน์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ผ๋ถ€ ํ…Œ์ŠคํŠธ PR์„ ์™„๋ฃŒํ–ˆ์œผ๋ฉฐ ๋‹ค์Œ์„ ํฌํ•จํ•˜์—ฌ ์ผ๋ถ€๋Š” ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

https://github.com/kubernetes/kubernetes/pull/87645

@jeremyrickard ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ํ…Œ์ŠคํŠธ ๊ณ„ํš ํ…œํ”Œ๋ฆฟ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@vpickard ๋‹ค์Œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/20190530-pv-health-monitor.md#test - ๊ณ„ํš
๊ทธ๋ฆฌ๊ณ 
https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/20200120-skip-permission-change.md#test -plan

๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋ฐ e2 ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ๊ฐœ์š”๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ๊ทธ๋ฆฌ๋“œ์— ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์ด ์žˆ์œผ๋ฉด ํฌํ•จํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์˜ˆ์™ธ๊ฐ€ ์Šน์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

/๋งˆ์ผ์Šคํ†ค v1.18

@jeremyrickard ํ…Œ์ŠคํŠธ ๊ณ„ํš ๋ณ‘ํ•ฉ: https://github.com/kubernetes/enhancements/pull/1527

@klueska @vpickard ๋‹˜ , ์•ˆ๋…•ํ•˜์„ธ์š”, ์ฝ”๋“œ ๋™๊ฒฐ ์ด 3์›” 5์ผ ๋ชฉ์š”์ผ์— ๋ฐœํšจ๋  ๊ฒƒ์ž„์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด ํ–ฅ์ƒ์„ ์œ„ํ•ด ์ถ”์ ํ•ด์•ผ ํ•˜๋Š” ๋ชจ๋“  k/k PR ๋˜๋Š” ๊ธฐํƒ€ PR์„ ๋งํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

์•ˆ๋…•ํ•˜์„ธ์š” @palnabarun

1.18์˜ ์ถ”์  ๋ฌธ์ œ:
https://github.com/kubernetes/kubernetes/issues/85093

ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ PR:
https://github.com/kubernetes/kubernetes/pull/87758 (์Šน์ธ๋œ, ํ”Œ๋ ˆ์ดํ‚น ํ…Œ์ŠคํŠธ)
https://github.com/kubernetes/kubernetes/pull/87759 (WIP)
https://github.com/kubernetes/kubernetes/pull/87650 (๊ฒ€ํ† ๋จ, ์Šน์ธ ํ•„์š”)

https://github.com/kubernetes/kubernetes/pull/87645 (e2e ํ…Œ์ŠคํŠธ PR, ์Šน์ธ ํ•„์š”)

@vpickard ๋‚ด๊ฐ€ ๋†“์นœ e2e PR์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”

์—ฌ๊ธฐ์—์„œ PR๊ณผ ์šฐ์‚ฐ ๋ฌธ์ œ๋ฅผ ์—ฐ๊ฒฐํ•ด ์ฃผ์‹  @nolancon ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ถ”์  ์‹œํŠธ์— PR์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @palnabarun , @nolancon ,

E2E ํ…Œ์ŠคํŠธ์™€ ๊ด€๋ จ๋œ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ๊ณต๊ฐœ PR:
https://github.com/kubernetes/test-infra/pull/16062 (๊ฒ€ํ†  ๋ฐ ์Šน์ธ ํ•„์š”)
https://github.com/kubernetes/test-infra/pull/16037 (๊ฒ€ํ†  ๋ฐ ์Šน์ธ ํ•„์š”)

์ถ”๊ฐ€ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•ด @vpickard ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. :)

์•ˆ๋…•ํ•˜์„ธ์š” @lmdaly ์ €๋Š” v1.18 ๋ฌธ์„œ ์„€๋„์šฐ ์ค‘ ํ•œ ๋ช…์ž…๋‹ˆ๋‹ค.
์ด ๊ฐœ์„  ์‚ฌํ•ญ(๋˜๋Š” v1.18์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์ž‘์—…)์— ์ƒˆ ๋ฌธ์„œ(๋˜๋Š” ๊ธฐ์กด ๋ฌธ์„œ ์ˆ˜์ •)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ 1.18 Enhancement Tracker Sheet๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ(๋˜๋Š” ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค)

๊ทธ๋ ‡๋‹ค๋ฉด 2์›” 28์ผ ๊ธˆ์š”์ผ๊นŒ์ง€ k/website(branch dev-1.18)์— ๋Œ€ํ•œ PR์„ ์ฐพ๊ณ  ์žˆ์œผ๋ฉฐ ํ˜„์žฌ๋กœ์„œ๋Š” ์ž๋ฆฌ ํ‘œ์‹œ์ž PR์ผ โ€‹โ€‹์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”!

์•ˆ๋…•ํ•˜์„ธ์š” @irvifa ,
๊ฐ์‚ฌ ํ•ด์š”.

์•ˆ๋…•ํ•˜์„ธ์š” @nolancon ๋น ๋ฅธ ์‘๋‹ต์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ง€๊ธˆ ์ƒํƒœ๋ฅผ Placeholder PR๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@palnabarun ์ฐธ๊ณ ๋กœ ์ด PR https://github.com/kubernetes/kubernetes/pull/87759 ๋ฅผ ๋‘ ๊ฐœ์˜ PR๋กœ ๋‚˜๋ˆ„์–ด ๊ฒ€ํ†  ๊ณผ์ •์„ ์‰ฝ๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋Š” https://github.com/kubernetes/kubernetes/pull/87983 ์ด๋ฉฐ ์ถ”์ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”.

@nolancon ์—…๋ฐ์ดํŠธ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ PR์ด ์•„์ง ๋ณ‘ํ•ฉ ๋Œ€๊ธฐ ์ค‘์ธ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ฒ€ํ† ์ž์™€ ์Šน์ธ์ž๋ฅผ PR์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ๋ฆด๋ฆฌ์Šค ํŒ€์˜ ๋„์›€์ด ํ•„์š”ํ•œ์ง€ ์•Œ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒƒ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

์ฐธ๊ณ ๋กœ, ์šฐ๋ฆฌ๋Š” 3์›” 5์ผ ์ฝ”๋“œ ๋™๊ฒฐ์— ๋งค์šฐ ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

@nolancon ์—…๋ฐ์ดํŠธ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ PR์ด ์•„์ง ๋ณ‘ํ•ฉ ๋Œ€๊ธฐ ์ค‘์ธ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ฒ€ํ† ์ž์™€ ์Šน์ธ์ž๋ฅผ PR์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ๋ฆด๋ฆฌ์Šค ํŒ€์˜ ๋„์›€์ด ํ•„์š”ํ•œ์ง€ ์•Œ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒƒ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

์ฐธ๊ณ ๋กœ, ์šฐ๋ฆฌ๋Š” 3์›” 5์ผ ์ฝ”๋“œ ๋™๊ฒฐ์— ๋งค์šฐ ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

@palnabarun ๋˜ ํ•˜๋‚˜์˜ ์—…๋ฐ์ดํŠธ์ธ https://github.com/kubernetes/kubernetes/pull/87983 ์ด ์ข…๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ ์ถ”์ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๊ฒ€ํ†  ์ค‘์ธ ์›๋ณธ PR https://github.com/kubernetes/kubernetes/pull/87759์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

@nolancon ์ฟจ. ๋˜ํ•œ ์œ„์—์„œ ๊ณต์œ ํ•œ ์šฐ์‚ฐ ์ถ”์ ๊ธฐ ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. :)

@nolancon ๋‹˜ , ์•ˆ๋…•ํ•˜์„ธ์š”. 3์›” 5์ผ Code Freeze๊ฐ€ ์ดํ‹€ ์•ž์œผ๋กœ ๋‹ค๊ฐ€์™”์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ๋™๊ฒฐ์„ ํ†ตํ•ด ๋ชจ๋“  ๊ด€๋ จ PR์„ ๋ณ‘ํ•ฉํ•ด์•ผ ํ•˜๋ฉฐ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ์š”์ฒญ์„ ์ œ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @nolancon ์ž…๋‹ˆ๋‹ค .

์˜ค๋Š˜ EOD๋Š” ์ฝ”๋“œ ํ”„๋ฆฌ์ฆˆ ์ž…๋‹ˆ๋‹ค.

https://github.com/kubernetes/kubernetes/pull/87650 ์ด ๋งˆ๊ฐ์ผ๊นŒ์ง€ ๊ฒ€ํ† ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์š”์ฒญ์„ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค .

์•ˆ๋…•ํ•˜์„ธ์š” @nolancon ์ž…๋‹ˆ๋‹ค .

์˜ค๋Š˜ EOD๋Š” ์ฝ”๋“œ ํ”„๋ฆฌ์ฆˆ ์ž…๋‹ˆ๋‹ค.

kubernetes/kubernetes#87650 ์ด ๋งˆ๊ฐ์ผ๊นŒ์ง€ ๊ฒ€ํ† ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์š”์ฒญ์„ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค .

@palnabarun๋‹˜ , ์•ˆ๋…•ํ•˜์„ธ์š”.

๋ช…ํ™•ํžˆํ•˜๊ธฐ ์œ„ํ•ด EOD๋Š” ์˜คํ›„ 5์‹œ ๋˜๋Š” ์ž์ • PST๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”

๋ช…ํ™•ํžˆํ•˜๊ธฐ ์œ„ํ•ด EOD๋Š” ์˜คํ›„ 5์‹œ ๋˜๋Š” ์ž์ • PST๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”

์˜คํ›„ 5์‹œ(ํƒœํ‰์–‘ ํ‘œ์ค€์‹œ)

PR์ด ์Šน์ธ๋˜์—ˆ์ง€๋งŒ ๋ณ‘ํ•ฉ์„ ์œ„ํ•ด ์„œ๋ช… ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š” ๋งˆ์ผ์Šคํ†ค์ด ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์Šฌ๋ž™์—์„œ ๊ทธ๋“ค์„ ํ•‘(ping)ํ–ˆ๊ณ , ์ž˜๋งŒ๋˜๋ฉด ๊ทธ๊ฒƒ์ด ํ’€๋ฆฌ๊ณ  ์˜ˆ์™ธ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. =)

์ด kep์— ๋Œ€ํ•œ ๋ชจ๋“  PR์ด ๋ณ‘ํ•ฉ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ(๋งˆ๊ฐ์ผ๊นŒ์ง€ ์Šน์ธ๋จ) ๊ฐœ์„  ์‚ฌํ•ญ ์ถ”์  ์‹œํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. :์›ƒ๋‹ค:

/๋งˆ์ผ์Šคํ†ค ํด๋ฆฌ์–ด

(์ด์ •ํ‘œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด v1.18 ์ด์ •ํ‘œ์—์„œ ์ด ๊ฐœ์„  ๋ฌธ์ œ ์ œ๊ฑฐ)

์•ˆ๋…•ํ•˜์„ธ์š” @nolancon @lmdaly , ์—ฌ๊ธฐ 1.19์— ๋Œ€ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ ์„€๋„์šฐ์ž…๋‹ˆ๋‹ค. 1.19์—์„œ ์ด์— ๋Œ€ํ•œ ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ?

1.19์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์œ ์ผํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
https://github.com/kubernetes/enhancements/pull/1121

๋‚˜๋จธ์ง€ ์ž‘์—…์€ ํ•„์š”์— ๋”ฐ๋ผ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง/๋ฒ„๊ทธ ์ˆ˜์ •์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์–ด์จŒ๋“  ์ด ๋ฌธ์ œ์˜ ์†Œ์œ ์ž๋ฅผ @lmdaly ๋Œ€์‹  ๋‚˜๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๋ฝ์ฒ˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

/๋งˆ์ผ์Šคํ†ค v1.19

/assign @klueska
/ํ• ๋‹น ํ•ด์ œ @lmdaly

์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค, Kevin https://prow.k8s.io/command-help

์•ˆ๋…•ํ•˜์„ธ์š” ์ผ€๋นˆ์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ์— KEP ํ˜•์‹์ด ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ #1620๋„ ์ง€๋‚œ ์ฃผ์— ๋ณ‘ํ•ฉ๋˜์–ด KEP ํ…œํ”Œ๋ฆฟ์— ์ƒ์‚ฐ ์ค€๋น„ ๊ฒ€ํ†  ์งˆ๋ฌธ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜๋ฉด ์‹œ๊ฐ„์„ ๋‚ด์–ด KEP๋ฅผ ๋‹ค์‹œ ํฌ๋งทํ•˜๊ณ  ํ…œํ”Œ๋ฆฟ์— ์ถ”๊ฐ€ํ•˜๋Š” ์งˆ๋ฌธ์— ๋‹ตํ•˜์‹ญ์‹œ์˜ค. ์ด๋Ÿฌํ•œ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์€ ๊ธฐ๋Šฅ(ํŠนํžˆ ์ด ๋‹จ๊ณ„์—์„œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ถ€๋ถ„)์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์šด์˜์ž์—๊ฒŒ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”!

@klueska ^^

@deekwaynecarr @klueska @johnbelamaric
๋˜ํ•œ 1.19 rel์— ์ƒˆ๋กœ์šด ํ† ํด๋กœ์ง€ ์ •์ฑ…์„ ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์•„์ง ์†Œ์œ ์ž์™€ ์œ ์ง€ ๊ด€๋ฆฌ์ž์˜ ๊ฒ€ํ† ๋ฅผ ๋ฐ›์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.
(1.19์—์„œ ๋งŒ๋“ค๊ธฐ ์–ด๋ ค์šธ ๊ฒƒ ๊ฐ™์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.)

์•ˆ๋…•ํ•˜์„ธ์š” @klueska ๐Ÿ‘‹ 1.19 docs shadow์ž…๋‹ˆ๋‹ค! 1.19์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์ด ๊ฐœ์„  ์ž‘์—…์— ๋ฌธ์„œ๋ฅผ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๋ฌธ์„œ์— ๋Œ€ํ•œ ์‹ ๊ทœ/์ˆ˜์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ 6์›” 12์ผ ๊ธˆ์š”์ผ๊นŒ์ง€ k/website(branch dev-1.19 )์— ๋Œ€ํ•œ ์ž๋ฆฌ ํ‘œ์‹œ์ž PR์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์นœ์ ˆํ•œ ์•Œ๋ฆผ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @klueska ๋Š” ์ž˜

์•ˆ๋…•ํ•˜์„ธ์š” @annajung์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ 2๊ฐœ์˜ ๋ณด๋ฅ˜ ์ค‘์ธ ๊ฐœ์„  ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

1121

1752

์ด๊ฒƒ์ด 1.19์— ํฌํ•จ๋  ๊ฒƒ์ธ์ง€ 1.20์œผ๋กœ ํ‘ธ์‹œ๋  ๊ฒƒ์ธ์ง€ ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๊ฒฐ์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 1.19๋กœ ์œ ์ง€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๋ฉด 6์›” 12์ผ๊นŒ์ง€ ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ž๋ฆฌ ํ‘œ์‹œ์ž PR์„ ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค.

์—„์ฒญ๋‚œ! ์—…๋ฐ์ดํŠธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ์— ๋”ฐ๋ผ ์ถ”์  ์‹œํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ์ž๋ฆฌ ํ‘œ์‹œ์ž PR์ด ๋งŒ๋“ค์–ด์ง€๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@lmdaly @ConnorDoyle
์—ฌ๊ธฐ์— ์งˆ๋ฌธํ•˜๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์˜ฌ๋ฐ”๋ฅธ ์žฅ์†Œ๊ฐ€ ๋˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‚ด k8s ํด๋Ÿฌ์Šคํ„ฐ v1.17์—์„œ TopologyManager ๋ฐ CPUManager ๋ฅผ ์ผญ๋‹ˆ๋‹ค.
์ •์ฑ…์€ best-effort ๋ฐ static
๋‹ค์Œ์€ ๋‚ด ํฌ๋“œ์˜ ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

      resources:
        requests:
          cpu: 2
          intel.com/sriov_pool_a: '1'
        limits:
          cpu: 2
          intel.com/sriov_pool_a: '1'

sriov_pool_a์˜ PF๋Š” NUMA ๋…ธ๋“œ 0์— ์žˆ์œผ๋ฏ€๋กœ ๋‚ด ํฌ๋“œ๊ฐ€ NUMA ๋…ธ๋“œ 0์˜ CPU์—์„œ๋„ ์‹คํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋‚ด ํฌ๋“œ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ NUMA ๋…ธ๋“œ 1์˜ CPU์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ taskset -p <pid> ์˜ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์„ค์ •๋œ CPU ์„ ํ˜ธ๋„ ๋งˆ์Šคํฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์ปจํ…Œ์ด๋„ˆ์— numa ๋…ธ๋“œ 0์˜ cpu์— ๋Œ€ํ•ด cpu ์„ ํ˜ธ๋„ ๋งˆ์Šคํฌ๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด TopoloyManager ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์ œ๋‚˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@annajung ์ž๋ฆฌ ํ‘œ์‹œ์ž ๋ฌธ์„œ PR ์ถ”๊ฐ€: https://github.com/kubernetes/website/pull/21607

์•ˆ๋…•ํ•˜์„ธ์š” @klueska ,

์›”์š”์ผ์— k-dev์— ๋ณด๋‚ธ ์ด๋ฉ”์ผ์— ๋Œ€ํ•œ ํ›„์† ์กฐ์น˜๋กœ Code Freeze๊ฐ€ 7์›” 9์ผ ๋ชฉ์š”์ผ๊นŒ์ง€ ์—ฐ์žฅ๋˜์—ˆ์Œ์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ˆ˜์ •๋œ ์ผ์ •์€ https://github.com/kubernetes/sig-release/tree/master/releases/release-1.19 ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋•Œ๊นŒ์ง€ ๋ชจ๋“  PR์ด ๋ณ‘ํ•ฉ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”. ๐Ÿ˜„

์ตœ์ƒ์˜,
์ปค์Šคํ‹ด

์•ˆ๋…•ํ•˜์„ธ์š” @klueska๋‹˜ , ๋‹ค์Œ ๋งˆ๊ฐ์ผ์ด ๋‹ค๊ฐ€์˜ค๊ณ  ์žˆ์Œ์„ ์นœ์ ˆํ•˜๊ฒŒ
์ž๋ฆฌ ํ‘œ์‹œ์ž ๋ฌธ์„œ PR์„ ์ฑ„์šฐ๊ณ  7์›” 6์ผ ์›”์š”์ผ๊นŒ์ง€ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•˜์„ธ์š”.

@annajung ๊ฐ์‚ฌ

์•ˆ๋…•ํ•˜์„ธ์š” @klueska , ์ข‹์€ ์ง€์ ์ž…๋‹ˆ๋‹ค! ๋ชจ๋“  ๋ฌธ์„œ ๊ธฐํ•œ๋„ ์ƒˆ ๋ฆด๋ฆฌ์Šค ๋‚ ์งœ์™€ ํ•จ๊ป˜ ์ผ์ฃผ์ผ ์—ฐ๊ธฐ๋˜์—ˆ์ง€๋งŒ ์œ ํšจํ•œ ํฌ์ธํŠธ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ๋ฌธ์„œ ์ฑ…์ž„์ž์—๊ฒŒ ์—ฐ๋ฝํ•˜์—ฌ ๋‹ค์‹œ ์—ฐ๋ฝ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค! ์ง€์ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@klueska๋‹˜ , ์ด ๋ฌธ์ œ๋ฅผ ์•Œ๋ ค์ฃผ์…”์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค์˜ ๋ฌธ์„œ ๋‚ ์งœ์™€ ํ˜ผ๋™์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด "๊ฒ€ํ†  ์ค€๋น„๊ฐ€ ๋œ PR"์€ ์ฝ”๋“œ ๋™๊ฒฐ ์ดํ›„์— ์™€์•ผ ํ•˜๋ฉฐ ์ด์ „ ๋ฆด๋ฆฌ์Šค์— ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฆด๋ฆฌ์Šค ํŒ€๊ณผ ๋…ผ์˜ํ•œ ํ›„ "PR ๊ฒ€ํ†  ์ค€๋น„"๋ฅผ ์†Œํ”„ํŠธ ๊ธฐํ•œ์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ์ด 1.19 ๋ฆด๋ฆฌ์Šค์˜ ๋‚ ์งœ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œ ํŒ€์€ ์œ ์—ฐํ•˜๋ฉฐ ๋ฌธ์„œ๊ฐ€ ์ฝ”๋“œ์™€ ๋™๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋Š” ๊ท€ํ•˜/๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ํ˜‘๋ ฅํ•ฉ๋‹ˆ๋‹ค. "PR ๊ฒ€ํ†  ์ค€๋น„ ์™„๋ฃŒ" ๊ธฐํ•œ์€ ์ ์šฉ๋˜์ง€ ์•Š์ง€๋งŒ "PR ๊ฒ€ํ†  ๋ฐ ๋ณ‘ํ•ฉ ์ฝ๊ธฐ"๋Š” ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์šฐ๋ ค ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์ด ๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋” ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”!

๋˜ํ•œ ๋‚ ์งœ๋ฅผ ์นœ์ ˆํ•˜๊ฒŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
"๋ฌธ์„œ ๋งˆ๊ฐ์ผ - PR ๊ฒ€ํ†  ์ค€๋น„"๋Š” 7์›” 6์ผ๊นŒ์ง€์ž…๋‹ˆ๋‹ค.
"๋ฌธ์„œ ์™„๋ฃŒ - ๋ชจ๋“  PR์ด ๊ฒ€ํ† ๋˜์—ˆ์œผ๋ฉฐ ๋ณ‘ํ•ฉํ•  ์ค€๋น„๊ฐ€ ๋จ"์€ 7์›” 16์ผ๊นŒ์ง€์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @klueska :wave: -- 1.19 Enhancements Lead,

๋ฆด๋ฆฌ์Šค ํŒ€์—์„œ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ๊ธฐ์—์„œ ๋ชจ๋“  ๊ตฌํ˜„ PR์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? :์•ฝ๊ฐ„_์›ƒ๋Š”_์–ผ๊ตด:

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@palnabarun
PR ์ถ”์  https://github.com/kubernetes/enhancements/pull/1121 ์€ ๋‹ค์Œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/kubernetes/kubernetes/pull/92665

๋ถˆํ–‰ํžˆ๋„ ๊ฐœ์„  ์‚ฌํ•ญ #1752๋Š” ๋ฆด๋ฆฌ์Šค์— ํฌํ•จ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ถ”์ ํ•  PR์ด ์—†์Šต๋‹ˆ๋‹ค.

@klueska :wave: ์•ˆ๋…•ํ•˜์„ธ์š”. https://github.com/kubernetes/enhancements/pull/1752 ๊ฐ€ ๋ฒ ํƒ€ ์กธ์—… ์š”๊ตฌ ์‚ฌํ•ญ์„ ํ™•์žฅํ•˜๊ณ  ๋ฆด๋ฆฌ์Šค์— ํฌํ•จ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— 1.19์—์„œ ์˜ˆ์ƒ๋˜๋Š” ์ถ”๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. :์•ฝ๊ฐ„_์›ƒ๋Š”_์–ผ๊ตด:


์ฝ”๋“œ ๋™๊ฒฐ์€ 7์›” 9์ผ ๋ชฉ์š”์ผ EOD PST์— ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

@palnabarun ์ด๊ฒƒ์€ ์˜ค๋Š˜ ๋˜๋Š” ๋‚ด์ผ ์ƒ๋ฅ™ํ•ด์•ผ ํ•˜๋Š” #92665์— ๋Œ€ํ•œ ํ›„์† PR์ž…๋‹ˆ๋‹ค: https://github.com/kubernetes/kubernetes/pull/92794

๊ทธ ํ›„์—๋Š” ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฒ„๊ทธ๊ฐ€ ๋ณด๋ฅ˜ ์ค‘์ธ ์ด ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ PR์ด ๋” ์ด์ƒ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—„์ฒญ๋‚œ! ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. :+1:

์šฐ๋ฆฌ๋Š” https://github.com/kubernetes/kubernetes/pull/92794๋ฅผ ์ฃผ์‹œํ•  ๊ฒƒ

@annajung https://github.com/kubernetes/website/pull/21607 ์ด์ œ ๊ฒ€ํ† ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค @klueska kubernetes/kubernetes#92794๊ฐ€ ๋งˆ์นจ๋‚ด ๋ณ‘ํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์— ๋”ฐ๋ผ ์ถ”์  ์‹œํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ˜„

/๋งˆ์ผ์Šคํ†ค ํด๋ฆฌ์–ด

(์ด์ •ํ‘œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด v1.19 ์ด์ •ํ‘œ์—์„œ ์ด ๊ฐœ์„  ๋ฌธ์ œ ์ œ๊ฑฐ)

์•ˆ๋…•ํ•˜์„ธ์š” @klueska

๊ฐœ์„  ์‚ฌํ•ญ์€ ์—ฌ๊ธฐ๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. 1.20์— ์กธ์—…ํ•  ๊ณ„ํš์ด ์žˆ๋‚˜์š”?

๊ฐ์‚ฌ ํ•ด์š”!
์ปค์Šคํ‹ด

์กธ์—…ํ•  ๊ณ„ํš์€ ์—†์ง€๋งŒ ์ด ๊ฐœ์„  ์‚ฌํ•ญ๊ณผ ๊ด€๋ จํ•˜์—ฌ 1.20์— ๋Œ€ํ•ด ์ถ”์ ํ•ด์•ผ ํ•˜๋Š” PR์ด ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/kubernetes/kubernetes/pull/92967

1.20์—์„œ ์กธ์—…ํ•˜์ง€ ์•Š๋”๋ผ๋„ ๋ฐฉ๊ธˆ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๊ด€๋ จ PR์„ ์ด ๋ฌธ์ œ์— ๊ณ„์† ์—ฐ๊ฒฐํ•˜์‹ญ์‹œ์˜ค.

@kikisdeliveryservice ํ”„๋กœ์„ธ์Šค๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? Topology Manager ๊ธฐ๋Šฅ์€ 1.20์—์„œ ์ข…๋ฃŒ๋˜์ง€ ์•Š์ง€๋งŒ ์ƒˆ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์–ด ํ˜„์žฌ ์ž‘์—… ์ค‘์ž…๋‹ˆ๋‹ค. https://github.com/kubernetes/enhancements/pull/1752 k/k: https://github. com/kubernetes/kubernetes/pull/92967. ์ถœ์‹œ ํŒ€๊ณผ ํ•จ๊ป˜ ์ถ”์ ํ•ด์•ผ ํ•˜๋Š” ์‚ฌํ•ญ์ž…๋‹ˆ๊นŒ? 1.20์— ๋Œ€ํ•œ ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ ๋˜๋Š” ์ถ”์  ์ค‘์ธ ๋‹ค๋ฅธ ํ•ญ๋ชฉ์˜ ์ถ”์ ์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ถ”๊ฐ€๋˜๋ฏ€๋กœ beta2 ๋˜๋Š” ๊ธฐํƒ€๋ผ๊ณ  ๋ถ€๋ฅผ ์ด์œ ๊ฐ€ ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด 1.19์—์„œ ์ œ๊ณต๋˜์ง€ ์•Š์€ ํ˜„์‹ค์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ด€๋ จ ๋ฒ”ํ”„ PR: https://github.com/kubernetes/enhancements/pull/1950

๋ฒ”์œ„ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๋„๋ก ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž ์›น ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ PR: https://github.com/kubernetes/website/pull/24781

1.20์œผ๋กœ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฐ˜๋“œ์‹œ ์กธ์—…ํ•  ํ•„์š”๋Š” ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. @kikisdeliveryservice ์ •ํ™•ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ

์•ˆ๋…•ํ•˜์„ธ์š” @SergeyKanzhelev

์—ญ์‚ฌ๋ฅผ ๋ณด๋ฉด ์‚ฌ์‹ค ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ์œ„์—์„œ ์กธ์—…ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ๋“ค์—ˆ๋Š”๋ฐ, ๊ดœ์ฐฎ๊ณ  ์ด KEP๊ฐ€ ์ถ”์ ๋˜์ง€ ์•Š๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ฐœ์„  ์‚ฌํ•ญ(ํ–ฅ์ƒ ํŒ€์— ์•Œ๋ ค์ง€์ง€ ์•Š์Œ)์€ ์ตœ๊ทผ @k-wiatrzyk์— ์˜ํ•ด 1.20 ๋ฒ ํƒ€๋กœ ๋Œ€์ƒ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(https://github.com/kubernetes/enhancements/pull/1950).

๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™œ์šฉํ•˜๋ ค๋ฉด ๊ฐœ์„  ์‚ฌํ•ญ ์ถ”์ , ๋ฆด๋ฆฌ์Šค ์ด์ •ํ‘œ์˜ ์ผ๋ถ€๊ฐ€ ๋˜๊ณ  ๋ฌธ์„œ ํŒ€์ด ์ด๋ฅผ ์ถ”์ ํ•˜๊ฑฐ๋‚˜ 1.20 ๋ฆด๋ฆฌ์Šค์— ๋ฌธ์„œ๊ฐ€ ํฌํ•จ๋˜๋„๋ก ํ•˜๋ ค๋ฉด ๊ฐœ์„  ์‚ฌํ•ญ ์˜ˆ์™ธ ์š”์ฒญ์„ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์ œ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ์€ ์ด๋ฏธ (๊ธฐ์กด) KEP์— ๋ณ‘ํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๊ฐœ์„  ๊ธฐํ•œ ์ „).
https://github.com/kubernetes/enhancements/pull/1752

๊ตฌํ˜„ ์‹œ PR์€ ์ด๋ฏธ ์ด์ •ํ‘œ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.
https://github.com/kubernetes/kubernetes/pull/92967

๋” ํ•  ์ผ์ด ๋” ์žˆ๋Š”์ง€ ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฌ์™€ ํ•จ๊ป˜ ์˜ˆ์™ธ๋ฅผ ์ œ์ถœํ•ด์•ผ ํ•˜๋ฉฐ ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ์œ„ํ•ด ์ œ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @klueska์€ 1.19์—์„œ KEP์œผ๋กœ ๋ฒ ํƒ€๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” 6 ์›”์— ํ•ฉ๋ณ‘๋˜์—ˆ๋‹ค ์ฐธ์กฐํ•˜๋Š” ํ™๋ณด : https://github.com/bg-chun/enhancements/blob/f3df83cc997ff49bfbb59414545c3e4002796f19/keps/sig-node/0035-20190130-topology -manager.md#๋ฒ ํƒ€ -v119

1.20์˜ ๊ฐœ์„  ์‚ฌํ•ญ ๋งˆ๊ฐ์ผ์€ 10์›” 6์ผ์ด์—ˆ์ง€๋งŒ ๋ฒ ํƒ€๋ฅผ 1.20์œผ๋กœ ์ด๋™ํ•˜๊ณ  1.19์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ https://github.com/kubernetes/enhancements/pull/1950์„ ํ†ตํ•ด 3์ผ ์ „์— ๋ณ‘ํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์™ธ ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ์ง€์นจ์€ https://github.com/kubernetes/sig-release/blob/master/releases/EXCEPTIONS.md ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์™ธ๋ฅผ ์‹ ์ฒญํ•  ๋Œ€์ƒ์— ๋Œ€ํ•ด ์—ฌ์ „ํžˆ ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๊ฑฐ๊ธฐ์— ๋ฌด์—‡์„ ํฌํ•จ์‹œ์ผœ์•ผ ํ• ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

"๋…ธ๋“œ ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž" ๊ธฐ๋Šฅ์€ ์ด๋ฏธ 1.18์—์„œ ๋ฒ ํƒ€๋กœ ์ „ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
1.20์—์„œ GA๋กœ ์ „ํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๋ฒ ํƒ€ ์ƒํƒœ์— ์žˆ์Œ).

1.20์šฉ์œผ๋กœ ๋ณ‘ํ•ฉ๋˜๋Š” PR(์˜ˆ: kubernetes/kubernetes#92967)์€ ํ† ํด๋กœ์ง€ ๊ด€๋ฆฌ์ž์— ๋Œ€ํ•œ ๊ธฐ์กด ์ฝ”๋“œ์˜ ๊ฐœ์„  ์‚ฌํ•ญ์ด์ง€๋งŒ alpha/beta/ga ๋“ฑ์˜ ์ƒํƒœ ์ธก๋ฉด์—์„œ "๋ฒ”ํ”„"์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐํ•œ์ด ์˜ค๋Š˜ (๋‹จ์ง€ ๊ฒฝ์šฐ)์™€ ๊ฐ™์ด ๋‚ด๊ฐ€ ์˜ˆ์™ธ ๋ฉ”์ผ์˜ ์ „ํ™” (๋ฅผ) ๋‹ค์Œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „์†กํ–ˆ์Šต๋‹ˆ๋‹ค https://groups.google.com/g/kubernetes-sig-node/c/lsy0fO6cBUY/m/_ujNkQtCCQAJ

@kikisdeliveryservice @klueska @annajung
์˜ˆ์™ธ ์š”์ฒญ์ด ์Šน์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธ์€ https://groups.google.com/g/kubernetes-sig-release/c/otE2ymBKeMA/m/ML_HMQO7BwAJ ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@k-wiatrzyk & @klueska ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ถ”์  ์‹œํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฐธ์กฐ: @annajung

์•ˆ๋…•ํ•˜์„ธ์š” @k-wiatrzyk @klueska

kubernetes/kubernetes#92967์ด ์Šน์ธ๋˜์—ˆ์ง€๋งŒ ๋ฆฌ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Code Freeze ๊ฐ€ 11์›” 12์ผ ๋ชฉ์š”์ผ ์— 2์ผ ํ›„์— ์˜จ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ƒ๊ธฐ์‹œ์ผœ ์ฃผ์‹ญ์‹œ์˜ค. ๋ชจ๋“  PR์€ ํ•ด๋‹น ๋‚ ์งœ๊นŒ์ง€ ๋ณ‘ํ•ฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ตœ์ƒ์˜,
์ปค์Šคํ‹ด

PR ๋ณ‘ํ•ฉ, ์‹œํŠธ ์—…๋ฐ์ดํŠธ - ์˜ˆ! :๋ฏธ์†Œ๊ณ ์–‘์ด:

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰