Enhancements: KubeProxy์šฉ IPvS ์˜ต์…˜

์— ๋งŒ๋“  2017๋…„ 03์›” 05์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: kubernetes/enhancements

๊ธฐ๋Šฅ ์„ค๋ช…

  • ํ•œ ์ค„๋กœ ๋œ ๊ธฐ๋Šฅ ์„ค๋ช…(๋ฆด๋ฆฌ์Šค ๋…ธํŠธ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ):
  • ๊ธฐ๋ณธ ์—ฐ๋ฝ์ฒ˜(๋‹ด๋‹น์ž):
  • ์ฑ…์ž„ ์žˆ๋Š” SIG:
  • ๋””์ž์ธ ์ œ์•ˆ ๋งํฌ(์ปค๋ฎค๋‹ˆํ‹ฐ ์ €์žฅ์†Œ): https://github.com/kubernetes/community/issues/429
  • ๊ฒ€ํ† ์ž - (LGTM์˜ ๊ฒฝ์šฐ) 2๋ช… ์ด์ƒ์˜ ๊ฒ€ํ† ์ž(์ฝ”๋“œ ์˜์—ญ OWNERS ํŒŒ์ผ์—์„œ ์ตœ์†Œ ํ•œ ๋ช…)๊ฐ€ ๊ฒ€ํ† ์— ๋™์˜ํ•˜๋„๋ก ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํšŒ์‚ฌ์˜ ๋ฆฌ๋ทฐ์–ด ์„ ํ˜ธ:
  • ์Šน์ธ์ž(๊ธฐ๋Šฅ์ด ์†ํ•œ SIG/์˜์—ญ์—์„œ ๊ฐ€๋Šฅ):
  • ๊ธฐ๋Šฅ ๋ชฉํ‘œ(์–ด๋–ค ๋ชฉํ‘œ๊ฐ€ ์–ด๋–ค ์ด์ •ํ‘œ์™€ ๊ฐ™์Œ):

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

    • ๋ฒ ํƒ€ ์ถœ์‹œ ๋Œ€์ƒ(xy)

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

######### ์•„๋ž˜์˜ ์˜ค๋ž˜๋œ ํ…œํ”Œ๋ฆฟ

์„ค๋ช…

IPvS ๋˜๋Š” LVS๋Š” 3๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ์„ ํ”„๋ก์‹œํ•  ์ˆ˜ ์žˆ๋Š” ์ปค๋„ ๊ธฐ๋Šฅ์ด๋ฉฐ ์ง์ ‘ ๋ผ์šฐํŒ… ๋ชจ๋ธ์ด ์„ ํ˜ธ๋˜๋Š” ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

์ง„ํ–‰๋ฅ  ์ถ”์ ๊ธฐ

  • [ ] ์•ŒํŒŒ

    • [ ] ์ดˆ์•ˆ ํ’ˆ์งˆ ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ์œ ์ง€



      • [ ] ๊ฐœ๋ฐœํ•˜๋Š” ๋™์•ˆ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ฒฝํ—˜๊ณผ ํ˜„์žฌ ์ƒํƒœ์—์„œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฌธ์„œ๋ฅผ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์˜ README์™€ Kubernetes ๋ฆด๋ฆฌ์Šค ์ด์ „์— ์ž‘์„ฑ๋  ๋ฌธ์„œ์˜ ๊ณจ๊ฒฉ์œผ๋กœ ์ƒ๊ฐํ•˜์‹ญ์‹œ์˜ค. Google ๋ฌธ์„œ์— ๋งํฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ: DOC-LINK



    • [ ] ๋””์ž์ธ ์Šน์ธ



      • [x] ๋””์ž์ธ ์ œ์•ˆ. https://github.com/kubernetes/community/issues/429


      • [ ] ์ด ๊ธฐ๋Šฅ์˜ ์ฝ”๋“œ๋ฅผ ์ฒดํฌ์ธํ•  ์ €์žฅ์†Œ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ํ•ต์‹ฌ kubernetes ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ƒ๋ฅ™ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. REPO ์ด๋ฆ„


      • [ ] ์ดˆ๊ธฐ API ๊ฒ€ํ† (API์ธ ๊ฒฝ์šฐ). ๋””์ž์ธ ๋ฌธ์„œ์™€ ๊ฐ™์€ PR์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™๋ณด ๋ฒˆํ˜ธ


      • API๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ชจ๋“  ์ฝ”๋“œ( /pkg/apis/... )


      • ์ฐธ์กฐ @kubernetes/api


      • [ ] ์–‘์น˜๊ธฐ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค(SIG ๋ฆฌ๋“œ ๋ฐ/๋˜๋Š” [email protected]์ด ๋„์›€์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). ๋‚˜์˜ ์–‘์น˜๊ธฐ๋Š”: _replace. [email protected]_ (๋ฐ/๋˜๋Š” GH ํ•ธ๋“ค)


      • ์…ฐํผ๋“œ๋Š” ๊ธฐ๋Šฅ์„ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๊ฐ€์ ธ์˜ค๊ณ  ๊ฒ€ํ† ์ž๋ฅผ ์‹๋ณ„ํ•˜๋ฉฐ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ฐ ๋„์›€์„ ์ค„ ๊ฐœ์ธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๊ธฐ๋Šฅ์˜ ์ฝ”๋“œ ๊ฒ€ํ† ์ž๋‚˜ ํ•ด๋‹น ๋ถ„์•ผ์˜ ๊ธฐ์ˆ  ๋ฆฌ๋”๊ฐ€ _์•„๋‹™๋‹ˆ๋‹ค_ (ํ•„์ˆ˜์ ์œผ๋กœ).


      • ๋ชฉ์ž๋Š” Kubernetes-PM ํšŒ์˜์— ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ์ด ๋ฆด๋ฆฌ์Šค ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ฑ…์ž„์ด _์—†์Šต๋‹ˆ๋‹ค_. ๊ทธ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋‹น์‹ ์˜ ์ฑ…์ž„์ž…๋‹ˆ๋‹ค.


      • [ ] ๋ณด์กฐ/๋ฐฑ์—… ์ ‘์ ์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ๋ณด์กฐ ์—ฐ๋ฝ์ฒ˜: _replace. [email protected]_ (๋ฐ/๋˜๋Š” GH ํ•ธ๋“ค)



    • [ ] ์ž‘์„ฑ(์ฝ”๋“œ + ํ…Œ์ŠคํŠธ + ๋ฌธ์„œ)ํ•œ ๋‹ค์Œ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํ™๋ณด ๋ฒˆํ˜ธ



      • [ ] ์ฝ”๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ์†Œ์œ ์ž์— ์˜ํ•ด ํ™•์ธ๋จ


      • [ ] ์ตœ์†Œํ•œ์˜ ํ…Œ์ŠคํŠธ


      • [ ] ์ตœ์†Œํ•œ์˜ ๋ฌธ์„œ


      • ๋ฌธ์„œ PR์˜ ์ฐธ์กฐ @kubernetes/docs


      • cc @kubernetes/feature-reviewers ์ด ๋ฌธ์ œ ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์ „์— ์Šน์ธ์„ ๋ฐ›์œผ์‹ญ์‹œ์˜ค.


      • ์ƒˆ API: ๋ฌธ์„œ ์ €์žฅ์†Œ์˜ ์šฉ์–ด์ง‘ ์„น์…˜ ํ•ญ๋ชฉ : kubernetes/kubernetes.github.io


      • [ ] ๋ฆด๋ฆฌ์Šค ์ •๋ณด ์—…๋ฐ์ดํŠธ



  • [ ] ๋ฒ ํƒ€

    • [ ] ๋ฒ ํƒ€ ํ…Œ์ŠคํŠธ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

    • [ ] ํŠœํ† ๋ฆฌ์–ผ์ด ํฌํ•จ๋œ ์‚ฌ์šฉ์ž ๋ฌธ์„œ



      • ๋ฌธ์„œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์—…๋ฐ์ดํŠธ๋œ ์—ฐ์Šต/ํŠœํ† ๋ฆฌ์–ผ : kubernetes/kubernetes.github.io


      • ๋ฌธ์„œ PR์˜ ์ฐธ์กฐ @kubernetes/docs


      • cc @kubernetes/feature-reviewers ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ํ™•์ธํ•˜๊ธฐ ์ „์— ์Šน์ธ์„ ๋ฐ›์œผ์‹ญ์‹œ์˜ค.



    • [ ] ์ฒ ์ €ํ•œ API ๊ฒ€ํ† 

    • ์ฐธ์กฐ @kubernetes/api

  • [ ] ์•ˆ์ •์ ์ธ

    • [ ] docs/proposals/foo.md๊ฐ€ docs/design/foo.md๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.



      • cc @kubernetes/feature-reviewers ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ํ™•์ธํ•˜๊ธฐ ์ „์— ์Šน์ธ์„ ๋ฐ›์œผ์‹ญ์‹œ์˜ค.



    • [ ] ๋‹ด๊ทธ๊ธฐ, ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ

    • [ ] ์ž์„ธํ•œ ์‚ฌ์šฉ์ž ๋ฌธ์„œ ๋ฐ ์˜ˆ์ œ

    • ์ฐธ์กฐ @kubernetes/docs

    • cc @kubernetes/feature-reviewers ์ด ๋ฌธ์ œ ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์ „์— ์Šน์ธ์„ ๋ฐ›์œผ์‹ญ์‹œ์˜ค.

FEATURE_STATUS๋Š” ๊ธฐ๋Šฅ ์ถ”์ ์— ์‚ฌ์šฉ๋˜๋ฉฐ @kubernetes/feature-reviewers ์˜ํ•ด ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
๊ธฐ๋Šฅ_์ƒํƒœ: IN_DEVELOPMENT

์ถ”๊ฐ€ ์กฐ์–ธ:

์„ค๊ณ„

  • @kubernetes/feature-reviewers ํšŒ์›์œผ๋กœ๋ถ€ํ„ฐ LGTM์„ ๋ฐ›์œผ๋ฉด ์ด ํ™•์ธ๋ž€์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฒ€ํ† ์ž๋Š” "๋””์ž์ธ ์™„๋ฃŒ" ๋ ˆ์ด๋ธ”์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋”ฉ

  • ํ•„์š”ํ•œ ๋งŒํผ PR์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŽธ๋ฆฌํ•œ ๋Œ€๋กœ ๋™์ผํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ PR์— ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.
  • ๊ฐ PR์ด ๋ณ‘ํ•ฉ๋˜๋ฉด PR์„ ์ฐธ์กฐํ•˜๋Š” ์ด ๋ฌธ์ œ์— ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค. ์ฝ”๋“œ๋Š” http://github.com/kubernetes/kubernetes ์ €์žฅ์†Œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
    ๋•Œ๋กœ๋Š” http://github.com/kubernetes/contrib ๋˜๋Š” ๋‹ค๋ฅธ ์ €์žฅ์†Œ.
  • ์ฝ”๋“œ ์ž‘์—…์ด ๋๋‚˜๋ฉด "์ฝ”๋“œ ์™„์„ฑ" ๋ ˆ์ด๋ธ”์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๋Šฅ์— ์‚ฌ์šฉ์ž ๋ฌธ์„œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ @kubernetes/feature-reviewers ์–ธ๊ธ‰ํ•˜๋Š” ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฌธ์„œ๊ฐ€
    ์ฝ”๋“œ๊ฐ€ ์ œ์•ˆ๋œ ๊ธฐ๋Šฅ ๋ฐ ๋””์ž์ธ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€, ๋ชจ๋“  ๊ฒƒ์ด ์™„๋ฃŒ๋˜์—ˆ๋Š”์ง€, ์ ์ ˆํ•œ
    ํ…Œ์ŠคํŠธ. ๊ทธ๋“ค์€ ์ƒ์„ธํ•œ ์ฝ”๋“œ ๊ฒ€ํ† ๋ฅผ ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค: ์ด๋ฏธ PR์ด ๊ฒ€ํ† ๋˜์—ˆ์„ ๋•Œ ์ผ์–ด๋‚œ ์ผ์ž…๋‹ˆ๋‹ค.
    ์™„๋ฃŒ๋˜๋ฉด ์ด ํ™•์ธ๋ž€์„ ์„ ํƒํ•˜๋ฉด ๊ฒ€ํ† ์ž๊ฐ€ "์ฝ”๋“œ ์™„์„ฑ" ๋ ˆ์ด๋ธ”์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ

  • [ ] ์‚ฌ์šฉ์ž ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ๋ฌธ์„œ๋Š” http://github.com/kubernetes/kubernetes.github.io ๋กœ ์ด๋™
  • ๊ธฐ๋Šฅ์— ์‚ฌ์šฉ์ž ๋ฌธ์„œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ @kubernetes/docs ์–ธ๊ธ‰ํ•˜๋Š” ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.
  • LGTM์„ ๋ฐ›์œผ๋ฉด ์ด ํ™•์ธ๋ž€์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฒ€ํ† ์ž๋Š” "๋ฌธ์„œ ์™„์„ฑ" ๋ ˆ์ด๋ธ”์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
help wanted

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

https://github.com/kubernetes/kubernetes/issues/44063 ์—์„œ IPVS kubeproxy ๊ตฌํ˜„์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.
์ง€๊ธˆ์€ ๊ฐ์ข… ๊ด€๋ จ ์ด์Šˆ์™€ PR์„ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š๋ผ ๋ฐ”์˜๋‹ค.

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

https://github.com/kubernetes/kubernetes/issues/44063 ์—์„œ IPVS kubeproxy ๊ตฌํ˜„์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.
์ง€๊ธˆ์€ ๊ฐ์ข… ๊ด€๋ จ ์ด์Šˆ์™€ PR์„ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š๋ผ ๋ฐ”์˜๋‹ค.

@boynux ์ƒˆ ํ…œํ”Œ๋ฆฟ ์— ๋งž๊ฒŒ ๊ธฐ๋Šฅ ์„ค๋ช…์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํ…œํ”Œ๋ฆฟ์˜ ๋นˆ ํ•„๋“œ๋ฅผ ์ฑ„์šฐ์‹ญ์‹œ์˜ค(์‹ค์ œ ์ƒํƒœ๊ฐ€ ๋ถˆ๋ช…ํ™•ํ•จ).

@idvoretskyi https://github.com/kubernetes/features/issues/265 ์˜ ๋ณต์ œ๋ณธ์œผ๋กœ ๋‹ซ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” 1.8์— ๋Œ€ํ•ด sig-network์—์„œ ์ถ”์  ์ค‘์ธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

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