Information in this document may be out of date

This document has an older update date than the original, so the information it contains may be out of date. If you're able to read English, see the English version for the most up-to-date information: API Overview

API ๊ฐœ์š”

์ด ์„น์…˜์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API์— ๋Œ€ํ•œ ์ฐธ์กฐ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

REST API๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๊ทผ๋ณธ์ ์ธ ๊ตฌ์กฐ์ด๋‹ค. ๋ชจ๋“  ์กฐ์ž‘, ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ํ†ต์‹ ๊ณผ ์™ธ๋ถ€ ์‚ฌ์šฉ์ž์˜ ๋ช…๋ น์€ API ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” REST API ํ˜ธ์ถœ์ด๋‹ค. ๋”ฐ๋ผ์„œ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ”Œ๋žซํผ ์•ˆ์˜ ๋ชจ๋“  ๊ฒƒ์€ API ์˜ค๋ธŒ์ ํŠธ๋กœ ์ทจ๊ธ‰๋˜๊ณ , API์— ์ƒ์‘ํ•˜๋Š” ํ•ญ๋ชฉ์ด ์žˆ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API ์ฐธ์กฐ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฒ„์ „ v1.34์— ๋Œ€ํ•œ API๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ๋ฐฐ๊ฒฝ ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API์— ๋Œ€ํ•œ ์ ‘๊ทผ ์ œ์–ด๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API ์„œ๋ฒ„์— ์ธ์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์š”์ฒญ์ด ์Šน์ธ๋˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ๋‹ค.

API ๋ฒ„์ „ ๊ทœ์น™

JSON๊ณผ Protobuf ์ง๋ ฌํ™” ์Šคํ‚ค๋งˆ ๋ชจ๋‘ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด์„œ ๋™์ผํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๋”ฐ๋ฅธ๋‹ค. ์ดํ›„ ์„ค๋ช…์—์„œ๋Š” ์ด ํ˜•์‹ ๋ชจ๋‘๋ฅผ ๋‹ค๋ฃฌ๋‹ค.

API ๋ฒ„์ „ ๊ทœ์น™๊ณผ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „ ๊ทœ์น™์€ ๊ฐ„์ ‘์ ์œผ๋กœ ์—ฐ๊ด€๋œ๋‹ค. API์™€ ๋ฆด๋ฆฌ์Šค ๋ฒ„์ „ ๋ถ€์—ฌ์— ๊ด€ํ•œ ์ œ์•ˆ์—๋Š” API ๋ฒ„์ „ ๊ทœ์น™๊ณผ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „ ๊ทœ์น™ ๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ ๊ธฐ์ˆ ๋˜์–ด ์žˆ๋‹ค.

API ๋ฒ„์ „์˜ ์ฐจ์ด๋Š” ์ˆ˜์ค€์˜ ์•ˆ์ •์„ฑ๊ณผ ์ง€์›์˜ ์ฐจ์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. API ๋ณ€๊ฒฝ ๋ฌธ์„œ์—์„œ ๊ฐ ์ˆ˜์ค€์˜ ๊ธฐ์ค€์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

