Enhancements: CustomResourceDefinitions

์— ๋งŒ๋“  2016๋…„ 09์›” 30์ผ  ยท  127์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: kubernetes/enhancements

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

v1.15์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์ž‘์—… ๋ฒ”์œ„

  • ํ—ˆ์šฉ๋˜๋Š” OpenAPI ํ•˜์œ„ ์ง‘ํ•ฉ ์ •์˜(https://github.com/kubernetes/enhancements/pull/1002, https://github.com/kubernetes/enhancements/issues/692)
  • CRD์— ๋Œ€ํ•œ ๊ทœ๋ชจ ํ…Œ์ŠคํŠธ ์ •์˜ ๋ฐ ์ˆ˜ํ–‰(https://github.com/kubernetes/enhancements/pull/1015)
  • CRD ๋ณ€ํ™˜ ์›นํ›…์„ ๋ฒ ํƒ€๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ(https://github.com/kubernetes/enhancements/pull/1004, https://github.com/kubernetes/enhancements/issues/598)

v1.11์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์ž‘์—… ๋ฒ”์œ„

  • CRD ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋˜ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: https://github.com/kubernetes/features/issues/544. ๋””์ž์ธ ์ œ์•ˆ: https://github.com/kubernetes/community/pull/2026.
  • ์‚ฌ์šฉ์ž ์ง€์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ •๋ฆฌ ๋ฐ ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • CRD ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์Šคํ‚ค๋งˆ์—์„œ ๋งต์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. https://github.com/kubernetes/kubernetes/issues/59485
  • ์‚ฌ์šฉ์ž ์ง€์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ํ• ๋‹น๋Ÿ‰ ์ง€์› ๊ตฌํ˜„(์ด๊ฒƒ๋„ ๋ฒ„๊ทธ ์ˆ˜์ •์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Œ) https://github.com/kubernetes/kubernetes/issues/53777

v1.10์—์„œ ๊ณ„ํš๋œ ์ž‘์—… ๋ฒ”์œ„

v1.9์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์ž‘์—… ๋ฒ”์œ„

v1.8์—์„œ ๊ณ„ํš๋œ ์ž‘์—… ๋ฒ”์œ„

  • ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ThirdPartyResource API๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • CustomResourceDefinition์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ ๊ธฐ๋ณธ๊ฐ’ ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • CustomResourceDefinition์— ๋Œ€ํ•œ ํ•˜์œ„ ๋ฆฌ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    • ์‚ฌ์šฉ์ž ์ง€์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์‚ฌ์–‘/์ƒํƒœ ๋ถ„ํ• (/status ํ•˜์œ„ ๋ฆฌ์†Œ์Šค)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    • ์‚ฌ์šฉ์ž ์ง€์ • ๋ฆฌ์†Œ์Šค ๋ฐ์ดํ„ฐ ๋ณ€ํ˜•์— ๋Œ€ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ ์ฆ๊ฐ€ ์ง€์›(์‚ฌ์–‘/์ƒํƒœ ๋ถ„ํ•  ํ•„์š”).

  • CRD๋กœ OwnerReference ๊ธฐ๋ฐ˜ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

v1.7์—์„œ ์˜ˆ์ •๋œ ์ž‘์—… ๋ฒ”์œ„

  • extensions ๊ทธ๋ฃน์˜ ์ง€์› apiextensions ์ด๋ผ๊ณ  ํ•จ)์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    • ์ด์ƒ์ ์œผ๋กœ๋Š” API ์ง‘๊ณ„ ๋ฅผ ํ†ตํ•ด kube-apiserver์— ํ†ตํ•ฉ๋  ๋ณ„๋„์˜ API ์„œ๋ฒ„์— ์ƒˆ TPR์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ํ˜„์žฌ๋กœ์„œ๋Š” TPR๋‹น ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๋ฒ„์ „๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณ€ํ™˜์ด ์—†๋Š” ๊ฒฝ์šฐ(์ด ๋ฆด๋ฆฌ์Šค์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚จ), ์ด๋Š” ๋‹ค๋ฅธ ๊ตฌ์„ฑ์š”์†Œ์˜ ๊ธฐ๋Œ€์น˜์™€ ์ผ๊ด€์„ฑ ์„

    • ์—ฌ๋Ÿฌ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ง€์›์€ ์ดํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ๋ณ€ํ™˜ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • TPR ์ด๋ฆ„์„ ๋ฆฌ์†Œ์Šค/์ข…๋ฅ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์†์‹ค๋กœ ์ธํ•œ ์ด๋ฆ„ ์ถฉ๋Œ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
  • TPR ์ด๋ฆ„์— ๋ฌถ์ด๋Š” ๋Œ€์‹  TPR์ด ๋ฆฌ์†Œ์Šค ๋ฐ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • TPR์ด kubectl์—์„œ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์งง์€ ์ด๋ฆ„์„ ๋“ฑ๋กํ•˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • TPR์ด ์„ ํƒ์ ์œผ๋กœ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์•„๋‹Œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฒ”์œ„๊ฐ€ ๋˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • extensions/v1beta1 TPR์—์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ •์˜ํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•˜์‹ญ์‹œ์˜ค. TPR ๋งž์ถคํ˜• ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์šด์˜์ž์—๊ฒŒ ์งง์€ ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ๋„์›€์ด ๋˜๋Š” ์ž๋™ํ™”๋œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์ข…๋ฃŒ์ž๋Š” CRD๊ฐ€ ์‚ญ์ œ๋œ ๊ฒฝ์šฐ CR ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ธ ๋ฒˆ์งธ๋กœ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์‚ญ์ œ ์‹œ TPR/CRD ๋ฐ์ดํ„ฐ ์ •๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฆด๋ฆฌ์Šค์˜ ๋ฒ”์œ„๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ณ„ํš

  • ์ฃผ์–ด์ง„ TPR์— ๋Œ€ํ•ด ๋™์‹œ์— ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    • ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ(์˜ˆ: GC, ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ข…๋ฃŒ์ž)๋Š” ์ž๋™ ๋ณ€ํ™˜์„ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. TPR์€ ํ˜„์žฌ ์ด๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    • TPR์˜ ๋“ฑ๋ก๋œ ๋‹จ์ผ ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์ง€๋งŒ TPR ์‚ฌ์šฉ์ž ์ง€์ • ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์šด์˜์ž์—๊ฒŒ๋Š” ์งง์€ ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

    • extensions/v1beta1 TPR์€ ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์—ฌ๋Ÿฌ ๋ฒ„์ „ ์ง€์›์€ ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

  • ๋‹ค๋ฅธ TPR ๋˜๋Š” ๋‹ค๋ฅธ API์™€ ๊ด€๋ จํ•˜์—ฌ ๊ฒ€์ƒ‰ ์‹œ TPR API๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ์œ„์น˜ ์‚ฌ์šฉ์ž ์ง€์ •์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • CR์ด ํ•˜๋‚˜์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ๋งŒ ํ‘œ์‹œ๋˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋ฒ”์œ„ CRD๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋ถˆ๋ถ„๋ช…ํ•œ ์ƒํƒœ์˜ ๊ณ„ํš

์•„์ง ์กฐ์‚ฌ ์ค‘์ด๊ฑฐ๋‚˜ ๋ฏธ์ •์ž…๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€์„ ๋‹ฌ๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜์„ธ์š”.

  • kubectl/dashboard์—์„œ TPR ํ‘œ์‹œ๋ฅผ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

    • ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋‹ค๋ฅธ ๊ธฐ๋Šฅ ์ถ”์ ๊ธฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

kinfeature siapi-machinery stagstable

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

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด 1.7์— ์ผ์–ด๋‚  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ˜„์žฌ kubernetes/community#524์—์„œ ๋ณด๋‹ค ์•ˆ์ •์ ์ธ ์„ฑ์žฅ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ๊ตฌ์กฐ์  ์„ฑ์žฅ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

1.7 ๊ธฐ๊ฐ„ ๋™์•ˆ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/thirdpartyresources.md ๋กœ ์ง„ํ–‰ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์ง„ํ–‰ํ•˜๋ฉด์„œ ์—ฌ๊ธฐ์™€ sig-apimachinery ํ˜ธ์ถœ์—์„œ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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

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

๋งˆ์Œ์— ์ฃผ์ธ์€ ์—†์ง€๋งŒ ๋ฌธ์ œ ์ธ์‹์ด 1๋‹จ๊ณ„์ธ ๊ฒƒ ๊ฐ™๋‹ค.

@deads2k ์ตœ๊ทผ์— ์ œ3์ž ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐฐ์šฐ๊ณ  ์žˆ๋Š”๋ฐ ๋„์›€์ด ๋˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@deads2k ์ตœ๊ทผ์— ์ œ3์ž ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐฐ์šฐ๊ณ  ์žˆ๋Š”๋ฐ ๋„์›€์ด ๋˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

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

"์—ฌ๋Ÿฌ ์ž์›" ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธํ•˜๋‹ค๋ฉด ์ข‹์€ ์‹œ์ž‘์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฑฐ๊ธฐ์—์„œ ๊ตฌํ˜„์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@deads2k ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

Multiple Resources, single version, different add times - Adding resource A, waiting for it to appear, then adding resource B fails. Resource B is never added.

๊ทธ๋Ÿฌ๋‚˜ ๋ถˆํ–‰์œผ๋กœ. ๋‹ค์Œ์€ ๋‚ด ์žฌํ˜„ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

  1. ์‚ฌ์šฉ์ž ์ง€์ • ํƒ€์‚ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ํ‘œ์‹œ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
[root<strong i="12">@localhost</strong> kubernetes]# cat /home/tony/Desktop/debug/lbclaim.yaml
kind: ThirdPartyResource
apiVersion: extensions/v1beta1
metadata:
  name: loadbalancerclaim.k8s.io
description: "Allow user to claim a loadbalancer instance"
versions:
- name: v1
[root<strong i="13">@localhost</strong> kubernetes]# kc create -f /home/tony/Desktop/debug/lbclaim.yaml
thirdpartyresource "loadbalancerclaim.k8s.io" created
[root<strong i="14">@localhost</strong> kubernetes]# curl  http://localhost:8080/apis/extensions/v1beta1/thirdpartyresources/
{
  "kind": "ThirdPartyResourceList",
  "apiVersion": "extensions/v1beta1",
  "metadata": {
    "selfLink": "/apis/extensions/v1beta1/thirdpartyresources/",
    "resourceVersion": "170"
  },
  "items": [
    {
      "metadata": {
        "name": "loadbalancerclaim.k8s.io",
        "selfLink": "/apis/extensions/v1beta1/thirdpartyresources/loadbalancerclaim.k8s.io",
        "uid": "dcb88b3a-9857-11e6-a19b-08002767e1f5",
        "resourceVersion": "146",
        "creationTimestamp": "2016-10-22T13:03:01Z"
      },
      "description": "Allow user to claim a loadbalancer instance",
      "versions": [
        {
          "name": "v1"
        }
      ]
    }
  ]
}
  1. ์ž ์‹œ ํ›„(10์ดˆ ์ด์ƒ) ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ์ง€์ • ํƒ€์‚ฌ ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ
[root<strong i="19">@localhost</strong> kubernetes]# cat /home/tony/Desktop/debug/loadbalancer.yaml
kind: ThirdPartyResource
apiVersion: extensions/v1beta1
metadata:
  name: loadbalancer.k8s.io
description: "Allow user to curd a loadbalancer instance"
versions:
- name: v1
[root<strong i="20">@localhost</strong> kubernetes]# kc create -f /home/tony/Desktop/debug/loadbalancer.yaml
thirdpartyresource "loadbalancer.k8s.io" created
  1. ๋‘ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ชจ๋‘ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ
[root<strong i="25">@localhost</strong> kubernetes]# curl http://localhost:8080/apis/k8s.io/v1/
{
  "kind": "APIResourceList",
  "apiVersion": "v1",
  "groupVersion": "k8s.io/v1",
  "resources": [
    {
      "name": "loadbalancerclaims",
      "namespaced": true,
      "kind": "Loadbalancerclaim"
    },
    {
      "name": "loadbalancers",
      "namespaced": true,
      "kind": "Loadbalancer"
    }
  ]
}
[root<strong i="26">@localhost</strong> kubernetes]# kc get loadbalancers
No resources found.
[root<strong i="27">@localhost</strong> kubernetes]# kc get loadbalancerclaims
No resources found.

์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค, ๋‹จ์ผ ๋ฒ„์ „์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  TPR ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. thirdparty_controller ๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ๋™๊ธฐํ™”(10์ดˆ๋งˆ๋‹ค)๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ชจ๋“  ์ƒˆ TPR์„ ์„ค์น˜ํ•˜๊ณ  ์ผ๋ถ€ ์‚ญ์ œ ์ž‘์—…๋„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ThirdPartyResourceServer ์—๋Š” ์„ค์น˜๋œ ๋ชจ๋“  TPR ๋งคํ•‘์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. SyncOneResource ๋ฐ InstallThirdPartyResource ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์ด ๊ทธ๋ฃน์ด ์กด์žฌํ•˜๋”๋ผ๋„ ์ƒˆ API๋กœ ๊ทธ๋ฃน์„ ๊ณ„์† ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์‹œ์Šคํ…œ์— TPR ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋”๋ผ๋„ TPR ์Šคํ‚ค๋งˆ def๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ํ—ˆ์šฉ๋˜์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

@deads2k ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

์ด ํ…Œ์ŠคํŠธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์‹ญ์‹œ์˜ค: https://github.com/kubernetes/kubernetes/blob/master/test/integration/thirdparty/thirdparty_test.go#L137 . ๊ทธ๊ฒƒ์ด ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค๋ฉด, ์šฐ๋ฆฌ๋Š” ์ข‹์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹คํŒจํ•˜๋ฉด ๋ญ”๊ฐ€ ์ž˜๋ชป๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@deads2k ์•ˆ๋…•ํ•˜์„ธ์š” David, ์ œ๊ฐ€ Slack์œผ๋กœ ๋ณด๋‚ธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ด์ฃผ์„ธ์š”. ๊ฒŒ๋‹ค๊ฐ€ ์‹คํŒจํ•œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. TPR์ด ์‚ญ์ œ๋˜๋ฉด ํƒ€์‚ฌ ๋ฆฌ์†Œ์Šค ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ•ด๋‹น ๊ฒฝ๋กœ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ์— ๋„์›€์ด ๋  ๊ฒƒ์ด์ง€๋งŒ ์ด๊ฒƒ์ด ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ์ง€ ์—ฌ๋ถ€๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. .

๋ฌธ์ œ # 1์˜ ๊ฒฝ์šฐ ์—ฌ๊ธฐ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

@brendandburns๋Š” ์‹ค์ œ๋กœ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฃผ์„ ์ฒ˜๋ฆฌ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

@brendandburns ๋” ์ •ํ™•ํ•˜๊ฒŒ

@AdoHe ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐ ํ–ˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@brendandburns ์—ฌ๊ธฐ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

https://github.com/kubernetes/kubernetes/blob/master/test/integration/thirdparty/thirdparty_test.go#L137 

์ด ํ…Œ์ŠคํŠธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์‹คํŒจํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ๋‚ด ์ง€์—ญ์—์„œ ์ˆ˜์ •ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์œผ๋ฉฐ ์˜ค๋Š˜ ๋‚˜์ค‘์— PR์„ ์—ด ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@brendandburns ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@deads2k ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@deads2k ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ์•„์ง ๋ฏธํ•ด๊ฒฐ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์‹ค์ œ๋กœ 1.3์—์„œ (์ด๋ฏธ) ๋ฒ ํƒ€ thirdparyresources ๊ตฌํ˜„์˜ ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ์˜ ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•  ์žฅ์†Œ๊ฐ€ ํ•„์š”ํ–ˆ์ง€๋งŒ 1.5์—์„œ ๋‹ค๋ฅธ ๋…ธ๋ ฅ์— ์—๋„ˆ์ง€๋ฅผ ๋ฐ”์ณ์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

@deads2k ์ €๋Š” ์ด๋ฏธ Multiple Resources, single version ๋ฐ Multiple versions ์ž‘์—… ์ค‘์ด๋ฉฐ ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@deads2k ๋Š” ์—ฌ์ „ํžˆ 1.5๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๊นŒ?

@idvoretskyi ๋‚˜๋Š” ๋‘๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค :(

@deads2k : ์—ฐํ•ฉ API์— ThirdPartyResources๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@deads2k : ํ˜„์žฌ ThirdPartyObjects๋ฅผ ์ฟผ๋ฆฌํ•  ๋•Œ ํ•„๋“œ ์„ ํƒ๊ธฐ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก์— ํ•ด๋‹น ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@deads2k @rmohr kubectl์€ ์—ฌ์ „ํžˆ โ€‹โ€‹TPR์— ๋Œ€ํ•œ ๋งŽ์€ ๋›ฐ์–ด๋‚œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ถ”์ ํ•˜๋ ค๋ฉด ์œ„์˜ ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@deads2k : ํ˜„์žฌ ThirdPartyObjects๋ฅผ ์ฟผ๋ฆฌํ•  ๋•Œ ํ•„๋“œ ์„ ํƒ๊ธฐ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก์— ํ•ด๋‹น ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๋Š” ๋ชจ๋“  API ์œ ํ˜•์—์„œ ์ผ๊ด€๋˜์ง€ ์•Š์€ ํ•„๋“œ ์„ ํƒ๊ธฐ ์ง€์›์˜ ๋ณด๋‹ค ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์ €๋„ ์ด๊ฒƒ๋ถ€ํ„ฐ ๋ณด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ThirdPartyResources๋Š” spark ์™€ ๊ฐ™์€ "์™ธ๋ถ€" ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฐ ๋งค์šฐ ์ค‘์š”ํ•˜๋ฉฐ ํ•˜์œ„ ๋ฆฌ์†Œ์Šค์™€ ๊ฐ™์€ ๊ฒƒ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ์ด ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•„๋“œ ์„ ํƒ๊ธฐ๋Š” ์ผ๋ฐ˜ API ๊ฐ์ฒด์—์„œ ์ง์ ‘ ์„ ๋ณ„ํ•œ ํ•„๋“œ์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. TPR์˜ ๋ชจ๋“  ํ•„๋“œ์—์„œ ์ž‘๋™ํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. apiserver๋Š” ์ž„์˜ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๊ตฌ์ถ•๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ํ–‰๋™์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ TPR์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

TPR์„ ์• ๋“œ์˜จ API ์„œ๋ฒ„ ๋กœ ์˜ฎ๊ธฐ๋Š” ๋‹ค์Œ ๋‹จ๊ณ„๊ฐ€ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๊นŒ?
์ด ํ•ญ๋ชฉ์—์„œ ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ๋Š” ๋ชฉ๋ก์˜ ์ผ๋ถ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธํ•ด๊ฒฐ PR์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

/cc @liggitt @deads2k @AdoHe

apiserver ์ฝ”๋“œ์—์„œ TPR์˜ ๋ณต์žก์„ฑ์„ ์ค„์ด๊ณ  TPR ๋…ผ๋ฆฌ๋ฅผ ํ›จ์”ฌ ๋” ๋ช…์‹œ์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋…๋ฆฝ ์‹คํ–‰ํ˜• tpr-apiserver ํ™•์‹คํžˆ ํˆฌํ‘œํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ IMO๋Š” ์‹ค์ œ๋กœ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ API ์˜๋ฏธ(get, list, watch, update, patch) ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜๋ฏธ ์ฒด๊ณ„๊ฐ€ ์ผ๋ฐ˜์ ์ธ API ์˜๋ฏธ ์ฒด๊ณ„์™€ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ์•„๋งˆ๋„ ์„ค๊ณ„ ๋ฌธ์„œ๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ ์ค‘ ์ผ๋ถ€๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด (๋˜ ๋‹ค๋ฅธ) ์‹คํ–‰์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค ...

https://github.com/kubernetes/kubernetes/pull/40260 ๋ฐ https://github.com/kubernetes/kubernetes/pull/40096 ์€ kubectl ์ธก๋ฉด์—์„œ ์šฐ๋ฆฌ๋ฅผ ๊ดœ์ฐฎ์€ ์ƒํƒœ๋กœ ๋งŒ๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ฐ€์žฅ ์‹ฌ๊ฐํ•œ ์„œ๋ฒ„ ์ธก ๋ฌธ์ œ๋Š” TPR์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ownerRef์— ๋Œ€ํ•ด ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๊ฐ€ ์ •์‹ ์„ ์žƒ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด ์ฃผ์–ด์ง„ TPR์˜ ์—ฌ๋Ÿฌ ๋ฒ„์ „์— ๋Œ€ํ•œ API ์˜๋ฏธ ์ฒด๊ณ„๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  TPR ์œ ํ˜•์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์„œ๋ฒ„ ์ธก ์Šคํ† ๋ฆฌ์ง€ impl์— ์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ์„œ๋ฒ„ ์ธก ์ž‘์—…์„ ๋„ˆ๋ฌด ๋งŽ์ด ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๋””์ž์ธ์„ ๊ณ ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@liggitt ๋ฆฌ๋ทฐ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ณ ๋งˆ์›Œ

RBAC ๊ทœ์น™์—์„œ TPR์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? foo-bar.something.example.com๊ณผ ๊ฐ™์€ ์ด๋ฆ„์˜ TPR์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ์ž๋Š” kubectl get foobars ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ foobar ๋ชฉ๋ก์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์ผํ•œ ๊ฒƒ์„ ์‹œ๋„ํ•˜๋ฉด Error from server (Forbidden): the server does not allow access to the requested resource (get foobars.something.example.com) ๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์šด์ด ์—†๋Š” RBAC ๊ทœ์น™์—์„œ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” foobar, foo-bar ๋“ฑ์˜ ๋ชจ๋“  ๋ณ€ํ˜•์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทœ์น™์—์„œ ๋‹ค์Œ์„ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. resource=foobas apigroup=something.example.com verb=get,list,watch

@deads2k ํŠธ๋ฆญ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”!

@liggitt

The most severe server-side issue at the moment is the garbage collector losing its mind over ownerRefs that point to TPRs.

TPR ์ •๋ฆฌ ๋ฌธ์ œ์™€ ๊ด€๋ จ๋œ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์•„๋‹ˆ์š”, ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๊ฐ€ ํ˜•์‹์œผ๋กœ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ownerRef๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€ ๋ฌธ์ œ๋„ ์กด์žฌํ•˜๋Š”๋ฐ, ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋Š” ์ปดํŒŒ์ผ๋œ ์œ ํ˜• ์ด์™ธ์˜ ์ข…๋ฃŒ์ž์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ ๋ฌธ์ œ๋Š” ๋ชจ๋‘ ThirdPartyResource ๊ฐœ์ฒด๊ฐ€ ์ œ๊ฑฐ๋  ๋•Œ ThirdPartyResourceData ๊ฐœ์ฒด๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์ •๋ฆฌํ•ด์•ผ ํ•˜๋Š” ํ•„์š”์„ฑ๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

@liggitt ํ™˜์ž ์„ค๋ช… ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. 1.6์—์„œ TPR์˜ ๊ณ„ํš์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

GC๋Š” ์ด์ œ ์ดˆ๋‹น 50,000๋ฒˆ ๋Œ€์‹  ์ดˆ๋‹น 1,000๋ฒˆ๋งŒ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ๋” ์ด์ƒ ๋กœ๊ทธ ๋กœํ…Œ์ดํ„ฐ๋กœ ๊ฒฝ์ฃผ์—์„œ ์ด๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง„์ •ํ•œ ํ•ด๊ฒฐ์€
๊ณง ์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

2017๋…„ 2์›” 4์ผ ํ† ์š”์ผ ์˜คํ›„ 11์‹œ 54๋ถ„์— TonyAdo [email protected]์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

@liggitt https://github.com/liggitt ํ™˜์ž ์„ค๋ช…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
1.6์—์„œ TPR์˜ ๊ณ„ํš์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

TPR๊ณผ ๊ด€๋ จ๋œ ๋ช‡ ๊ฐ€์ง€ ๋ฏธํ•ด๊ฒฐ ๋ฌธ์ œ. ์™„์ „ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฃน/๋ฒ„์ „ ๋ฌธ์ œ: https://github.com/kubernetes/kubernetes/pull/24299 , https://github.com/kubernetes/kubernetes/pull/36977
๋ณด๊ธฐ: https://github.com/kubernetes/kubernetes/issues/25340
์ž์ฒด ๋งํฌ: https://github.com/kubernetes/kubernetes/issues/37622
๋„ค์ž„์ŠคํŽ˜์ด์Šค ์‚ญ์ œ: https://github.com/kubernetes/kubernetes/issues/37554
GC: https://github.com/kubernetes/kubernetes/issues/39816
์ข…๋ฃŒ์ž: https://github.com/kubernetes/kubernetes/issues/40715
TPR ๋ฐ์ดํ„ฐ ์ •๋ฆฌ: https://github.com/kubernetes/kubernetes/issues/35949
๋” ๊ฐ•๋ ฅํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ฒ€์ฆ: https://github.com/kubernetes/kubernetes/issues/22768#issuecomment -215940468
๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋ถ€์กฑ: https://github.com/kubernetes/kubernetes/pull/40956
์ •๋ฆฌ: https://github.com/kubernetes/kubernetes/issues/36998

์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์—์„œ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„๊ทธ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ธฐ๋Šฅ:
๋น„๋™๊ธฐ ๋™์ž‘: https://github.com/kubernetes/kubernetes/issues/29002
์ •์ˆ˜: https://github.com/kubernetes/kubernetes/issues/30213
YAML: https://github.com/kubernetes/kubernetes/issues/37455
๊ดœ์ฐฎ์€ kubectl ์ถœ๋ ฅ: https://github.com/kubernetes/kubernetes/issues/31343
๋ฆฌ์†Œ์Šค ๋ช…๋ช… ๊ฐ„์†Œํ™”: https://github.com/kubernetes/kubernetes/issues/29415
์‹ ์ฒญ: https://github.com/kubernetes/kubernetes/issues/29542 , https://github.com/kubernetes/kubernetes/issues/39906
ํŽธ์ง‘: https://github.com/kubernetes/kubernetes/issues/35993

/cc

๋Œ€์‹œ๋ณด๋“œ์—์„œ TPR์„ ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ํ•˜๋ฏ€๋กœ ๊ตฌ๋…ํ•ฉ๋‹ˆ๋‹ค.

์ถ”์  ๋ฌธ์ œ๋Š” https://github.com/kubernetes/dashboard/issues/1671 ๋ฐ https://github.com/kubernetes/dashboard/issues/1504์ž…๋‹ˆ๋‹ค.

@kubernetes/dashboard-maintainers

๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์—†๋Š” TPR์˜ ์ƒํƒœ/๊ณ„ํš์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ํ† ๋ก ์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋ญ”๊ฐ€๋ฅผ ๋†“์นœ ๊ฒƒ์ž…๋‹ˆ๊นŒ?

@sttts ๋จผ์ € Kubernetes์˜ ๊ฐœ๋ฐœ์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์ง€๋งŒ ๋ฐ”๋‘‘์€ ์ €์—๊ฒŒ ์ƒˆ๋กœ์šด ์–ธ์–ด์ž…๋‹ˆ๋‹ค. GSoC 2017์šฉ์œผ๋กœ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ๋Ÿฌ๋ถ„์ด ์ถ”์ฒœํ•˜๋Š” ์ž‘์—…์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‚˜์— ๋Œ€ํ•ด ๋ง๋ถ™์ด์ž๋ฉด, ์ €๋Š” C++์™€ Java์— ์ƒ๋‹นํžˆ ๋Šฅ์ˆ™ํ•˜๋ฉฐ ์ปดํ“จํ„ฐ ๊ณตํ•™ ํ•™์‚ฌ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฌธ์„œ๋ฅผ ์ฝ๊ธฐ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ Kubernetes์™€ ๊ด€๋ จ๋œ Udacity ๊ณผ์ •์„ ์ˆ˜๊ฐ•ํ–ˆ์Šต๋‹ˆ๋‹ค.

@grpndrs ์šฐ๋ฆฌ๋Š” ์ฝ”๋“œ์— ๋“ค์–ด๊ฐ€๊ธฐ์— ์ข‹์€ ์ถœ๋ฐœ์ ์ธ ๋ ˆ์ด๋ธ”์ด ์ง€์ •๋œ ๋ฌธ์ œ ๋ชฉ๋ก์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/kubernetes/kubernetes/issues?q=is%3Aopen+is%3Aissue+label%3Afor-new -๊ธฐ๊ณ ์ž. ์—ฌ์œ ๋กญ๊ฒŒ ์ €์—๊ฒŒ ์—ฐ๋ฝํ•ด ์ฃผ์‹œ๋ฉด ๊ทธ ์ค‘ ๋ช‡ ๊ฐ€์ง€๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

@enisoc

Multiple Resources, single version, different add times ์—ฌ์ „ํžˆ ๋ฌธ์ œ์ž…๋‹ˆ๊นŒ? ๋ฌธ์ œ ์—†์ด ์—ฌ๋Ÿฌ TPR์„ ๋งŒ๋“ค๊ณ  ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Outstanding Capabilities ์˜ ํ™•์ธ๋ž€์— ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ธฐ๋ฉด ์ฐธ์กฐํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๊นŒ? @deads2k ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

1. - [ ] ...
2. - [ ] ...

์ด๊ฒƒ์˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜๋Š”์ง€ ์•„๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ €๋Š” TPR์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉฐ ์ด ๊ธฐ๋Šฅ์€ ๊ฐ’์„ ๋งค๊ธธ ์ˆ˜ ์—†์œผ๋ฉฐ ๋งŽ์€ ์‚ฌ์šฉ์ž ์ง€์ • ์ฝ”๋“œ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์— ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์ด ๋ฌธ์ œ๋ฅผ ๊ตฌ๋…ํ•˜๋Š” ์‚ฌ๋žŒ์ด ์ƒํƒœ๋ฅผ ์•Œ๊ณ  ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜๋Š”์ง€ ์•„๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด 1.7์— ์ผ์–ด๋‚  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ˜„์žฌ https://github.com/kubernetes/community/pull/524 ์—์„œ ๋ณด๋‹ค ์•ˆ์ •์ ์ธ ์„ฑ์žฅ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ๊ตฌ์กฐ์  ์„ฑ์žฅํ†ต์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด 1.7์— ์ผ์–ด๋‚  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ˜„์žฌ kubernetes/community#524์—์„œ ๋ณด๋‹ค ์•ˆ์ •์ ์ธ ์„ฑ์žฅ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ๊ตฌ์กฐ์  ์„ฑ์žฅ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

1.7 ๊ธฐ๊ฐ„ ๋™์•ˆ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/thirdpartyresources.md ๋กœ ์ง„ํ–‰ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์ง„ํ–‰ํ•˜๋ฉด์„œ ์—ฌ๊ธฐ์™€ sig-apimachinery ํ˜ธ์ถœ์—์„œ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@deads2k tpr ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ๋Œ€ํ•ด ์•„๋ฌด ๊ฒƒ๋„ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ ํƒ€์— ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์œผ์„ธ์š”?

@frankgreco ์ œ์•ˆ์€ TPR์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด์ „ํ•œ ๊ธฐ๋ฐ˜์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์€ ๋‚˜์ค‘์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค.

์ƒˆ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜๊ณ  1.7์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์ž‘์—… ๋ฒ”์œ„๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ์ด ์Šค๋ ˆ๋“œ์˜ ์ƒ์œ„ ์ฃผ์„์„ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณด์‹œ๊ณ  ์ˆ˜์ •/๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@deads2k @enisoc ์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ์— TPR์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ TPR ๊ฒ€์ฆ์€ ์šฐ๋ฆฌ์˜ ๋‹ค๊ฐ€์˜ค๋Š” ํ”„๋กœ์ ํŠธ ์ค‘ ์ผ๋ถ€์—์„œ ๋งค์šฐ ์ค‘์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ์—ฌ์ž๋ฅผ ๋ฐ›์•„ ๋“ค์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@deads2k @enisoc ์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ์— TPR์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ TPR ๊ฒ€์ฆ์€ ์šฐ๋ฆฌ์˜ ๋‹ค๊ฐ€์˜ค๋Š” ํ”„๋กœ์ ํŠธ ์ค‘ ์ผ๋ถ€์—์„œ ๋งค์šฐ ์ค‘์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ์—ฌ์ž๋ฅผ ๋ฐ›์•„ ๋“ค์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ „์ ์œผ๋กœ. ์ด์™€ ๊ฐ™์€ ๊ฒฝ์šฐ pull ์š”์ฒญ์„ ์‚ดํŽด๋ณด๊ธฐ ์ „์— ๋””์ž์ธ ์ œ์•ˆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ€๋Šฅํ•œ ๋‹ค์–‘ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ณ ๋ คํ•  ๋•Œ ์ƒ์œ„ 3๊ฐœ ์ •๋„์˜ ์•„์ด๋””์–ด๋ฅผ ๋‚˜์—ดํ•˜๊ณ  ์„ ํƒํ•œ ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ์ข‹์€ ์ด์œ ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ธก์ด๋ฏ€๋กœ ์„ฑ๋Šฅ ๋ฐ ๋ณด์•ˆ ๊ณ ๋ ค ์‚ฌํ•ญ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๊ฒƒ์€ ๊ด‘๋ฒ”์œ„ํ•œ ๊ธฐ๋Šฅ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋“œ๋ผ์ด๋ธŒ ๋ฐ”์ด ๊ธฐ์—ฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/thirdpartyresources.md ๋กœ์˜ ์ „ํ™˜์„ ์œ„ํ•œ ์ ๊ทน์ ์ธ ๊ธฐ์—ฌ(๋ฆฌ๋ทฐ, ํ…Œ์ŠคํŠธ, ์ฝ”๋“œ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜)๊ฐ€ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ด€์‹ฌ์ด ์žˆ๊ณ  ์ด์•ผ๊ธฐํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‚˜๋Š” deads2k on slack์ž…๋‹ˆ๋‹ค.

@deads2k ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๊ฒƒ์€ ์™„์ „ํžˆ ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค. TPR ๊ฒ€์ฆ์„ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ์„ค๊ณ„ ์ œ์•ˆ์„ ์ œ์‹œํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‚˜๋„ ์Šฌํ”Œ๊ฑฐ์•ผ.

@xiao-zhou ๋ฐ”๋กœ ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ Google Summer of Code ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜๋ฝํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค(๋ฐฉ๊ธˆ ์–ด์ œ ๋ฐœํ‘œ๋จ). ์ด์— ๋Œ€ํ•ด ํ˜‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด Slack์—์„œ ์ฑ„ํŒ…ํ•ฉ์‹œ๋‹ค. ๋‹น์‹ ์ด ์ด๊ฒƒ์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋งค์šฐ ๋ฉ‹์ง„ ์ผ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ์•ž์œผ๋กœ ๋ฐ€์–ด๋ถ™์ผ ์ƒ๋‹นํ•œ ํž˜์ด ์žˆ์Šต๋‹ˆ๋‹ค!

@xiao-zhou @sttts @deads2k TPR ๊ฒ€์ฆ(์ด์ƒ์ ์œผ๋กœ๋Š” ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •)์— ๋Œ€ํ•œ ์ œ์•ˆ์„ ๋ฐ›์ž๋งˆ์ž ์ œ์•ˆ ๊ฒ€ํ† ์—์„œ ์ €๋ฅผ ํƒœ๊ทธํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”

@sdminonne sig-apimachinery์— ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น Google ๊ทธ๋ฃน์— ๊ฐ€์ž…ํ•˜๋ฉด ์•Œ๋ฆผ์„ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

@deads2k TPR ์— ObservedGeneration์„ ์ถ”๊ฐ€ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

https://github.com/kubernetes/kubernetes/issues/7328#issuecomment -287683598

@deads2k TPR ์— ObservedGeneration์„ ์ถ”๊ฐ€ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ณ„ํšํ•˜์ง€ ์•Š์•˜๋‹ค. ๊ด€์‹ฌ์ด ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹จ์ˆœํžˆ ์‚ฌ์–‘ ๋ฐ ์ƒํƒœ ์ด๋ฆ„์„ ๋น„๊ตํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?

์‚ฌ์–‘ ๋ฐ ์ƒํƒœ ์ด๋ฆ„์„ ๋น„๊ตํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋ฌด์Šจ ๋ง์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ •์ •ํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ‹€๋ ธ์ง€๋งŒ ObservedGeneration์— ๋‘ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. 1) API ์„œ๋ฒ„๋Š” TPR ์‚ฌ์–‘์— ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์„ ๋•Œ๋งˆ๋‹ค metadata.generation ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๊ณ  2) TPR์€ status.observedGeneration ๊ธฐ๋ฐ˜์œผ๋กœ metadata.Generation ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” 1) ๋‚ด๊ฐ€ ๋‹น์‹ ์—๊ฒŒ ๋ฌป๋Š” ๊ฒƒ์ด๊ณ  2) TPR ์ž‘์„ฑ์ž๊ฐ€ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ฌด์Šจ ๋ง์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ‹€๋ ธ์ง€๋งŒ ObservedGeneration์— ๋‘ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒฝ์šฐ ์ˆ˜์ •ํ•˜์‹ญ์‹œ์˜ค. 1) API ์„œ๋ฒ„๋Š” TPR ์‚ฌ์–‘์— ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์„ ๋•Œ๋งˆ๋‹ค metadata.generation์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๊ณ  2) TPR ์—…๋ฐ์ดํŠธ ์ƒํƒœ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ .observedGeneration์€ metadata.Generation์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” 1) ๋‚ด๊ฐ€ ๋‹น์‹ ์—๊ฒŒ ๋ฌป๋Š” ๊ฒƒ์ด๊ณ  2) TPR ์ž‘์„ฑ์ž๊ฐ€ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

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

