/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
ํ๋ฆ์ _์ฌ์ํ๊ฒ_ ์์ ํ๋ฉด ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ์๊ฐํฉ๋๋ค.
์ด๊ธฐํ ์ ์ฅ์น ํ๋ฌ๊ทธ์ธ์ ๋์ค์ ์ฝ๋ฐฑ์ ์คํํ ์ ์๋๋ก devicemanager
์์ ์ ๋ฑ๋กํฉ๋๋ค.
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๋ฅผ ํ ๋นํ๋ ค๊ณ ํ ๋ ์๋ ๊ทธ๋ฆผ์ ๊ณ ๋ คํ์ญ์์ค.
(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์์ ์ํ/๋ฒ ํ/์์ ์ผ๋ก ์ ํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋์ง ํ์ธํ๊ณ ์ถ์์ต๋๋ค.
ํ์ฌ ์ถ์ ์ผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด ํธ์ ์๋ ๋ชจ๋ ๊ด๋ จ 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]
@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์ ์๋ฃํ์ผ๋ฉฐ ๋ค์์ ํฌํจํ์ฌ ์ผ๋ถ๋ ์งํ ์ค์ ๋๋ค.
@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๊ฐ์ ๋ณด๋ฅ ์ค์ธ ๊ฐ์ ์ฌํญ์ด ์์ต๋๋ค.
์ด๊ฒ์ด 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 ๋ณํฉ, ์ํธ ์ ๋ฐ์ดํธ - ์! :๋ฏธ์๊ณ ์์ด:
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด kep์ ๋ํ ๋ชจ๋ PR์ด ๋ณํฉ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ(๋ง๊ฐ์ผ๊น์ง ์น์ธ๋จ) ๊ฐ์ ์ฌํญ ์ถ์ ์ํธ๋ฅผ ์ ๋ฐ์ดํธํ์ต๋๋ค. :์๋ค: