๐ YAML ์ด๋?
- ๋ฐ์ดํฐ ์ง๋ ฌํ ์ธ์ด
- ์ค์ ํ์ผ(๊ตฌ์ฑํ์ผ) ์์ฑ์ ์์ฃผ ์ฌ์ฉ
- ์ฝ๊ฒ ์ฝ๊ณ ์ดํดํ ์ ์๋๋ก ์ค๊ณ๋จ
๋ฐ์ดํฐ ์ง๋ ฌํ ๋?
- ๊ฐ์ฒด๋ฅผ ๋คํธ์ํฌ ํต์ ์ ์ฌ์ฉํ๊ธฐ ์ ํฉํ ํ์์ผ๋ก ๋ณํํ๋ ๊ฒ.
- ์ฝ๊ณ ์์ฑํ๊ธฐ ์ฌ์ด ํ
์คํธ ํ์๊ณผ ์ปดํจํฐ๊ฐ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ์ด์งํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๋ ๊ฒ
- ํ
์คํธ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ํ์
- CSV
- JSON
- XML
- YAML (๋ฐ์ดํฐ ์ง๋ ฌํ๊ฐ ๊ฐ๋ฅํ๊ธด ํ์ง๋ง, ์ฃผ๋ก ์ค์ ํ์ผ ์์ฑ์ ์ํด์ ๊ฐ๋ฐ๋จ)
๐ XML, JSON, YAML๋ก ๋ฐ์ดํฐ ํํํ๊ธฐ
1. XML๋ก ์ค์ ์ ๋ณด ํํํ๊ธฐ
- ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ ํํ
- key : ํ๊ทธ์ด๋ฆ / value : ํ๊ทธ์ ์ปจํ
์ธ (๊ฐ)
- ํ๊ทธ ์์ ํ๊ทธ๋ฅผ ํฌํจ์์ผ์ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ๋ํ๋
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<apiVersion>v1</apiVersion>
<kind>Pod</kind>
<metadata>
<name>hello-pod</name>
<labels>
<app>hello</app>
</labels>
</metadata>
<spec>
<containers>
<name>hello-container</name>
<image>sample/hello</image>
</containers>
</spec>
</root>
2. JSON์ผ๋ก ์ค์ ์ ๋ณด ํํํ๊ธฐ
- XML์ ๋นํด ๋จ์
- JSON์ ๊ฐ์ฒด ํํ๋ฒ๊ณผ ๋ฐฐ์ด ํํ๋ฒ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์
key-value ์์ ๋ฐ์ดํฐ๋ ๊ฐ์ฒด ํํ๋ฒ์ผ๋ก ์์ฑํ๊ณ ,
value, value, value ๊ฐ์ ๋ชฉ๋ก์ ๋ฐฐ์ด ํํ๋ฒ์ผ๋ก ๊ตฌ๋ถํด์ ์์ฑํ ์ ์์
- XML
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "hello-pod",
"labels": [
{"app": "hello"},
]
},
"spec": {
"containers": [
{
"name": "hello-container",
"image": "sample/hello"
}
]
}
}
3. YAML๋ก ์ค์ ์ ๋ณด ํํํ๊ธฐ
- XML์ด๋ JSON์ ๋นํด์ ๋ ๋จ์ํ๊ณ , ๊ฐ๋
์ฑ์ด ๋์
- 2์นธ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ์ด์ฉํด์ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ํํ
tab ์ฌ์ฉ ๋ถ๊ฐ
- "-"๋ฅผ ์ฌ์ฉํด์ ๋ฐฐ์ด์์ ๋ํ๋
- ์ฝ๋ก ๋ค์๋ ๋ฐ๋์ ๊ณต๋ฐฑ ํ๋๊ฐ ์์ด์ผ ํจ
apiVersion: v1
kind: Pod
metadata:
name: hello-pod
labels:
app: hello
spec:
containers:
- name: hello-container
image: sample/hello
๐ก ์ฐธ๊ณ
- resources๋ ์๋์ผ๋ก ์ธ์ํด์ webapp ๋ฐ์ resources ํด๋๋ฅผ ๋ง๋ค๋ฉด ๋ฐ๋ก ์ค์ ํ์ง ์์๋ ๋์ง๋ง,
resources ํด๋๋ฅผ ๋ง๋ค์ง ์์ ๊ฒฝ์ฐ ๋ฐ๋ก ์ค์ ์ ํด์ค์ผ ํจ