์œ„์— ๋งํฌ๋œ ๋‚ด ์˜๊ฒฌ์—์„œ ๋‚˜๋Š” TPR ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ TPR ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ Generation ์ง€์›์„ ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Kind: TPR; name: foo.example.com ๋ฐ ํ•ด๋‹น TPR Kind: Foo; name: foo123 ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ foo123 ๋Œ€ํ•œ Generation/ObservedGeneration์— ๊ด€์‹ฌ์ด ์žˆ์œผ๋ฏ€๋กœ Foo ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ Foo ์†Œ๋น„์ž๊ฐ€ ์ฒ˜๋ฆฌํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. foo123 ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ. ๋ง์ด ๋˜๋‚˜์š”? k8 ์„œ๋ฒ„ ์ธก์—์„œ ์ ์ ˆํ•œ ์ง€์› ์—†์ด ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๋‹ฌ์„ฑ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ˆ, generation/observedGeneration์€ ์ง„ํ™”ํ•œ ์‹ค์ œ TPR ๋ฆฌ์†Œ์Šค๊ฐ€ ์•„๋‹ˆ๋ผ TPR์˜ ์‚ฌ์šฉ์ž ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•ด ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๊ทœ์น™์€ ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ ์‚ฌ์–‘ ์—…๋ฐ์ดํŠธ ์‹œ์—๋งŒ ๊ฐœ์ฒด ์ƒ์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๊นŒ?

