- toc {:toc}
Kubernetes Objects
-
Objects : Pods, ReplicationController, DeploymentController, Volumes, StatefulSetsโฆ
-
์ฟ ๋ฒ๋คํฐ์ค์ Objects๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ Objects๋ฅผ ํํํ ๊ฒ๊ณผ ์๋นํ ์ ์ฌํ๋ค.
- ํ ํด๋์ค๋ฅผ ํ ๊ฐ์ฒด๋ก ๋์ฐ๊ฑฐ๋ ReplicaSet Controller ๋ํ ํด๋์ค๋ก ์ง์ ํด ๊ฐ์ฒด๋ฅผ ์์ฑํด ์ฌ์ฉํ๋ ๊ฒ๊ณผ ์ ์ฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ํด๋์ค์ ํด๋นํ๋ ๊ฒ์ด kind ํน์ resource type์ด๋ผ ๋งํ๋ค. ์ด๋ฅผ ์คํ์ํจ ๊ฒ์ ๊ฐ์ฒด๋ผ๊ณ ํ๋ค.
-
์ฟ ๋ฒ๋คํฐ์ค๋ ์ฃผ๋ก RESTful ์ฉ์ด๋ฅผ ํตํด์ API ๊ฐ๋ ์ ํํ์ ์ฌ์ฉํ๋ค.
- ์ฟ ๋ฒ๋คํฐ์ค์๊ฒ RESTful API๋ฅผ ํตํด์ ์์ฒญํ๊ณ ์๋ต์ ๋ฐ๋๋ค.
-
๋ฆฌ์์ค ํ์ : URL์์ ์ฌ์ฉ๋๋ ์ด๋ฆ(pods, namespaces, services)
-
๋ฆฌ์์ค ํ์ ์ ํ๋์ ์ธ์คํด์ค โ ๋ฆฌ์์ค ํน์ ๊ฐ์ฒด
-
๋ชจ๋ ๋ฆฌ์์ค ํ์ ๋ค์ kind๋ผ ๋ถ๋ฅด๋ ๊ตฌ์ฒด์ ์ธ ํํ์ ๊ฐ๋๋ค.
-
๋ฆฌ์์ค ์ธ์คํด์ค๋ค์ ๋ชจ์์ collection์ด๋ผ ํ๋ค.
-
๋ช๋ช ๋ฆฌ์์ค ํ์๋ค์ ์ํด API๋ ๋ฆฌ์์ค ์๋ URI ๊ฒฝ๋ก๋ค๋ก ํํ๋๋ ํ๋ ํน์ ๋ ๋ง์ ํ์ ์์๋ค์ ํฌํจํ๋ค.
-
Object configuration
- Spec (e.g. yaml ํ์ผ ์ ๋ฌ)
- ๊ฐ์ฒด์ ๋ํ desired state๋ฅผ ๋ฌ์ฌํ๋ค.
- ๊ฐ์ฒด๊ฐ ๊ฐ๊ธฐ๋ฅผ ์ํ๋ ํน์ง์ ๋งํ๋ค.
- Status (e.g. get ๋ช
๋ น)
- ๊ฐ์ฒด์ actual state๋ฅผ ๋ฌ์ฌํ๋ค.
- ์ฟ ๋ฒ๋คํฐ์ค ์์คํ ์ ์ํด ๊ณต๊ธ๋๊ณ ์ ๋ฐ์ดํธ๋ ์ํ์ด๋ค.
- ์ฟ ๋ฒ๋คํฐ์ค ์ปจํธ๋กค ๊ณํ์ด ๋์ ์ผ๋ก ๊ฐ์ฒด์ actual state๊ฐ desired state์ ์ผ์นํ๋๋ก ๊ด๋ฆฌํ๋ค.
- Spec (e.g. yaml ํ์ผ ์ ๋ฌ)
REF: Resource in RESTful
- ๋ฆฌ์์ค๋ ํ์ ๊ณผ ๊ด๋ จ๋ ๋ฐ์ดํฐ, ๋ค๋ฅธ ๋ฆฌ์์ค๋ค๊ณผ์ ๊ด๊ณ, ์๋ํ๋ ์ผ๋ จ์ ๋ฐฉ๋ฒ์ ์ง๋ ๊ฐ์ฒด์ด๋ค.
- ์ด๊ฒ์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฒด ์ธ์คํด์ค์ ์ ์ฌํ๋ค.
- ํ์ง๋ง ๊ฐ์ฒด ์ธ์คํด์ค๋ ๋ง์ ๋ฐฉ์์ ๊ฐ์ง๋ง ๋ฆฌ์์ค์ ๋ํด ์ ์๋ ํ์ค ๋ฐฉ์์ ๋ช ์๋ค.
- ๊ฐ์ฒด ์ธ์คํด์ค๋ ๋ง์ ๋ฉ์๋๋ฅผ ๊ฐ์ง๋ง, ๊ทธ์ ๋ฐํด ๋ฆฌ์์ค๋ ๋ช ๊ฐ์ง ํ์ค ๋ฉ์๋๋ง ์ ์๋์ด ์๋ค.
Record of Intent
- ๊ฐ์ฒด๋ฅผ ์์ฑํจ์ผ๋ก์จ ์ฟ ๋ฒ๋คํฐ์ค ์์คํ ์ ํด๋ฌ์คํฐ์ desired state, ์๋๋ฅผ ๋ฐํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
- ๋ชจ๋ ๊ฐ์ฒด๋ค์ ๊ณตํต์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋๋ค.
- ํ๋์ ๊ฐ์ฒด๋ ํด๋ผ์ด์ธํธ๋ค์ด ๋ง๋ค๊ฑฐ๋ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ์ญ์ ํ๊ฑฐ๋ ๊ฐ์ ธ์ค๋ ํน์ ํ๋์ ์ํํ ์ ์๋๋ก ํ๋ ์ฌ๋ฌ ๋ฆฌ์์ค๋ค์ ๊ฐ์ง ์ ์๋ค.
Kubernetes API
- ์ฟ ๋ฒ๋คํฐ์ค์ ์๋ โ API๋ก ๊ตฌ์ฑํด์ ์ฌ์ฉํ๋ค.
- Client API : ํด๋ผ์ด์ธํธ๊ฐ ์ํ๋ ๊ฐ์ฒด์ ์์ฑ, ์์ , ์ญ์ ๋ฑ์ ๋์์ ํน์ ๋ช
๋ น์ ํตํด ๋์์ํฌ ์ ์๋๋ก ํ๋ค.
- ๋ด๊ฐ ์ํ๋ ๋์์ ์ํด ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์๋์ ์ํค๋ ์ฝ๋๋ฅผ ์ง์ ์ง๋ ๊ฒ์ด ์๋, ์ด๋ฏธ ์ง์ฌ์ง ์ฝ๋๋ฅผ API ํธ์ถ์ ํตํด์ ๋์์ํฌ ์ ์๋ค๋ ์ ์์ ํธ๋ฆฌํ๋ค.
- ๋ด๊ฐ ์์ฑํ ํ๋ก๊ทธ๋จ์์ ์ฟ ๋ฒ๋คํฐ์ค API๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
Images and Registries
Image
-
๋์ปค์ ์ด๋ฏธ์ง์ ๋์ผํ๋ค.
-
์ด๋ฏธ์ง๋ฅผ ์ฟ ๋ฒ๋คํฐ์ค ํ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ ์ง์คํธ๋ฆฌ์ pushํ ํ์๊ฐ ์๋ค.
-
์ปจํ ์ด๋์ ์ด๋ฏธ์ง ์์ฑ์ ๊ฐ์ธ ๋ ์ง์คํธ๋ฆฌ์ ํ๊ทธ๋ฅผ ํฌํจํ ๋์ปค ์ปค๋ฉ๋์ ๊ฐ์ ๋ฌธ๋ฒ์ ์ง์ํ๋ค.
-
imagePullPolicy
- IfNotPresent : ์ด๋ฏธ์ง๊ฐ Local, ํด๋น ๋ ธ๋์ ์์ง ์๋ค๋ฉด, ์ด๋ฏธ์ง๋ฅผ pullํ์ฌ ์คํํ๋ค.
- Always : ์ด๋ฏธ์ง๋ฅผ ํ์ด ์์๋๋ ๋์ ํญ์ pullํ๋ค. (์์๋ก ์ ๋ฐ์ดํธ๊ฐ ๋๊ณ ์ต์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ)
- Never : Remote์ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Local์ ์๋ ๊ฒ๋ง ์ฌ์ฉํ๋ค.(๋ณด์ ์์ ๊ฒฝ์ฐ)
-
์ latest ํ๊ทธ๋ฅผ ํผํด์ผ ํ๋๊ฐ?
- ์ด๋ฏธ์ง์ ์ด๋ค ๋ฒ์ ์ด ์คํ ์ค ์ธ์ง๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ต๋ค.
- ์ ์ ํ๊ฒ ๋กค๋ฐฑํ๊ธฐ ์ด๋ ต๋ค.