์•„๋ž˜๋Š” ๊ฐ ์ˆ˜์ค€์˜ ๊ธฐ์ค€์— ๋Œ€ํ•œ ์š”์•ฝ์ด๋‹ค.

  • ์•ŒํŒŒ(Alpha):

    • ๋ฒ„์ „ ์ด๋ฆ„์— alpha๊ฐ€ ํฌํ•จ๋œ๋‹ค(์˜ˆ: v1alpha1).
    • ๋นŒํŠธ์ธ ์•ŒํŒŒ API ๋ฒ„์ „์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์œผ๋ฉฐ, ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” kube-apiserver ์„ค์ •์— ๋ฐ˜๋“œ์‹œ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
    • ๋ฒ„๊ทธ๊ฐ€ ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ฒ„๊ทธ์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ์•ŒํŒŒ API์— ๋Œ€ํ•œ ๊ธฐ์ˆ  ์ง€์›์ด ์–ธ์ œ๋“  ๊ณต์ง€ ์—†์ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ๋‹ค์Œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ฆด๋ฆฌ์Šคํ•  ๋•Œ ๊ณต์ง€ ์—†์ด API์˜ ํ˜ธํ™˜์„ฑ์ด ๊นจ์ง€๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์œ„ํ—˜์ด ๋†’๊ณ  ์žฅ๊ธฐ๊ฐ„ ์ง€์›๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‹จ๊ธฐ๊ฐ„ ํ…Œ์ŠคํŠธ ์šฉ๋„์˜ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ๋ฅผ ๊ถŒ์žฅํ•œ๋‹ค.
  • ๋ฒ ํƒ€(Beta):

    • ๋ฒ„์ „ ์ด๋ฆ„์— beta๊ฐ€ ํฌํ•จ๋œ๋‹ค(์˜ˆ: v2beta3).

    • ๋นŒํŠธ์ธ ๋ฒ ํƒ€ API ๋ฒ„์ „์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์œผ๋ฉฐ, ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” kube-apiserver ์„ค์ •์— ๋ฐ˜๋“œ์‹œ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค. (์˜ˆ์™ธ์‚ฌํ•ญ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค 1.22 ๋ฒ„์ „ ์ด์ „์˜ ๋ฒ ํƒ€ API๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋‹ค.)

    • ๋นŒํŠธ์ธ ๋ฒ ํƒ€ API ๋ฒ„์ „์ด ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š๊ธฐ๊นŒ์ง€๋Š” 9๋‹ฌ ๋˜๋Š” 3๋ฒˆ์˜ ๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค(๋‘˜ ์ค‘ ๋” ๊ธด ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ํ•จ)๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ง€์›๋˜์ง€ ์•Š์€ ์‹œ์ ์—์„œ ์ œ๊ฑฐ๋˜๊ธฐ๊นŒ์ง€๋Š” ๋‹ค์‹œ 9๋‹ฌ ๋˜๋Š” 3๋ฒˆ์˜ ๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค(๋‘˜ ์ค‘ ๋” ๊ธด ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ํ•จ)๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค.

    • ์ฝ”๋“œ๊ฐ€ ์ž˜ ํ…Œ์ŠคํŠธ ๋˜์—ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•ด๋„ ์•ˆ์ „ํ•˜๋‹ค.

    • ๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ์ด ๋ฐ”๋€” ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ์ „๋ฐ˜์ ์ธ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ธฐ์ˆ  ์ง€์›์ด ์ค‘๋‹จ๋˜์ง€ ์•Š๋Š”๋‹ค.

    • ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ์Šคํ‚ค๋งˆ๋‚˜ ๋ฌธ๋ฒ•์ด ๋‹ค์Œ ๋ฒ ํƒ€ ๋˜๋Š” ์•ˆ์ •ํ™” API ๋ฒ„์ „์—์„œ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๋€” ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ, ๋‹ค์Œ ๋ฒ„์ „์œผ๋กœ ์ด๊ด€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ด๋“œ๊ฐ€ ์ œ๊ณต๋œ๋‹ค. ๋‹ค์Œ ๋ฒ ํƒ€ ๋˜๋Š” ์•ˆ์ •ํ™” API ๋ฒ„์ „์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ API ์˜ค๋ธŒ์ ํŠธ์˜ ํŽธ์ง‘ ๋˜๋Š” ์žฌ์ƒ์„ฑ์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ๊ทธ๋ ‡๊ฒŒ ์‰ฌ์šด ์ผ๋งŒ์€ ์•„๋‹ ๊ฒƒ์ด๋‹ค. ์ด ๊ธฐ๋Šฅ์— ์˜์กดํ•˜๊ณ  ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹ค์šดํƒ€์ž„์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

    • ์ด ์†Œํ”„ํŠธ์›จ์–ด๋Š” ํ”„๋กœ๋•์…˜ ์šฉ๋„๋กœ ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ดํ›„ ์—ฌ๋Ÿฌ ๋ฒ„์ „์—์„œ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ๋ฒ ํƒ€ API ๋ฒ„์ „์ด ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ํ›„์† ๋ฒ ํƒ€ ๋˜๋Š” ์•ˆ์ •ํ™” API ๋ฒ„์ „์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฒ ํƒ€ API ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

  • ์•ˆ์ •ํ™”(Stable):

    • ๋ฒ„์ „ ์ด๋ฆ„์ด vX์ด๊ณ  X ๋Š” ์ •์ˆ˜๋‹ค.
    • ์•ˆ์ •ํ™”๋œ API ๋ฒ„์ „์€ ์ดํ›„์˜ ๋ชจ๋“  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฉ”์ด์ € ๋ฒ„์ „์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ˜„์žฌ๋กœ์จ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฉ”์ด์ € ๋ฒ„์ „์—์„œ ์•ˆ์ •ํ™”๋œ API๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋Š” ๊ณ„ํš์€ ์—†๋‹ค.