์˜ณ์€.

๊ทธ๋ ‡๋‹ค๋ฉด ๋จผ์ € TPR ์ธ์Šคํ„ด์Šค์—์„œ ์‚ฌ์–‘/์ƒํƒœ ๋ถ„ํ• ์„ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, ๊ธฐ์กด ๋ฌธ์ œ์˜ ์ผ๋ถ€๋กœ ํ•ด๋‹น ๋ถ„ํ• ์„ ์ฐพ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ–ˆ์ง€๋งŒ ๊ฑฐ๊ธฐ์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ๋” ๋งŽ์€ ์ž‘์—…์ด ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@kargakis 1.7์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฌ์ง€๋งŒ ์ด๋Ÿฌํ•œ ํ•ญ๋ชฉ์„ ์–ธ๊ธ‰ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์ƒ์œ„ ์ฃผ์„์„ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

/cc

CustomResources ๊ฒ€์ฆ์„ ์œ„ํ•œ ๋””์ž์ธ ์ œ์•ˆ: https://github.com/kubernetes/community/pull/708 :smile:

@deads2k @enisoc @lavalamp
์‚ฌ์šฉ์ž๊ฐ€ CRD ๊ฐœ์ฒด์— ๋Œ€ํ•ด k8s ์ปจํŠธ๋กค๋Ÿฌ AND(OR) CURD ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ๋Š” networks.stable.example.com CRD๋ฅผ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๊ฐœ์ฒด net1์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์„œ๋ธŒ๋„ท ๋ฒ”์œ„๊ฐ€ ๊ฒน์น˜๋Š” ๋„คํŠธ์›Œํฌ CRD ๊ฐœ์ฒด๊ฐ€ ์ด๋ฏธ ์žˆ๋Š” ๊ฒฝ์šฐ ์ƒˆ ๋„คํŠธ์›Œํฌ CRD ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋‚˜๋Š” ๊ธฐ๊บผ์ด ๋””์ž์ธ ๋ฌธ์„œ์— ๋ช‡ ๊ฐ€์ง€ ์ƒ๊ฐ์„ ์กฐํ•ฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