API ๊ทธ๋ฃน

API ๊ทธ๋ฃน์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API๋ฅผ ๋” ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด ์ค€๋‹ค. API ๊ทธ๋ฃน์€ REST ๊ฒฝ๋กœ์™€ ์ง๋ ฌํ™”๋œ ์˜ค๋ธŒ์ ํŠธ์˜ apiVersion ํ•„๋“œ์— ๋ช…์‹œ๋œ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ API ๊ทธ๋ฃน์ด ์žˆ๋‹ค.

  • ํ•ต์‹ฌ (๋˜๋Š” ๋ ˆ๊ฑฐ์‹œ ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š”) ๊ทธ๋ฃน์€ REST ๊ฒฝ๋กœ /api/v1์— ์žˆ๋‹ค. ํ•ต์‹ฌ ๊ทธ๋ฃน์€ apiVersion ํ•„๋“œ์˜ ์ผ๋ถ€๋กœ ๋ช…์‹œ๋˜์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, apiVersion: v1 ๊ณผ ๊ฐ™๋‹ค.
  • ์ด๋ฆ„์ด ์žˆ๋Š” ๊ทธ๋ฃน์€ REST ๊ฒฝ๋กœ /apis/$GROUP_NAME/$VERSION์— ์žˆ์œผ๋ฉฐ apiVersion: $GROUP_NAME/$VERSION์„ ์‚ฌ์šฉํ•œ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด, apiVersion: batch/v1). ์ง€์›๋˜๋Š” API ๊ทธ๋ฃน ์ „์ฒด์˜ ๋ชฉ๋ก์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API ์ฐธ์กฐ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

API ๊ทธ๋ฃน ํ™œ์„ฑํ™” ๋˜๋Š” ๋น„ํ™œ์„ฑํ™”

ํŠน์ • ๋ฆฌ์†Œ์Šค ๋ฐ API ๊ทธ๋ฃน์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋œ๋‹ค. API ์„œ๋ฒ„์—์„œ --runtime-config ๋ฅผ ์„ค์ •ํ•˜์—ฌ ํ™œ์„ฑํ™” ๋˜๋Š” ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. --runtime-config ํ”Œ๋ž˜๊ทธ๋Š” API ์„œ๋ฒ„์˜ ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ์„ ์„ค๋ช…ํ•˜๋Š” ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ <key>=<value> ์Œ์„ ํ—ˆ์šฉํ•œ๋‹ค. ๋งŒ์•ฝ =<value> ๋ถ€๋ถ„์„ ์ƒ๋žตํ•˜๋ฉด, =true ๊ฐ€ ๋ช…์‹œ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • batch/v1 ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด, --runtime-config=batch/v1=false ๋กœ ์„ค์ •
  • batch/v2alpha1 ์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด, --runtime-config=batch/v2alpha1 ์œผ๋กœ ์„ค์ •
  • ์˜ˆ๋ฅผ ๋“ค์–ด storage.k8s.io/v1beta1/csistoragecapacities์™€ ๊ฐ™์ด ํŠน์ • ๋ฒ„์ „์˜ API๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด, --runtime-config=storage.k8s.io/v1beta1/csistoragecapacities์™€ ๊ฐ™์ด ์„ค์ •

์ง€์†์„ฑ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” etcd์— ๊ธฐ๋กํ•˜์—ฌ API ๋ฆฌ์†Œ์Šค ์ธก๋ฉด์—์„œ ์ง๋ ฌํ™”๋œ ์ƒํƒœ๋ฅผ ์ €์žฅํ•œ๋‹ค.

๋‹ค์Œ ๋‚ด์šฉ

์ตœ์ข… ์ˆ˜์ • March 14, 2023 at 10:29 AM PST: [ko] Update outdated files in `dev-1.26-ko.1` (M8-M9,M127-M133) (20b88e92c0)