1.7 ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ ๋ฐ ๋ฌธ์„œ์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด TPR์€ ์ด์ œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ 1.8์—์„œ ์ œ๊ฑฐํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” 1.7 ๊ธฐ๊ฐ„ ๋™์•ˆ CRD๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์งˆ๋ฌธ์ด๋‚˜ ์šฐ๋ ค ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ œ๊ฑฐ๋ฅผ ์œ„ํ•œ ์ถ”์  ๋ฌธ์ œ์— ๋Œ€ํ•ด ์˜๊ฒฌ์„ ๋งํ•˜์‹ญ์‹œ์˜ค.

1.8 ์—…๋ฐ์ดํŠธ/๊ณ„ํš:

  • CustomResources์— ๋Œ€ํ•œ JSON ์Šคํ‚ค๋งˆ ๊ธฐ๋ฐ˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ ๊ธฐ๋ณธ๊ฐ’ ์„ค์ • ์ง€์›( ์ œ์•ˆ )
  • CR์— ๋Œ€ํ•œ ํ•˜์œ„ ๋ฆฌ์†Œ์Šค(์˜ˆ: ์ƒํƒœ ๋ฐ ๊ทœ๋ชจ) ์ถ”๊ฐ€(~๊ณง ๋‚˜์˜ฌ ์ œ์•ˆ ~

@nikhita ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. 1.8 ๊ณ„ํš์„ ๋ฐ˜์˜ํ•˜๋„๋ก ์ƒ๋‹จ ๋Œ“๊ธ€์„ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒ€์ƒ‰์€ CR์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ REST ๋งคํผ๋Š” ์ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค - https://github.com/kubernetes/kubernetes/issues/49948

CustomResources์šฉ SubResources ์ œ์•ˆ: https://github.com/kubernetes/community/pull/913 :tada:

๋‚ด ์ž˜๋ชป๋œ ๊ฒŒ์‹œ๋ฌผ์„ ์šฉ์„œํ•ด ์ฃผ์„ธ์š”. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” kubernetes๊ฐ€ ๋‹จ์ง€ ์ œ3์ž ์ปจํ…Œ์ด๋„ˆ ์ž์›์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ ์ด์ƒ์œผ๋กœ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํฌํ•จํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋‹ค๋ฅธ kubernetes ํŽ˜์ด์ง€์—์„œ ์ด ํŽ˜์ด์ง€์— ์™”์Šต๋‹ˆ๋‹ค.

Redhat์€ OpenShift kubernetes๋ฅผ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ํ”Œ๋žซํผ์œผ๋กœ ๋งˆ์ผ€ํŒ…ํ•˜์ง€๋งŒ ์•„์ง ์ด ๊ธฐ๋Šฅ์„ ์ฐพ์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚ด ์ž์‹ ์˜ ๋งค์šฐ ๊ฐ€๋ฒผ์šด ๋…๋ฆฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์ œํ’ˆ๊ตฐ์„ ํ˜ธ์ŠคํŒ…ํ•  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๊ฒƒ์ด ์กด์žฌํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ์šฐ๋ฆฌ๋Š” springboot์—์„œ ๋šฑ๋šฑํ•œ ์ž๋ฐ” ์ „์Ÿ ์•ฑ์„ ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์–ด๋ ต๊ณ  ๋ฐฐํฌํ•˜๊ธฐ ์–ด๋ ค์šด kuberenetes ๊ด€๋ฆฌ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์žˆ๋Š” tomcat ์„œ๋ฒ„์— ๋ฐฐํฌํ•˜๋„๋ก ๊ฐ•๋“ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž 1๋ช…์ด ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์šด์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ํ”Œ๋žซํผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด ์งˆ๋ฌธ์ด ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@hectoralicea ์ด ์ €์žฅ์†Œ๋Š” Kubernetes ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์—…ํ•œ ๊ธฐ๋Šฅ์„ ๊ณ„ํšํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ์งˆ๋ฌธ์€ Kubernetes ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์— ๊ฒŒ์‹œํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋“ค์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ๋†’์€ ์ˆ˜์ค€์˜ ํ† ๋ก ์— ํ›จ์”ฌ ๋” ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. :)

https://groups.google.com/forum/#!forum/kubernetes -users, http://slack.k8s.io/ ๋˜๋Š” ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ๋ฅผ ์ฐธ์กฐ ํ•˜์„ธ์š” .

@colemickens @deads2k @nikhita @enisoc 1.9์— ๋Œ€ํ•œ ์„น์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

@sttts v1.9์—์„œ ๊ฐœ์„ ๋œ ๋ฒ ํƒ€ ๋ฒ„์ „ ๋งž์ฃ ?

@luxas ๋ฒ„๊ทธ์ˆ˜์ • ๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์— ๋‚˜์—ดํ•  ํ•„์š”๋Š” ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@sttts ์ €๋Š” CRD ๊ฒ€์ฆ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค... ์ด ๊ธฐ๋Šฅ ๋ฌธ์ œ์—์„œ ๋‹ค๋ฃจ์–ด์ง€๊ณ  v1.9์—์„œ ๋ฒ ํƒ€๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๊นŒ?

@luxas ์ดˆ๊ธฐ ๊ฒŒ์‹œ๋ฌผ์˜

Scope of work planned for v1.9

    CRD validation to beta kubernetes/kubernetes#22768 kubernetes/kubernetes#53829
    CRD sub-resources as alpha kubernetes/community#913

์˜ค, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @kargakis , ๊ฑฐ๊ธฐ๋ฅผ ๋ณด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค :facepalm: :smile:

@deads2k , @enisoc 1.9์—์„œ "์•ˆ์ •์ ์ธ" ๊ณ„ํš์ด ์—†์Šต๋‹ˆ๊นŒ?

@idvoretskyi ๋งž์Šต๋‹ˆ๋‹ค.

@deads2k :wave: ๋ฌธ์„œ PR์„ ์—ด๊ณ  ์ถ”์  ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

@deads2k ๋ฌธ์„œ PR์„ ์—ด๊ณ  ์ถ”์  ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค. ๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

@zacharysarah ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ ๋งํฌ๋ฅผ ์ž˜๋ชป ๋ฐฐ์น˜ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. CRD ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฌธ์„œ๋Š” ์—ฌ๊ธฐ https://github.com/kubernetes/website/pull/6066

์ฐธ๊ณ ๋กœ CRD ๋ฒ„์ „ ๋ฌธ์ œ๋Š” https://github.com/kubernetes/features/issues/544์— ์žˆ์Šต๋‹ˆ๋‹ค.

GA๋กœ ์ด๋™ํ•˜๋Š” CRD์˜ ์ž‘์—… ๋ชฉ๋ก: https://github.com/kubernetes/kubernetes/issues/58682

@nikhita ์ „์ฒด CRD ๊ธฐ๋Šฅ์ด GA๋กœ ์ด๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?

์ „์ฒด CRD ๊ธฐ๋Šฅ์ด GA๋กœ ์ด๋™ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๊นŒ?

API๋Š” GA, ์ฆ‰ v1์œผ๋กœ ์ด๋™ํ•˜๋ฉฐ ์ผ๋ถ€ ๋ฒ ํƒ€/์•ŒํŒŒ ํ•˜์œ„ ๊ธฐ๋Šฅ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์–ธ์ œ ์ผ์–ด๋‚ ์ง€, ์ฆ‰ 1.10์ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋Š” ์ข…๋ฃŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@sttts @nikhita ๊ธฐ๋Šฅ ๋กœ๋“œ๋งต์„ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ธฐ๋Šฅ ๋กœ๋“œ๋งต์„ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

1.10์˜ ๊ฒฝ์šฐ:

  • https://github.com/kubernetes/kubernetes/issues/58682์— ๋‚˜์—ด๋œ ์‚ฌ์šฉ์ž ์ง€์ • ๋ฆฌ์†Œ์Šค ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •์— ๋Œ€ํ•œ ํ•˜์œ„ ๋ฆฌ์†Œ์Šค(์ตœ์†Œํ•œ ์ค„์ด ๊ทธ์–ด์ง„ ๊ฒƒ)

๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•ด ๊ณ„ํš๋œ _์ •ํ™•ํ•œ_ ๊ฒฐ๊ณผ๋ฌผ ์„ธํŠธ๋Š” ์—†์ง€๋งŒ ์—ฐ๋ง๊นŒ์ง€ GA๋กœ ์ „ํ™˜ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค(https://groups.google.com/forum/#!topic/kubernetes-sig-api-machinery/ 07JKqCzQKsc).

https://github.com/kubernetes/kubernetes/issues/58682์— ํ‘œ์‹œ๋˜์ง€ ์•Š์€ ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด GA๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

CRD API๊ฐ€ GA๋กœ ์ „ํ™˜๋˜๋ฉด ์—ฌ๊ธฐ์— ๊ธฐ๋Šฅ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: CustomResourceValidation https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiextensions-apiserver/ pkg/features/kube_features.go#L35) ์•ŒํŒŒ/๋ฒ ํƒ€ ๋ฒ„์ „์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@sttts @nikhita @ deads2k
1.11์—์„œ ์ด์— ๋Œ€ํ•œ ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๋ ‡๋‹ค๋ฉด ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์ตœ์‹  ์ƒํƒœ์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

  • ์„ค๋ช…
  • ์ค‘์š”ํ•œ ๋‹จ๊ณ„
  • ์–‘์ˆ˜์ธ
  • ๋ผ๋ฒจ:

    • stage/{alpha,beta,stable}

    • sig/*

    • kind/feature

cc @idvoretskyi

1.11์—์„œ ์ด์— ๋Œ€ํ•œ ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” PR ๋ณธ๋ฌธ์„ ํŽธ์ง‘ํ•  ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค(๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค!). ๊ทธ๋Ÿฌ๋‚˜ ๊ณ„ํš์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • CRD ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋˜ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: https://github.com/kubernetes/features/issues/544. ๋””์ž์ธ ์ œ์•ˆ: https://github.com/kubernetes/community/pull/2026.
  • ์‚ฌ์šฉ์ž ์ง€์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ •๋ฆฌ ๋ฐ ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • CRD ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์Šคํ‚ค๋งˆ์—์„œ ๋งต์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. https://github.com/kubernetes/kubernetes/issues/59485
  • ์‚ฌ์šฉ์ž ์ง€์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ํ• ๋‹น๋Ÿ‰ ์ง€์› ๊ตฌํ˜„(์ด๊ฒƒ๋„ ๋ฒ„๊ทธ ์ˆ˜์ •์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Œ) https://github.com/kubernetes/kubernetes/issues/53777

๊ทธ๋ ‡๋‹ค๋ฉด ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์ตœ์‹  ์ƒํƒœ์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์„ค๋ช…

"CRD์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ, ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •, ํ•˜์œ„ ๋ฆฌ์†Œ์Šค ๋ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์ถ”๊ฐ€"๋ฅผ ํฌํ•จํ•˜๋„๋ก ํ•œ ์ค„ ์„ค๋ช…์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ค๋ช…์— ์–ธ๊ธ‰๋œ ์„ค๊ณ„ ์ œ์•ˆ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ ์ด๊ฒƒ์„ PR ๋ณธ๋ฌธ์—๋„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ผ๋ฒจ:

/์ข…๋ฅ˜ ๊ธฐ๋Šฅ

/ ์ฐธ์กฐ @mbohlool

๋ˆ„๊ตฐ๊ฐ€ ์ด๊ฒƒ์„ PR ๋ณธ๋ฌธ์—๋„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์™„๋ฃŒ

@nikhita @sttts @mbohlool -- ๋ช…ํ™•ํžˆ

@nikhita @sttts @mbohlool -- ์ด๊ฒƒ์— ๋‹ค์‹œ ํ•‘...
1.11 ๋ฒ ํƒ€๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๊ธฐ๋Šฅ ์ •์ง€๊ฐ€ ์˜ค๋Š˜์ธ์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@justaugustus CRD๋Š” ์ด๋ฏธ ๋ฒ ํƒ€ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. GA๋Š” 1.11์—์„œ ๊ณ„ํš๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜์—ด๋œ ๋ชจ๋“  ๊ธฐ๋Šฅ/ํ™•์žฅ(๊ฐ€์ง€์น˜๊ธฐ, ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •, ๋ฒ„์ „ ๊ด€๋ฆฌ)์€ ์•„๋งˆ๋„ ์•ŒํŒŒ๋กœ ์‹œ์ž‘๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@sttts ํ , ์ด ๊ฒฝ์šฐ ํ•ด๋‹น ๊ธฐ๋Šฅ/ํ™•์žฅ ๋ฐ ํ•ด๋‹น ๋‹จ๊ณ„๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด ๋ณ„๋„์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๊ธฐ๋กํ•˜๋ ค๋ฉด - @nikhita ๊ฐ€ ํ•˜์œ„ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/kubernetes/features/issues/571

@sttts @justaugustus

๊ธฐ๋ณธ๊ฐ’ ์„ค์ • ๋ฐ ์ •๋ฆฌ ํ•˜์œ„ ๊ธฐ๋Šฅ ๋ฌธ์ œ: https://github.com/kubernetes/features/issues/575

@justaugustus @idvoretskyi 1.12 ์ถ”์  ๋ชฉ์ : ์ถ”๊ฐ€ ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๊ฒƒ์€ 1.12์šฉ ๋ฒ ํƒ€ ๋ฒ„์ „์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค(๋”ฐ๋ผ์„œ ๊ธฐ๋Šฅ ๊ด€์ ์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์—†์Œ).

์•ŒํŒŒ๋กœ ๊ณ„ํš๋œ ์ƒˆ๋กœ์šด ํ•˜์œ„ ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ ๋ณ„๋„์˜ ๋ฌธ์ œ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค: https://github.com/kubernetes/features/issues/575.

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

  • ๋ฌธ์„œ(์—ด๋ฆฐ ์ž๋ฆฌ ํ‘œ์‹œ์ž PR): 11/8
  • ์ฝ”๋“œ ์Šฌ๋Ÿฌ์‹œ: 11/9
  • ์ฝ”๋“œ ๋™๊ฒฐ ์‹œ์ž‘: 11/15
  • ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ๊ฒ€ํ† : 11/27

๋‚˜์ค‘์— ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์›๋ณธ ๊ฒŒ์‹œ๋ฌผ์˜ ์ด์ •ํ‘œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  1.13 ๊ฐœ์„  ์‚ฌํ•ญ ์ถ”์  ์‹œํŠธ์— ํฌํ•จํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ @kacole2๋กœ ํ•‘ํ•˜์‹ญ์‹œ์˜ค.

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

์ด ๊ฐœ์„  ์‚ฌํ•ญ์€ ์ด์ „์— ์ถ”์ ๋˜์—ˆ์œผ๋ฏ€๋กœ Kubernetes 1.13์˜ ์กธ์—… ๋‹จ๊ณ„์— ๋Œ€ํ•œ ๊ณ„ํš์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์•„๋‹ˆ์š”, 1.13์—์„œ ์ด๊ฒƒ์„ ์กธ์—…ํ•  ๊ณ„ํš์ด ์—†์Šต๋‹ˆ๋‹ค. CRD API๋Š” ๋ฒ ํƒ€ ๋ฒ„์ „์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

90์ผ ๋™์•ˆ ํ™œ๋™์ด ์—†์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ถ€์‹คํ•ด์ง‘๋‹ˆ๋‹ค.
/remove-lifecycle stale ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ์ตœ์‹ ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
๋ถ€์‹ค ๋ฌธ์ œ๋Š” ์ถ”๊ฐ€๋กœ 30์ผ ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ฉ๊ณ  ๊ฒฐ๊ตญ ๋‹ซํž™๋‹ˆ๋‹ค.

์ง€๊ธˆ ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•˜๋‹ค๋ฉด /close ๋กœ ๋‹ซ์œผ์‹ญ์‹œ์˜ค.

sig-testing, kubernetes/test-infra ๋ฐ/๋˜๋Š” fejta์— ํ”ผ๋“œ๋ฐฑ์„ ๋ณด๋‚ด์‹ญ์‹œ์˜ค.
/์ˆ˜๋ช… ์ฃผ๊ธฐ ๋ถ€์‹ค

/remove-lifecycle ๋ถ€์‹ค

@deads2k ์•ˆ๋…•ํ•˜์„ธ์š” - ์ €๋Š” 1.14์— ๋Œ€ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์˜ ๋ฆฌ๋”์ด๋ฉฐ 1.14 ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•ด ์–ด๋–ค ์ž‘์—…(์žˆ๋Š” ๊ฒฝ์šฐ)์ด ๊ณ„ํš๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์„  ์‚ฌํ•ญ ๋™๊ฒฐ์€ 1์›” 29์ผ์ด๋ฉฐ ๋ชจ๋“  ๊ฐœ์„  ์‚ฌํ•ญ์—๋Š” KEP๊ฐ€ ์žˆ์–ด์•ผ ํ•จ์„ ์ƒ๊ธฐ์‹œํ‚ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@claurence CRD API๋Š” 1.14์—์„œ๋„ ๋ฒ ํƒ€ ๋ฒ„์ „์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

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

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

์ด๊ฒƒ์€ ๋ฒ ํƒ€ ๋‹จ๊ณ„๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ, ๋ณ€ํ™˜ ๋ฐ OpenAPI ๊ฒŒ์‹œ ์ž‘์—…์ด 1.15์—์„œ ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

1.15์— ๋Œ€ํ•œ ๊ด€๋ จ KEP์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์žˆ๋Š” ์—…๋ฐ์ดํŠธ๋œ ์„ค๋ช…

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

์ด ๊ฐœ์„  ์‚ฌํ•ญ(๋˜๋Š” v1.15์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์ž‘์—…)์— ์ƒˆ๋กœ์šด ๋ฌธ์„œ(๋˜๋Š” ์ˆ˜์ • ์‚ฌํ•ญ)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

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

@deads2k @jpbetz @sttts @liggitt

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

1.15์šฉ ๋ฌธ์„œ PR: https://github.com/kubernetes/website/pull/14583

@deads2k ๋ฌธ์ œ ์„ค๋ช…์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

/๋งˆ์ผ์Šคํ†ค v1.16
/์Šคํ…Œ์ด์ง€ ์•ˆ์ •

์•ˆ๋…•ํ•˜์„ธ์š”, @liggitt @jpbetz @sttts ์ €๋Š” v1.16 ๋ฌธ์„œ ๋ฆด๋ฆฌ์Šค ๋ฆฌ๋”์ž…๋‹ˆ๋‹ค.

์ด ๊ฐœ์„  ์‚ฌํ•ญ(๋˜๋Š” v1.16์— ๋Œ€ํ•ด ๊ณ„ํš๋œ ์ž‘์—…)์— ์ƒˆ๋กœ์šด ๋ฌธ์„œ(๋˜๋Š” ์ˆ˜์ • ์‚ฌํ•ญ)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

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

@simonswine ์ž๋ฆฌ ํ‘œ์‹œ์ž PR https://github.com/kubernetes/website/pull/15982

@liggitt @jpbetz @sttts ๋ชฉ์š”์ผ์€ ์ฝ”๋“œ ๋™๊ฒฐ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด Stable๋กœ ์ „ํ™˜๋˜๋Š” ๊ฒƒ์„ ๋ฐฉํ•ดํ•˜๋Š” ๋ฏธํ•ด๊ฒฐ k/k PR์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ณ„ํš๋œ 1.15* ์ž‘์—…์— ๋Œ€ํ•œ ์›๋ณธ ๊ฒŒ์‹œ๋ฌผ์˜ ๋ชจ๋“  ๋‚ด์šฉ์ด ๋ณ‘ํ•ฉ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

์ €๋Š” ๋›ฐ์–ด๋‚œ PR์ด ๊ธฐ๋Šฅ ๊ฒŒ์ดํŠธ ๋ฒ„์ „ ๋ฒ”ํ”„(https://github.com/kubernetes/kubernetes/pull/81965)์™€ ์ด๋ฒˆ ์ฃผ์— ์ง„ํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋›ฐ์–ด๋‚œ ๋ฒ„๊ทธ ์ˆ˜์ •์ด๋ผ๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค: https://github.com/kubernetes /kubernetes/pull/81436 , https://github.com/kubernetes/kubernetes/issues/78707

https://github.com/kubernetes/website/pull/15982 ์—์„œ ๊ฒ€ํ† ํ•  ๋ฌธ์„œ ์ค€๋น„

v1.16.0์—์„œ ์•ˆ์ • ๋ฒ„์ „์œผ๋กœ ์ถœ์‹œ

https://github.com/orgs/kubernetes/projects/28 ์—์„œ ์ถ”์ ๋œ GA ์ดํ›„ ์ž‘์—…

/๋‹ซ๋‹ค

@liggitt : ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

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

v1.16.0์—์„œ ์•ˆ์ • ๋ฒ„์ „์œผ๋กœ ์ถœ์‹œ

https://github.com/orgs/kubernetes/projects/28 ์—์„œ ์ถ”์ ๋œ GA ์ดํ›„ ์ž‘์—…

/๋‹ซ๋‹ค

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

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