RC ๋ฐ Pod์์ Pod ์ ์๋ฅผ ์ง์ ํ ๋ ๋ค์ ์ต์ ์ ์ ์ํ ์ ์์ด์ผ ํฉ๋๋ค.
--log-driver= ์ปจํ
์ด๋์ฉ ๋ก๊น
๋๋ผ์ด๋ฒ
--log-opt=[] ๋ก๊ทธ ๋๋ผ์ด๋ฒ ์ต์
์ด๋ฌํ ์ต์ ์ ์ปจํ ์ด๋ ์์ค์์ ์ค์ ๊ฐ๋ฅํด์ผ ํ๋ฉฐ Docker 1.8๊ณผ ํจ๊ป ๋์ ๋์์ต๋๋ค.
docker client lib๋ ๋ ์ต์ ์ ๋ชจ๋ ์ง์ํ๊ณ ์ด๋ฌํ ์ต์ ์ ํฌ๋ ์ ์์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ด์ ๊ฐ๋ฅํฉ๋๋ค.
/ cc @ kubernetes / rh-cluster-infra
ํ , ์ฐ๋ฆฌ๋ ์๋ง๋ ์ด ํด๋ฌ์คํฐ ์ ์ฒด๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํ๊ณ ํน์ ํฌ๋ ์ ์๋ฅผ ์ฌ์ ์ํ ์ ์๊ธฐ๋ฅผ ์ํ ๊ฒ์ ๋๋ค.
cc @sosiouxme @smarterclayton @liggitt @jwhonce @jcantrill @bparees @jwforres
์ปจํ ์ด๋๋ณ๋ก(์ฌ์ฉ ์ฌ๋ก) ์ด๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ ์ ์์ต๋๊น? ์ฐ๋ฆฌ๋ ์ ํต์ ์ผ๋ก ๋ฐํ์ ์ ๋ฐ์ ๊ฑธ์ณ ๊น๋ํ๊ฒ ์ถ์ํ๋ ์ ์๋ ํ Docker ํน์ ์ต์ ์ ์ปจํ ์ด๋์ ์ง์ ๋ ธ์ถํ์ง ์์ต๋๋ค. ์ด๊ฒ์ ์ด๋ป๊ฒ ์ฌ์ฉํ๊ณ ์ถ์์ง ์๋ฉด ๊ทธ๊ฒ์ ์ ๋นํํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๋ชฉ๋ก์ด ํ์ฅ๋ ์ ์๋ค๊ณ ์๊ฐํ์ง๋ง ๋์ปค ๋ก๊ทธ๋ ์ฌ์ ํ json-file ๋ฐ journald ๋๋ผ์ด๋ฒ๋ง ์ง์ํฉ๋๋ค.
์๋ง๋ ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์ํ๋ ๊ฒ์ ๋ก๊น ๋๋ผ์ด๋ฒ ์ธ๋ถ ์ ๋ณด์ ๋ ธ์ถ๋๋ ๊ฒ์ด ์๋๋ผ ์ ์๋ ๋ก๊ทธ ์ฐ๊ธฐ ๋์ ์ ์ ํํ๋ ๊ฒ์ ๋๋ค.
@ncdc @smarterclayton ๋ ๋ค ๋์ํฉ๋๋ค. ๋ด๋ถ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ฌ๊ณ ํ ๊ฒฐ๊ณผ
์ด๊ฒ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ง๋ค๊ธฐ ์ํด ์ํธ ํ
ํ๋ฆฟ์ ๋ณ๊ฒฝํ๋ฉด ์ ๋ฉ๋๋ค.
๋์ฐํ๊ฒ ์ด๋ ต์ต๋๋ค. ๊ทธ๊ฒ์ ์ ๋ง๋ก ์ ์ ํ ๋ฐ๋ชฌ ๊ตฌ์ฑ์
๋๋ค(๊ทธ๋ฆฌ๊ณ
๋ค์์ ํตํด fluentd๋ฅผ ํตํด ๋ก๊ทธ ์ง๊ณ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ฒ๋ฆฌํฉ๋๋ค.
๋ค๋ฅธ ์์ค ์ ํ)
2015๋
10์ 13์ผ ํ์์ผ ์ค์ 10:55 Epo Jemba [email protected]
์ผ๋ค:
@ncdc https://github.com/ncdc @smarterclayton
https://github.com/smarterclayton ๋ ๋ถ ๋ชจ๋ ๋์ํฉ๋๋ค.
๋ด๋ถ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ฌ๊ณ ํด ๋ณด๋ฉด
- ์ฐ๋ฆฌ์ ์ฃผ์ ์๊ตฌ ์ฌํญ์ ๋ ธ๋๋ฅผ ๋ณดํธํ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ก๊ทธ๋ฅผ ๋ก๊ทธ๋ก ๋ณด๋ ๋๋ค.
์๋ฒ์ ์คํจํ๋ฉด ๋์ปค ๋ด๋ถ ๋ก๊ทธ์ ํด๋ฐฑ์ ๊ธฐ๋กํฉ๋๋ค. ๋ฑ์
์ด ๊ฒฝ์ฐ ๋ ธ๋ ํฌํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํด๋ฌ์คํฐ ์ ๋ฐ์ ๊ฑธ์น ๋์์ด ํ์ํฉ๋๋ค.
๋์ปค ๋ก๊ทธ- pod/Rc ์ ์์์ ํน์ ๋์ปค ์ต์ ์ ๋ ธ์ถํ๋ ๊ฒ์
@smarterclayton https://github.com/smarterclayton ์ผ๋ก ์ข์ ์์ด๋์ด
์ ์ํ๋ค. ์ฐ๋ฆฌ๋ ๋ํ ๋์ ์ ์๋ฅผ ํ์ฉํ๋ ์ถ์ํ์ ๋์ํฉ๋๋ค.
๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ ๋ฒจ ๋ก๊ทธ ๋์- ๋ ๋ค๋ฅธ ์ต์ ์ kubelet ๊ตฌ์ฑ ํ์ผ์ ๋ณ๊ฒฝํ๊ณ
์ด๋ฌํ ๋ก๊ทธ ๋์์ ์ฒ๋ฆฌํ๋ ์ฝ๋โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -147740136
.
:์์ง์๊ฐ๋ฝ:
์ด์ 9๊ฐ์ ๋ก๊น ๋๋ผ์ด๋ฒ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๋์ ํ๋ ๊ฒ์ ๋ํ ํฉ์๋ ๋ฌด์์ ๋๊น?
+1
๋ชจ๋ฅด๋ ์ฌ๋์ด ์์ ๊ฒฝ์ฐ Docker ๋ฐ๋ชฌ( --log-driver
)์ ๋ํ ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋
ธ๋๋ณ๋ก ๊ธฐ๋ณธ ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ์ ํ๊ฒฝ์์๋ ์ด๋ฐ ์์ผ๋ก ๋๋ผ์ด๋ฒ๋ฅผ journald
ํ์ต๋๋ค. ์ ์งํ๊ฒ ์ปจํ
์ด๋๋ณ๋ก ์ด๊ฒ์ ์ฌ์ ์ํ๋ ์ ์ค ์ผ์ด์ค๋ฅผ ์๊ฐํ๊ธฐ ์ํด ๊ณ ๊ตฐ๋ถํฌํฉ๋๋ค.
๋๋ถ๋ถ์ ํด๋ฌ์คํฐ๋ง์ ๋ก๊ทธ๊ฐ "๋์ญ ์ธ"๊ฐ ๋๋ ๊ฒ์ ์ํ์ง ์์ผ๋ฏ๋ก ์ด๊ฒ์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ๋ฌด์์ ๋๊น?
๋ํ ์ด์ ์ธก๋ฉด์์ ํต์ ๋ ฅ ์์ค์ฒ๋ผ ๋ณด์ ๋๋ค. ํ์ฌ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๊ณ ์ง๊ณํ ๋ก๊น ์คํ์ ๊ตฌ์ฑํฉ๋๋ค.
์ด๊ฒ์ +1.
๋์ปค ๋ก๊น
์ด ์ฒ๋ฆฌ๋๋ ๋ฐฉ์์ ์ ์ดํ ์ ์๋ค๋ ๊ฒ์ ์ ์ผํ ์ ์์ ์ธ ๋ก๊น
์ต์
์ด k8๊ณผ ํจ๊ป ์ ๊ณต๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์์ ์๋ฏธํ๋ฉฐ, ์ด๋ ๋๋ผ์ด ํ๊ณ์
๋๋ค.
@timothysc๋ ์ฌ๊ธฐ์ ์ฐ๋ฆฌ์ ์ฌ์ฉ ์ฌ๋ก์
๋๋ค. ์ฐ๋ฆฌ๋ ๋ก๊ทธ๋ฅผ ์์งํ๊ธฐ ์ํ ์์ฒด logstash
์ ํจ๊ป ๋ง์ ๊ธฐ์กด ์๋น์ค๊ฐ ์คํ๋๋ ๋ณต์กํ ๋์ ์ธํ๋ผ(๋จธ์ 100๋)๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค. ๊ธ์, ์ฐ๋ฆฌ๋ ์ด์ ์ฐ๋ฆฌ์ ์๋น์ค๋ฅผ ํ๋์ฉ k8๋ก ์ฎ๊ธฐ๋ ค๊ณ ํ๊ณ ์์ผ๋ฉฐ k8์ ํด๋ฌ์คํฐ๋ง๋ ์ปจํ
์ด๋์ ๊ธฐ์กด ์ธํ๋ผ ์ฌ์ด์ ๋ก๊น
์ ํตํฉํ ์ ์๋ ํ์คํ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
K8S๋ ๋ก๊ทธ ์์ง ๋ฐฉ๋ฒ์ ๋ํด ๋งค์ฐ ๋ ๋จ์ ์ ๋๋ค. ์ด๊ฒ์ ๋จ์ํ ์ธํ๋ผ์์ ์ฒ์๋ถํฐ ์์ํ๋ ์ฌ๋์๊ฒ ์ ์ฉํ ์ ์์ต๋๋ค. ๋ณต์กํ ์ธํ๋ผ์์ ์์ ํ๊ณ ์๋ ๋ค๋ฅธ ๋ชจ๋ ์ฌ๋๋ค์๊ฒ ๊น์ด ํ๊ณ ๋ค๊ณ ์ฌ์ฉ์ ์ง์ ๋ก๊น ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ๋ ๋ฐ ์ ๊ฒฝ ์ฐ์ง ์๋ ๊ฒฝ์ฐ ํ์ฌ๋ก์๋ ์ด๋ฅผ ์ํํ ๋ฐฉ๋ฒ์ด ์์ผ๋ฉฐ ์ด๋ ๋งค์ฐ ์ค๋ง์ค๋ฝ์ต๋๋ค.
๋ฐ๋ผ๊ฑด๋, ์๋ฏธ๊ฐ ์์ต๋๋ค.
๋ฐ๋ผ์ ์๋๋ฆฌ์ค์์ ๋ก๊ทธ๋ ์ค์ ๋ก "์์ฉ ํ๋ก๊ทธ๋จ๋ณ"์ด์ง๋ง ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ ํธ์คํธ๊ฐ ํด๋น ๋ก๊ทธ๋ฅผ ์ง์ํ๋์ง ํ์ธํฉ๋๊น? ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ฑฑ์ ํ๋ ๊ฒ์
๋๋ค.
์ฌ๊ธฐ์ ๋
ผ์ - ํด๋ฌ์คํฐ ์์ค ๋๋ ๋
ธ๋ ์์ค์ ์ํํ์ง๋ง ์ํํ๋ ๊ฒฝ์ฐ
ํฌ๋ ์์ค์ธ ๊ฒฝ์ฐ ์ค์ผ์ค๋ฌ๋ ์ด๋ค ๋ก๊ทธ ๋๋ผ์ด๋ฒ๊ฐ
์ด๋์ ์กด์ฌํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๋ฅํ ํ ๊ทธ๊ฒ์ ํผํ๋ ค๊ณ ํฉ๋๋ค.
2016๋ 5์ 23์ผ ์์์ผ ์ค์ 10์ 50๋ถ, Jacopo Nardiello < [email protected]
์ผ๋ค:
์ด๊ฒ์ +1.
๋์ปค ๋ก๊น ์ด ์ฒ๋ฆฌ๋๋ ๋ฐฉ์์ ์ ์ดํ ์ ์๋ค๋ ๊ฒ์
์ ์์ ์ธ ๋ก๊น ์ต์ ์ k8s์ ํจ๊ป ์ ๊ณต๋๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
๋๋ผ์ด ํ๊ณ.@timothysc https://github.com/timothysc ์ฌ๊ธฐ ์ฐ๋ฆฌ์ ์ฌ์ฉ ์ฌ๋ก. ์ฐ๋ฆฌ๋
๊ธฐ์กด์ ๋ง์ ๋ณต์กํ ๋์ ์ธํ๋ผ (~ 100 ๋จธ์ )
๋ก๊ทธ๋ฅผ ์์งํ๊ธฐ ์ํด ์์ฒด logstash๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค๋ฅผ ์คํํฉ๋๋ค. ๊ธ์, ์ฐ๋ฆฌ๋
์ด์ ์ฐ๋ฆฌ ์๋น์ค๋ฅผ ํ๋์ฉ k8๋ก, ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ณณ์์ ๋์๊ฒ ์ฎ๊ธฐ๋ ค๊ณ ํฉ๋๋ค.
์ฐ๋ฆฌ์ ๊ธฐ์กด
k8์ ํด๋ฌ์คํฐ๋ง๋ ์ธํ๋ผ ๋ฐ ์ปจํ ์ด๋.K8S๋ ๋ก๊ทธ ์์ง ๋ฐฉ๋ฒ์ ๋ํด ๋งค์ฐ ๋ ๋จ์ ์ ๋๋ค. ์ด๊ฒ์ ํ๋ฅญํ ์ ์์ต๋๋ค.
๋จ์ํ ์ธํ๋ผ์์ ์ฒ์๋ถํฐ ์์ํ๋ ์ฌ๋์ ์ํ ๊ฒ์ ๋๋ค. ์์ํ
๋ณต์กํ ์ธํ๋ผ์์ ์์ ํ๋ ๋ค๋ฅธ ๋ชจ๋ ์ฌ๋๋ค์
์์ธํ ์ดํด๋ณด๊ณ ์ฌ์ฉ์ ์ ์ ๋ก๊น ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ๋ ค๋ฉด
ํ์ฌ๋ก์๋ ๋งค์ฐ ์ค๋ง์ค๋ฌ์ด ๋ฐฉ๋ฒ์ ๋๋ค.๋ฐ๋ผ๊ฑด๋, ์๋ฏธ๊ฐ ์์ต๋๋ค.
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -221002545
@smarterclayton ๊ทํ์ ์ฐ๋ ค ์ฌํญ์ ์ดํดํ๋ฉฐ ์ ๋ฐฐ์น๋์ด ์์ต๋๋ค. ์ ์ฒด ํด๋ฌ์คํฐ๊ฐ ํฌ๋ ์์ค ๋ก๊น ์ ์กด์ฌ๋ฅผ ์ธ์ํด์ผ ํ๋์ง ํ์คํ์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ํด์ผ ํ ์ผ์ ํฌ๋ stdout/stderr์ ์ด๋๊ฐ์ ๊ธฐ๋กํ๋ ์ต์ ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค(ํ์ฌ ํฌ๋ ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ์ผ?) ์ฌ์ฉ์ ์ง์ ์๋ฃจ์ ์ ๊ตฌํํ๋ ค๋ ์ฌ๋์ ๋๊ตฌ๋ ์ฝํ ์ธ ๋ฅผ ์ป์ ์ ์๋ ์๊ตฌ์ ์ธ ์์น๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค. ์ด๊ฒ์ logrotation์ด ์ฌ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ฑฐ๋ํ ์ฑํฐ๋ฅผ ์ฝ๋๋ค.
์ด๊ฒ์ ๋ด 2์ผํธ์ ๋ถ๊ณผํ์ง๋ง ์ค์ ๋ณต์กํ ์๋๋ฆฌ์ค๊ฐ ๊ธฐ์กด ๋ก๊น ์ธํ๋ผ๋ฅผ ํฌ๊ธฐํ๋ ์ฒ ํ ์ ์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
๋ณ๋ก ์ฌ์ฉ์ ์ ์ ๋ก๊ทธ ์ต์
์ ์ง์ ํ๊ณ ์์ต๋๊น? ์ผ๋ง๋ ๋ค๋ฅธ
ํด๋ฌ์คํฐ๋น ๋ก๊ทธ ์ต์
์ธํธ๊ฐ ์์ต๋๊น? ์์ ์ธํธ๊ฐ ์๋ ๊ฒฝ์ฐ
config์์ ์ต์
์ ๋ค์๊ณผ ๊ฐ์ ํฌ๋์์ ์ฃผ์์ ์ง์ํ๋ ๊ฒ์
๋๋ค.
๋ง์ "ํ์ค ๋ก๊ทธ
options". ์ฆ, kubelet ์์ ์๊ฐ์ "๋ก๊ทธ ๋ชจ๋ X"๋ฅผ ์ ์ํฉ๋๋ค(์ด๋
์ฌ์ฉ์ ์ง์ ๋ก๊ทธ ์ต์
๋ฐ ๋๋ผ์ด๋ฒ), ํฌ๋๋ "
pod.alpha.kubernetes.io/log.mode=X".
๋ ๋ค๋ฅธ ์ต์
์ ๋ฐฐํฌ์๊ฐ
์์ํ๊ธฐ ์ง์ ์ ์ปจํ
์ด๋ ์ ์๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ๊ธฐํ
์ปจํ
์ด๋. ์ค๋์ ์ง๋ ฌํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ ์ด๋ ต์ต๋๋ค.
docker def๋ฅผ ์ค๊ฐ ํ์์ผ๋ก ๋ง๋ค๊ณ ์คํํ ๋ค์ ์คํํฉ๋๋ค.
๋ค์ ๋งํ์ง๋ง ์์ผ๋ก๋ ๋ ์ฌ์ธ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ปจํ
์ด๋ ์ธํฐํ์ด์ค์ ํค ๊ฐ ์์ ๋
ธ์ถํ ์ ์์ต๋๋ค.
์ปจํ
์ด๋ ์์ง์ ์ง์ ์ ๋ฌ๋๋ฉฐ
๊ทธ๋ฆฌ๊ณ PodSecurityPolicy๊ฐ ์ด๋ฌํ ์ต์
์ ๊ท์ ํ ์ ์๋์ง ํ์ธํฉ๋๋ค. ๊ทธ๋ด ๊ฒ์ด๋ค
๋ฐ์ ์๋ฅผ ์ํ ํ์ถ๊ตฌ ์ญํ ์ ํ์ง๋ง,
๋ฆด๋ฆฌ์ค ๊ฐ์ ๊ณ์ ์๋ํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
2016๋
5์ 26์ผ ๋ชฉ์์ผ ์ค์ 5:34 Jacopo Nardiello [email protected]
์ผ๋ค:
@smarterclayton https://github.com/smarterclayton ์ดํดํฉ๋๋ค
๋น์ ์ ๊ด์ฌ์ฌ์ ๊ทธ๊ฒ๋ค์ ์ ๋ฐฐ์น๋์ด ์์ต๋๋ค. ์ ์ฒด ํด๋ฌ์คํฐ์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
ํฌ๋ ์์ค ๋ก๊น ์ ์กด์ฌ๋ฅผ ์ธ์ํด์ผ ํฉ๋๋ค.
ํด์ผ ํ ์ผ์ pod stdout/stderr์ ์ด๋๊ฐ์ ๊ธฐ๋กํ๋ ์ต์ ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค(ํ์ผ
ํ์ฌ ํฌ๋ ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก?)
์ฌ์ฉ์ ์ง์ ์๋ฃจ์ ์๋ ์ฝํ ์ธ ๋ฅผ ๊ฐ์ ธ์ฌ ์์น๊ฐ ์ ์ง๋ฉ๋๋ค.
์ด๊ฒ์ logrotation์ด ์ฌ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ฑฐ๋ํ ์ฑํฐ๋ฅผ ์ฝ๋๋ค.์ด๊ฒ์ ๋ด 2์ผํธ์ ๋ถ๊ณผํ์ง๋ง ์ค์ ๋ณต์กํ ์ฒ ํ ์๋ ์์ต๋๋ค.
์๋๋ฆฌ์ค๋ ๊ธฐ์กด ๋ก๊น ์ธํ๋ผ๋ฅผ ํฌ๊ธฐํฉ๋๋ค.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -221823732
@smarterclayton ๋ณด์ จ๋์ https://github.com/kubernetes/kubernetes/issues/24677#issuecomment -220735829
๊ณ ๋ง์ง ๋ง ์ฌ์ ํ ๊ฒ. ๊ฑฐ๊ธฐ์ ํ ๋ก ์ ์ด๋ํฉ๋๋ค.
2016๋
5์ 26์ผ ๋ชฉ์์ผ ์ค์ 11์ 23๋ถ, Andy Goldstein ์๋ฆผ @github.com
์ผ๋ค:
@smarterclayton https://github.com/smarterclayton ๋ณด์ จ๋์ #24677
(๋ ผํ)
https://github.com/kubernetes/kubernetes/issues/24677#issuecomment -220735829โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -221903781
์๋
ํ์ธ์,
์ด๊ฒ์ด ์ฟ ๋ฒ๋คํฐ์ค์์ ๊ณ ๋ คํด์ผ ํ ์ค์ํ ๊ธฐ๋ฅ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
Docker์ ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช ๊ฐ์ง ์ฌ์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋์คํฌ์ ๋ก๊น ํ๋ ๊ฒ์ ๋ฐํจํด์ด๋ผ๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค. ๋ก๊ทธ๋ ๋ณธ์ง์ ์ผ๋ก "์ํ"์ด๋ฉฐ ๋์คํฌ์ ์ ์ฅํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ก๊ทธ๋ฅผ ์ปจํ ์ด๋์์ ์ ์ฅ์๋ก ์ง์ ์ ๋ฌํ๋ฉด ๋ง์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์ ํ๋ฉด kubectl logs ๋ช
๋ น์ด ๋ ์ด์ ์๋ฌด ๊ฒ๋ ํ์ํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ "์์ผ๋ฉด ์ข์" ๊ธฐ๋ฅ์ด์ง๋ง ๋ค๋ฅธ ์์ค์์ ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ด ๊ธฐ๋ฅ์ด ํ์ํ์ง ์์ต๋๋ค.
Docker์๋ ์ด๋ฏธ google ํด๋ผ์ฐ๋(gcplogs) ๋ฐ Amazon(awslogs)์ฉ ๋ก๊ทธ ๋๋ผ์ด๋ฒ๊ฐ ์์ต๋๋ค. Docker ๋ฐ๋ชฌ ์์ฒด์์ ์ค์ ํ ์๋ ์์ง๋ง ๋ง์ ๋จ์ ์ด ์์ต๋๋ค. ๋ ๊ฐ์ง ๋์ปค ์ต์ ์ ์ค์ ํ ์ ์์ต๋๋ค.
--log-driver= ์ปจํ
์ด๋์ฉ ๋ก๊น
๋๋ผ์ด๋ฒ
--log-opt=[] ๋ก๊ทธ ๋๋ผ์ด๋ฒ ์ต์
๋ ์ด๋ธ(gcplogs์ ๊ฒฝ์ฐ) ๋๋ awslogs-group(awslogs์ ๊ฒฝ์ฐ)์ ํจ๊ป ๋ณด๋ผ ์ ์์ต๋๋ค.
ํฌ๋์ ํน์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ค๋ฅธ ์ชฝ ๋์ ์๋ ๋ก๊ทธ๋ฅผ ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค.
์ฌ๋๋ค์ด kubernetes์์ ๋ก๊ทธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ฝ์์ต๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ๋ก๊ทธ๋ฅผ ์ค์ ์์คํ ์ผ๋ก ์ ๋ฌํ๋ ์ ๊ตํ ์คํฌ๋ ์ดํผ๋ฅผ ์ค์ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์ ํ ์ ์์ผ๋ฏ๋ก ํ์ํ์ง ์์ต๋๋ค. ๋ ํฅ๋ฏธ๋ก์ด ์์ ์ ์ํํ ์๊ฐ์ ํ๋ณดํ ์ ์์ต๋๋ค. :)
๋ํ ์ ๋ฅผ ํฌํจํ ์ผ๋ถ ์ฌ๋๋ค์ ํธ์คํธ์์ logrotate๋ฅผ ์ค์ ํ๋ ๋์ JSON ๋ก๊น ๋๋ผ์ด๋ฒ(docker์ ๊ธฐ๋ณธ)์์ '--log-opt max-size' ์ต์ ์ ํตํด ๋์ปค ๋ก๊ทธ ํ์ ์ ์ํํ๊ธฐ๋ฅผ ์ํ๋ค๊ณ ๋ง๋ถ์ผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ '--log-opt' ์ต์ ๋ง ๋ ธ์ถํด๋ ํฌ๊ฒ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์ปจํ ์ด๋ ๊ตฌ์ฑ LogConfig๋ฅผ ์์ฑํ ๋ k8์ ์์ ํ์ต๋๋ค.
+1
์ค์ ์ง์ค์ ๋ก๊ทธ ์์ง์ ์ํด ๋์ปค ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ก๊ทธ ํ์ผ์ ๋ํ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์์ฑํ๊ณ , ํน๋ณํ fluentd ์ปจํ
์ด๋์ ๋ง์ดํธํ๊ณ , ๋ก๊ทธ๋ฅผ ์ถ์ ํ๊ณ , ๋ก๊ทธ ํ์ ์ ๊ด๋ฆฌํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๊ฐ๋จํด ๋ณด์
๋๋ค.
์ปจํ ์ด๋ ๊ตฌ์ฑ๋ณ ์ฌ์ฉ ์ฌ๋ก: ๋ฐฐํฌํ ์ปจํ ์ด๋์ ๋ํด ๋ค๋ฅธ ๊ณณ์ ๋๋ ๋ค๋ฅด๊ฒ ๊ธฐ๋กํ๊ณ ์ถ๊ณ Kubernetes๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ํ์ค ์ปจํ ์ด๋์ ๋ํ ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค(๋๋ ๋ณ๊ฒฝํ๊ณ ์ถ์ง ์์ต๋๋ค).
๊ฑฐ๊ธฐ ๋น์ ์ด ๊ฐ๋ค. ์ด๋ฐ ์ผ์ด ์ผ์ด๋๊ฒ ํด์ฃผ์ธ์.
๋ ๋ค๋ฅธ ์์ด๋์ด๋ ๋ชจ๋ ์ปจํ ์ด๋๊ฐ ์ฌ์ ํ ๋์ผํ ์๋ํฌ์ธํธ๋ก ๋ก๊ทธ๋ฅผ ์ ๋ฌํ์ง๋ง ๋ก๊ทธ ์๋ฒ์ ๋ํด ์ต์ํ ๋ค๋ฅธ ํ๋ ๊ฐ์ ์ค์ ํ ์ ์๋ค๋ ๊ฒ ์ ๋๋ค.
Kubernetes์์ ์์ฑํ ๋์ปค ์ปจํ ์ด๋์ ์ฌ์ฉ์ ์ง์ ๋ ์ด๋ธ์ด ์ง์ ๋๋๋ก ํ ์ ์๋ค๋ฉด ์ด๋ gelf ๋์ปค ๋๋ผ์ด๋ฒ์์ ์๋ํฉ๋๋ค. ์๋ฏธ: ์ผ๋ถ Pod ํ๋๋ ๋์ปค ์ปจํ ์ด๋ ๋ ์ด๋ธ๋ก ์ ๋ฌ๋ ์ ์์ต๋๋ค. (์๋ง๋ ์ด๊ฒ์ ์ด๋ฏธ ๊ฐ๋ฅํ์ง๋ง ๊ทธ๊ฒ์ ๋ฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค).
Kubernetes๊ฐ ์๋ ์, docker ๋ฐ๋ชฌ ๋ฐ gelf ๋๋ผ์ด๋ฒ๋ง ์์ต๋๋ค. --log-driver=gelf --log-opt labels=env,label2
๋์ปค ๋ฐ๋ชฌ์ ๊ตฌ์ฑํ๊ณ ๋์ปค ์ปจํ
์ด๋๋ฅผ ๋ง๋ญ๋๋ค.
docker run -dti --label env=testing --label label2=some_value alpine:3.4 /bin/sh -c "while true; do date; sleep 2; done"
๋ฐ ๋ค๋ฅธ ๋์ปค ์ปจํ ์ด๋:
docker run -dti --label env=production --label label2=some_value alpine:3.4 /bin/sh -c "while true; do date; sleep 2; done"
์ด๋ ๊ฒ ํ๋ฉด Graylog์์ env=production
์ env=testing
์ปจํ
์ด๋๋ฅผ ๊ตฌ๋ณํ ์ ์์ต๋๋ค.
ํ์ฌ ๋๋ ์ด๋ฌํ ๋์ปค ๋ฐ๋ชฌ ์ต์ ์ ์ฌ์ฉํฉ๋๋ค.
--log-driver=gelf --log-opt gelf-address=udp://graylog.example.com:12201 --log-opt tag=k8s-testing --log-opt labels=io.kubernetes.pod.namespace,io.kubernetes.container.name,io.kubernetes.pod.name
@xmik , ๊ทธ๊ฒ์ด ๊ธฐ์กด ๊ธฐ๋ฅ์ธ์ง ๋๋ ์ด์ ๊ดํ ๊ทํ์ ์ ์์ธ์ง ํ์ธํ๋ ๊ฒ
ํ์ฌ ๋๋ ์ด๋ฌํ ๋์ปค ๋ฐ๋ชฌ ์ต์ ์ ์ฌ์ฉํฉ๋๋ค.
--log-driver=gelf --log-opt gelf-address=udp://graylog.example.com:12201 --log-opt tag=k8s-testing --log-opt labels=io.kubernetes.pod.namespace,io.kubernetes.container.name,io.kubernetes.pod.name
๋ด๊ฐ ํ์ฌ ์ฌ์ฉํ๋ ๋์ปค ๋ฐ๋ชฌ ์ต์
์ ์ด๋ฏธ ์๋ํฉ๋๋ค. Kubernetes๋ ์ด๋ฏธ ๊ฐ ๋์ปค ์ปจํ
์ด๋์ ๋ํด ์ผ๋ถ ๋ ์ด๋ธ์ ์ค์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด kube-apiserver ์ปจํ
์ด๋์์ docker inspect
๋ฅผ ์คํํ ๋:
"Labels": {
"io.kubernetes.container.hash": "4959a3f5",
"io.kubernetes.container.name": "kube-apiserver",
"io.kubernetes.container.ports": "[{\"name\":\"https\",\"hostPort\":6443,\"containerPort\":6443,\"protocol\":\"TCP\"},{\"name\":\"local\",\"hostPort\":8080,\"containerPort\":8080,\"protocol\":\"TCP\"}]",
"io.kubernetes.container.restartCount": "1",
"io.kubernetes.container.terminationMessagePath": "/dev/termination-log",
"io.kubernetes.pod.name": "kube-apiserver-k8s-production-master-1",
"io.kubernetes.pod.namespace": "kube-system",
"io.kubernetes.pod.terminationGracePeriod": "30",
"io.kubernetes.pod.uid": "a47396d9dae12c81350569f56aea562e"
}
๋ฐ๋ผ์ ํด๋น ๋์ปค ๋ฐ๋ชฌ ์ต์ ์ด ์๋ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด์ ๋ Kubernetes๊ฐ Pod ์ฌ์์ ๊ธฐ๋ฐ์ผ๋ก ๋์ปค ์ปจํ
์ด๋์ ์ฌ์ฉ์ ์ง์ ๋ ์ด๋ธ์ ์ค์ ํ๋๋ก ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด --log-driver=gelf --log-opt labels=env,label2
๋ ์๋ํ์ง ์์ต๋๋ค.
์ด ์ ๋ฉด์ ์์์ด ์์ต๋๊น? ๋ ์ด๋ธ์ ์ง์ ํ ๋ค์ --log-opt labels<>
์ด ์์ผ๋ฉด ๊ฝค ์ข์ต๋๋ค!
@portante @jcantrill ์ฐ๋ฆฌ๊ฐ ๋ ผ์ํ๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ์บก์ฒํ๊ธฐ ์ํด ์ด๊ฒ์ด ์ ์ฉํ ์ ์๋ค๊ณ ์๊ฐํ ์ฌ์ฉ ์ฌ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ก๊ทธ ๊ธฐ๋ก ํ(Pod)์ด ์ค๋ฅ๋ฅผ ๋ง๋ ๊ธฐ๋กํ๊ธฐ ์์ํ๋ฉด ํด๋น ์ค๋ฅ๋ฅผ ์์งํ๋ ์ธํ๋ผ๊ฐ ์ค๋ฅ๋ฅผ ํฌ์ฐฉํ์ฌ ๋ค์ ๊ธฐ๋ก ๋ฉ์ปค๋์ฆ์ ํผ๋๋ฐฑํ์ฌ ๋ ๋ง์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค๊ณ ๊ธฐ๋กํฉ๋๋ค.
์ด ํผ๋๋ฐฑ ๋ฃจํ๋ ํํฐ๋ง ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ํผํ ์ ์์ง๋ง ์ฝ๊ฐ ์ทจ์ฝํฉ๋๋ค. ๋ค๋ฅธ ๋ก๊น ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ๊ธฐ๋กํ๊ณ ํ์ ์ต์ ์ ๊ฐ๋ ๊ฒ์ด ์ข์ ์๋ฃจ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๋ด 2์ผํธ.
k8 ๋ด๋ถ ๋ก๊น ์ ๋ํ ํ์ฌ ์๋ฃจ์ ์ (AFAIK):
์ฌ์ด๋์นด ์ปจํ ์ด๋๋ ๋์๊ฒ ๊ณผํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ณต์ ์ปจํธ๋กค๋ฌ ์ ๋ต์ ์ข์ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ชจ๋ ๋ฐฐํฌ์ ์ปจํ ์ด๋ ๋ก๊ทธ๋ฅผ ํผํฉํ๊ณ ์ผ๋ถ ์ฌ์ฉ์๋ ์ด์ ์ด๋ฅผ ์ํ ์ ์์ผ๋ฉฐ ๋์ ๊ฐ ์ฑ์ ๋ค๋ฅธ ํญ๋ชฉ์ ๊ธฐ๋กํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ง์ง๋ง ์ต์ ์ด IMHO์์ ๊ฐ์ฅ ์ ์๋ํ์ง๋ง ๋ชจ๋ ์ปจํ ์ด๋์ ๋ณต์ ๋๋ ๋ง์ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค(์: ์ค์น ๋ฐ ์ค์ logentries ๋ฐ๋ชฌ).
log-driver
ํ๋๊ทธ์ ์ก์ธ์คํ ์ ์๋ค๋ฉด ์ด ๋ชจ๋ ๊ฒ์ด ํจ์ฌ ์ฌ์ธ ๊ฒ์ด๋ฏ๋ก ๊ฐ ๋ฐฐํฌ๋ ๋์ปค ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๋ก๊น
๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.
๊ตฌํ์ ์๋ํ ์ ์์ง๋ง kubernetes ์ฝ๋๋ฒ ์ด์ค์ ์ต์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋์์ด ํ์ํ ๊ฒ์ ๋๋ค.
๋ฉํฐ ํ ๋์๊ฐ ๋ ์ค์ํด์ง๋ฉด ์ ๋๋ก ํด๊ฒฐํ๊ธฐ๊ฐ ๋ ์ด๋ ค์์ง ๊ฒ์ ๋๋ค.
๊ฐ ๋ค์์คํ์ด์ค๋ ์๋ก ๋ค๋ฅธ ํ ๋ํธ์ผ ์ ์์ผ๋ฏ๋ก ๊ฐ ๋ค์์คํ์ด์ค์ ๋ก๊ทธ๊ฐ ๋ฐ๋์ ์ง๊ณ๋์ด์ผ ํ๋ ๊ฒ์ ์๋์ง๋ง ํ ๋ํธ ์ง์ ์์น๋ก ๋ณด๋ผ ์๋ ์์ต๋๋ค.
์ด ์์ ์ ์ํํ๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ์๊ฐํ ์ ์์ต๋๋ค.
@caarlos0 @kfox1111 ์์ ์ ๋์ํฉ๋๋ค. ์ด๊ฒ์ ๊ณ์ธก, ์คํ ๋ฆฌ์ง, ๋ ธ๋ ๋ฐ ๋ ๋ง์ ํ์ ์กฐ์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ณต์กํ ์ฃผ์ ์ ๋๋ค. ์ ์ฒด ๋ก๊น ์ํคํ ์ฒ์ ๋ํ ์ ์์ ๋จผ์ ๋ฐฐ์นํ ๋ค์ ์ด ์ผ๊ด๋ ๋ณด๊ธฐ๋ก ๋ณ๊ฒฝ๋ ์ฌํญ์ ๋ํด ๋ ผ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋๋ ์ด ์ ์์ด ํ ๋ฌ ์ ๋ ํ์ ๋ํ๋์ ์ง์๋ฅผ ์ก๊ณ ์ธ๊ธ๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ์ ํ๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
@crassirostris ์ ๊ฐ ์ดํดํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. log-driver
๋ฑ๋ง ํ์ฉํ๋ฉด ์คํ ๋ฆฌ์ง ๋๋ ๊ทธ ์ค ์ด๋ค ๊ฒ๋ ์ฒ๋ฆฌํ ํ์๊ฐ ์๊ฒ ์ฃ ?
๋์ปค๋ ์ปจํ ์ด๋ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ๋ ๋ก๊ทธ ๋๋ผ์ด๋ฒ์ STDOUT์ ๋ณด๋ด๋ ๊ฒ๋ฟ์ ๋๊น? ์ฐ๋ฆฌ๋ ์ผ์ข ์ ์ฑ ์์ ์ปจํ ์ด๋๋ก ์ ๋ฌํฉ๋๋ค... ์ ์๊ฒ๋ ์์ฃผ ๊ฐ๋จํ ํด๊ฒฐ์ฑ ์ฒ๋ผ ๋ณด์ ๋๋ค. ๊ทธ๋ฌ๋ ์ ๊ฐ ๋งํ๋ฏ์ด, ์ ๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์๋ง๋ ์ ๊ฐ ์์ ํ ํ๋ ธ์ ์๋ ์์ต๋๋ค...
๋ฌธ์ ๋ docker์ ๋ก๊ทธ ๋๋ผ์ด๋ฒ๊ฐ ๋์ค์ ๋ก๊ทธ๋ฅผ ์ค์ ๋ก ์ ์ฉํ๊ฒ ์ฌ์ฉํ๋ k8s ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. :/
@kfox1111 ํ , ๋ง์ด ๋๋ค์...
๊ทธ๋ฌ๋ ์ฌ์ฉ์๊ฐ kubernetes ๋ก๊ทธ๊ฐ ์๋ "์์ฉ ํ๋ก๊ทธ๋จ" ๋ก๊ทธ๋ง ์ํ๊ณ docker ๋ก๊ทธ๊ฐ ์๋ ์ปจํ ์ด๋ ๋ก๊ทธ ๋ด์์ ์คํ ์ค์ธ ์ฑ๋ง ์ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
์ด ๊ฒฝ์ฐ log-driver
๊ฐ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค ...
@caarlos0 ๋ช ๊ฐ์ง ์๋ฏธ๊ฐ ์์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด kubelet์ ์๋ฒ kubectl ๋ก๊ทธ์ ๋ํ ๋ก๊น ํ์์ ๋ํด ๋ช ๊ฐ์ง ๊ฐ์ ์ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ชจ๋ ๊ฒ์ ์ ์ณ๋๊ณ log-driver
์์ฒด๋ Docker ์ ์ฉ์ด๋ฉฐ ๋ค๋ฅธ ๋ฐํ์์์๋ ์๋ํ์ง ์์ ์ ์์ต๋๋ค. ์ด๊ฒ์ด API์ ํฌํจํ์ง ์๋ ์ฃผ๋ ์ด์ ์
๋๋ค.
@crassirostris ๋ง์ด ๋๋ค์...
์ด ๊ธฐ๋ฅ์ ์ถ๊ฐ๋์ง ์์ ๊ฒ์ด๋ฏ๋ก(๋ฌธ์ ์ ์ค๋ช ๋ ๋๋ก) ์ด ๋ฌธ์ ๋ฅผ ๋ซ์์ผ ํฉ๋๊น(๋๋ ํธ์งํ๊ฑฐ๋ ๋ฌด์์ด๋ )?
@caarlos0 ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ํ์คํ ๋ก๊น ์ค์ ์ ๋ ์ ์ฐํ๊ณ ํฌ๋ช ํ๊ฒ ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ๊ทํ์ ํผ๋๋ฐฑ์ ์ ์์ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!
์ปจํ ์ด๋์ stdout ๋ก๊น ์ ํ์ฌ Kubernetes ๋ด์์ ๋์ญ ์ธ์์ ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ํ์ฌ ๋ก๊น ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋น Kubernetes ์๋ฃจ์ ์ ์์กดํ๊ณ ์์ผ๋ฉฐ, ๋์ญ ์ธ ๋ก๊น ์ ์ก์ธ์คํ๊ธฐ ์ํด Kubernetes๋ฅผ ํ์ฅํ๋ ๊ถํ ์๋ ์ปจํ ์ด๋์ ์์กดํ๊ณ ์์ต๋๋ค. ์ปจํ ์ด๋ ๋ฐํ์ ๋ก๊น ์ ๋ฐํ์(docker, rkt, Windows)๋ง๋ค ๋ค๋ฅด๋ฏ๋ก Docker --log-driver์ ๊ฐ์ ๊ฒ์ ์ ํํ๋ฉด ๋ฏธ๋์ ์ง์ด ์๊น๋๋ค.
๋ก๊ทธ ์คํธ๋ฆผ์ ๋์ญ ๋ด๋ก ๋ค์ ๊ฐ์ ธ์ค๋ ค๋ฉด kubelet์ด ํ์ํ๋ค๊ณ ์ ์ํฉ๋๋ค. ๊ฐ ์ปจํ ์ด๋์์ stdout ํ์ ์์งํ๋ ์ต์ JSON ๋๋ XML ๋ก๊ทธ ํ์์ ์ ์ํ๊ฑฐ๋ ์ ํํ๊ณ ์ต์ ํด๋ฌ์คํฐ+๋ค์์คํ์ด์ค+ํฌ๋+์ปจํ ์ด๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ์ฌ ๋ก๊ทธ ์์ค๊ฐ Kubernetes ๊ณต๊ฐ ๋ด์์ ์๋ณ๋๋๋ก ํ๊ณ ์คํธ๋ฆผ์ Kubernetes Service+๋ก ๋ณด๋ ๋๋ค. ํฌํธ. ์ฌ์ฉ์๋ ์ํ๋ ๋ก๊ทธ ์๋น ์๋น์ค๋ฅผ ์์ ๋กญ๊ฒ ์ ๊ณตํ ์ ์์ต๋๋ค. ์๋ง๋ Kubernetes๋ 'kubectl logs' ์ง์์ ๊ตฌํํ๋ ํ๋์ ์ฐธ์กฐ/๊ธฐ๋ณธ ์๋น์ค๋ฅผ ์ ๊ณตํ ๊ฒ์ ๋๋ค.
๋ก๊น ์๋น ์๋น์ค๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๋ก๊ทธ๊ฐ ์ญ์ ๋๊ณ ๋์คํฌ์ ์ ํ ๋๋ฌํ์ง ์์ต๋๋ค . ๋ค๋ฅธ ๊ณณ์์ ๋ก๊ทธ๋ฅผ ์คํธ๋ฆฌ๋ฐํ๊ฑฐ๋ ์๊ตฌ ์ ์ฅ์์ ์ฐ๊ณ ํ์ ํ๋ ๊ฒ์ ๋ชจ๋ ์๋น์ค์ ์ฑ ์/๊ฒฐ์ ์ ๋๋ค.
kubelet ์ปจํ ์ด๋ ๋ฐํ์ ๋ํผ๋ ๊ฐ ์ปจํ ์ด๋ ๋ฐํ์์์ stdout์ ์ถ์ถํ๊ธฐ ์ํด ์ต์ํ์ ์์ ์ ์ํํ๊ณ k8 ์์ฒด ํธ์คํ ์๋น์ค๊ฐ ์๋น ๋ฐ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์ญ ๋ด๋ก ๋ค์ ๊ฐ์ ธ์ต๋๋ค.
Deployment ๋๋ Pod์ ์ปจํ ์ด๋ ์ฌ์์ ์ ํ์ ์ผ๋ก stdout ๋ก๊น ์ ์ํ ๋์ ์๋น์ค ๋ฐ ํฌํธ๋ฅผ ์ง์ ํฉ๋๋ค. ํด๋ฌ์คํฐ+๋ค์์คํ์ด์ค+ํฌ๋+์ปจํ ์ด๋์ ๋ํ k8s ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์ ํ ์ฌํญ์ ๋๋ค(๋ฐ๋ผ์ ์์/๋ฌด์ ๋๋ ๋ฉํ๋ฐ์ดํฐ ์ ํ). ์ฌ์ฉ์๋ ์์ ๋กญ๊ฒ ๋ชจ๋ ๋ก๊ทธ๋ฅผ ํ ๊ณณ์ผ๋ก ์ง๊ณํ๊ฑฐ๋ ํ ๋ํธ, ๋ค์์คํ์ด์ค ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ณ๋ก ์ง๊ณํ ์ ์์ต๋๋ค.
์ง๊ธ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฒ์ 'kubectl logs -f'๋ฅผ ์ฌ์ฉํ์ฌ API ์๋ฒ๋ฅผ ํตํด ๊ฐ ์ปจํ ์ด๋์ ๋ํ ์ปจํ ์ด๋ ๋ก๊ทธ๋ฅผ ์คํธ๋ฆฌ๋ฐํ๋ ์๋น์ค๋ฅผ ์คํํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ค์ง ํจ์จ์ ์ด๊ฑฐ๋ ํ์ฅ ๊ฐ๋ฅํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ์ ์์ ์ปจํ ์ด๋ ๋ฐํ์ ๋ํผ์์ ์๋น์ค ๋๋ ํ๋๋ก ์ง์ ์คํฐ๋ฐ์ ๋ ํจ์จ์ ์ผ๋ก ํ์ฉํ๊ณ ๋์ผํ ๋ ธ๋์์ ๋ฐฐํฌ ๋๋ Daemonset ํ๋๋ฅผ ๋ก๊น ํ๊ณ ์ปจํ ์ด๋๊ฐ ๋ก๊ทธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ ํธํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ต์ ํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋๋ Kubernetes ๊ณต๊ฐ ๋ด์์ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์์ฒด ํธ์คํ , ๋์ข ๋๋ ์ด์ข ๋ก๊น ์๋ฃจ์ ์ ๋ํด ์ปจํ ์ด๋ ๋ฐํ์ ๋ก๊ทธ๋ฅผ ํจ์จ์ ์ผ๋ก ๋์ญ ๋ด๋ก ๊ฐ์ ธ์ค๊ธฐ ์ํด ์ต์ํ์ ์กฐ์น๋ฅผ ์ทจํด์ผ ํ๋ค๊ณ ์ ์ํฉ๋๋ค.
์ฌ๋๋ค์ ์ด๋ป๊ฒ ์๊ฐํฉ๋๊น?
@whereisaaron ๋ก๊น ์ํ๊ณ์ ๋ํ ๋ชจ๋ ์ธ๋ถ ์ ๋ณด๊ฐ ํ ๊ณณ์ ์์ง ์์ ๋ ์ง๊ธ์ ์ด ํ ๋ก ์ ํ๊ณ ์ถ์ง ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ๋ก๊ทธ ํ๋ฆ์ ๋ฐฉํดํ๋ ๋คํธ์ํฌ ๋ฐ ์์คํ ๋ฌธ์ ๋ฅผ ๋ณด์์ง๋ง ์์ง ๋ ผ์ํ๊ณ ์ถ์ง ์์ต๋๋ค. ์ ์์ด ์ค๋น๋๋ฉด ๋์ค์ ๋ ผ์ํ๋ ๊ฒ์ด ์ด๋ป์ต๋๊น? ๊ทธ๊ฒ์ด ๋น์ ์๊ฒ ํฉ๋ฆฌ์ ์ผ๋ก ๋ณด์ ๋๊น?
ํ์คํ @crassirostris. ์ ์์๋ฅผ ํ์ธํ ์ค๋น๊ฐ ๋๋ฉด ์ฌ๊ธฐ์์ ์๋ ค์ฃผ์ญ์์ค.
/ ์๊ทธ ํ์ฅ์ฑ
๋ชจ๋ ์์ง๋ง --log-driver
๋ฐ --log-opt
๋์ปค ๋ฐ๋ชฌ์ ๋ํ ์ต์
์
๋๋คํ์ง๊ฐ K8S ํฌ๋ ์ฌ์์ ๋ํ ๊ทธ๋ค์ ์ง์ ํ๋ ๋ฐ ์ข์ ๊ฒ, ๊ธฐ๋ฅ์ K8S :
--log-opt
๋ฅผ ์ค์ ํ์ฌ ํฌ๋์ ๋ํ ๋ก๊ทธ ํ์ ์ ๊ตฌ์ฑํฉ๋๋ค.--log-opt
์ค์ ์ด ์๋ ๋จ์ผ ๋
ธ๋ ์์ค --log-opt
AFAIK, ์์ ์ด๋ ๊ฒ๋ ์ค๋๋ k8s ํฌ๋ ์ฌ์์ ํฌ๋ ์์ค์์ ์ค์ ํ ์ ์์ต๋๋ค.
@vhosakot ์์ ์ด๋ ๊ฒ๋ Kubernetes ๊ฐ๋ ์ด ์๋๊ธฐ ๋๋ฌธ์ Kubernetes์ ๋ชจ๋ ์์ค์์ ์ค์ ํ ์ ์์ต๋๋ค.
@crassirostris ์ ํํ! :)
Docker๊ฐ Pod ์์ค/์ปจํ ์ด๋ ์์ค์์ ์ํํ๋ ๋ชจ๋ ์์ ์ k8s๊ฐ ์ํํ๋ฉด ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๊ธฐ ์ฝ์ง ์์๊น์? ์ฌ์ฉ์๊ฐ ํฌ๋ ์์ค/์ปจํ ์ด๋ ์์ค ํญ๋ชฉ์ ๋ํด Docker๋ฅผ ์ ํ ์ฌ์ฉํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๊ทธ๋ฆฌ๊ณ Docker ํฌ์ด ์๋ k8s ์ ํธ๊ฐ๋ ๊ฐ์ ์ง๋ฌธ์ ํ ์ ์์ต๋๋ค.
@vhosakot Point๋ --log-opt
๋ Docker์๋ง ์กด์ฌํ๋ค๋ ๊ฒ์
๋๋ค. K8 ์์ค์์ ์ด๋ฌํ ์ต์
์ ๋ง๋ค๋ฉด ์๋์ ์ผ๋ก ์ถ์ํ๊ฐ ๋์ถ๋ฉ๋๋ค. ๋๋ ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ฐ๊ณ ์ ํ๋ ๋ฐฉ์์ด ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ต์
์ด ์๋ ๊ฒฝ์ฐ ๋ชจ๋ ์ปจํ
์ด๋ ๋ฐํ์์์ ์ง์ํด์ผ ํ๋ฉฐ ์ด์์ ์ผ๋ก๋ CRI์ ์ผ๋ถ์ฌ์ผ ํฉ๋๋ค.
๋๋ ๊ทธ๋ฌํ ์ต์ ์ด ์์ ๊ฒ์ด๋ผ๊ณ ๋งํ๋ ๊ฒ์ด ์๋๋ผ Docker์ ๋ํ ์ง์ ์ ์ธ ๊ฒฝ๋ก๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ ๋งํ๋ ๊ฒ์ ๋๋ค.
@crassirostris ์ฌ์ค, k8์ด Docker ํน์ ์ด ์๋ ํฌ๋ ์์ค/์ปจํ ์ด๋ ์์ค์์ CRI๊ฐ ์ํ/ํ์ฉํ๋ ์์ ์ ์ํํด์ผ ํ๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
๋ค, ์ ๋์ ์ผ๋ก ๋ง์ต๋๋ค.
๋น๋ก ๋ด๊ฐ ์ด ํ ๋ก ์ ๋ฆ์๊ณ ์ด ๊ธฐ๋ฅ์ด ๊ตฌํ๋๋ ๊ฒ์ ๋ณด๋ ๋ฐ ๊ด์ฌ์ด ์์ง๋ง, ์์ ๋์์ธ์ ๊ฐ๋ ๊ฒ๊ณผ ์ ์ ์ ์ด๊ณ ๊ท ์ผํ ๋ก๊น ์๋ฃจ์ ์ ์ค์ ํ๋ ์ง์ ์ ์ธ ๋ฐฉ๋ฒ์ ๊ฐ๋ ๊ฒ ์ฌ์ด์๋ ์ ์ถฉ์ ์ด ์๋ค๊ณ ์ฃผ์ฅํ๊ณ ์ถ์ต๋๋ค. ํด๋ฌ์คํฐ์ ๋ํ. ์, ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด docker internal ๊ฐ ๋ ธ์ถ๋ฉ๋๋ค. ์ด๋ ํฐ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ํ์ง๋ง ๋์์ ๋๋ถ๋ถ์ K8S ์ฌ์ฉ์๊ฐ ๊ธฐ๋ณธ ์ปจํ ์ด๋ ๊ธฐ์ ๋ก docker๋ฅผ ์ฌ์ฉํ๊ณ docker๋ ๋งค์ฐ ํฌ๊ด์ ์ธ ๋ชฉ๋ก๊ณผ ํจ๊ป ์ ๊ณต๋๋ค๋ ์ ์ ์๋นํ ๋์ ๊ฑธ ์ ์์ต๋๋ค. ๋ก๊ทธ ๋๋ผ์ด๋ฒ์.
@gabriel-tincu ํ์ฌ ์๋ณธ FR์ด ๋ฌธ์ ๊ฐ ๋ ๊ฐ์น๊ฐ ์๋์ง ํ์ ํ์ง ๋ชปํฉ๋๋ค.
docker๋ ๋งค์ฐ ํฌ๊ด์ ์ธ ๋ก๊ทธ ๋๋ผ์ด๋ฒ ๋ชฉ๋ก๊ณผ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค.
K8 ๋ฐฐํฌ ๋จ๊ณ์์ Docker ์์ค์์ ๋ก๊น ์ ์ค์ ํ๊ณ ์ด ์ ๋ณด๋ฅผ K8์ ์ ์ถํ์ง ์๊ณ ์ด๋ฌํ ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ค๋ ํ ์์๋ ์ ์ผํ ๊ฒ์ ์ปจํ ์ด๋ / ํฌ๋ ๋น ์ต์ ์ ์ค์ ํ๋ ๊ฒ์ ๋๋ค (์ค์ ๋ก๋ ์ ์ฉ ๋ ธ๋๋ก ์ค์ ํ๊ณ ๋ ธ๋ ์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์์). ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ด ํฐ ์ ํ์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
@crassirostris ํ๊ฒฝ์ ์ค์ ํ๊ธฐ __์ ์__ ์ค์ ํ ์ ์๋ค๋ ๋ฐ ๋์ํ์ง๋ง ํ๊ฒฝ์ด ์ด๋ฏธ ์ค์ ๋ ํ์ ๋์ปค ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ทน์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ๋ฐฉ๋ฒ์ด ์์ผ๋ฉด ํ์ฌ๋ก์๋ ํผํ ์ ์์ต๋๋ค.
@gabriel-tincu @vhosakot >=1.5์ '์๋ '์ k8๊ณผ Docker ์ฌ์ด์ ์กด์ฌํ๋ ์ง์ ์ธํฐํ์ด์ค๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ์ด์ ์ฝ๋๊ฐ ์์ ํ ์ ๊ฑฐ๋์๋ค๊ณ ์๊ฐํฉ๋๋ค. kubelet๊ณผ Docker(๋๋ rkt, cri-o, runc, lxd์ ๊ฐ์ ๋ค๋ฅธ ๊ฒ๋ค)์ ๊ฐ์ ๋ฐํ์ ์ฌ์ด์ ๋ชจ๋ ๊ฒ์ CRI๋ฅผ ๊ฑฐ์นฉ๋๋ค. ํ์ฌ ๋ง์ ์ปจํ
์ด๋ ๋ฐํ์์ด ์์ผ๋ฉฐ Docker ์์ฒด๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ cri-containerd
+ containerd
๋ฅผ ์ํด ๊ณง ์ ๊ฑฐ๋ ๊ฒ์
๋๋ค.
http://blog.kubernetes.io/2017/11/containerd-container-runtime-options-kubernetes.html
@crassirostris ์ ์์ ๋ํ ์ด๋ค ์์ง์๋ ๋ฐด๋ ๋ด ์ปจํ ์ด๋ ๋ก๊น ์ ๊ฐ๋ฅ์ฑ์ด ์์ ์ ์์ต๋๊น?
CRI ์ปจํ ์ด๋ ๋ก๊ทธ๋ ํ์ผ ๊ธฐ๋ฐ(https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/kubelet-cri-logging.md)์ด๋ฉฐ ๋ก๊ทธ ๊ฒฝ๋ก๋ ๋ช ์์ ์ผ๋ก ์ ์๋ฉ๋๋ค.
/var/log/pods/PodUID/ContainerName/RestartCount.log
๋๋ถ๋ถ์ ๋์ปค ๋ก๊น
๋๋ผ์ด๋ฒ https://docs.docker.com/config/containers/logging/configure/#supported -logging-drivers์์ ํด๋ฌ์คํฐ ํ๊ฒฝ์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ํด๋ฌ์คํฐ์ ์ปจํ
์ด๋ ๋ก๊ทธ์ธ์ ์์งํ๋ ๋๋ผ์ด๋ฒ๋ผ๊ณ ์๊ฐํฉ๋๋ค. splunk
, awslogs
, gcplogs
๋ฑ๊ณผ ๊ฐ์ ๋ก๊น
๊ด๋ฆฌ ์์คํ
CRI์ ๊ฒฝ์ฐ "๋์ปค ๋ก๊ทธ ๋๋ผ์ด๋ฒ"๋ฅผ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค. ์ฌ๋๋ค์ ๋ฐ๋ชฌ์ ์ ์คํํ์ฌ CRI ์ปจํ ์ด๋ ๋ก๊ทธ ๋๋ ํ ๋ฆฌ์์ ์ํ๋ ๊ณณ์ผ๋ก ์ปจํ ์ด๋ ๋ก๊ทธ๋ฅผ ์์งํ ์ ์์ต๋๋ค. ๊ทธ๋ค์ fluentd๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ค์ค๋ก ๋ฐ๋ชฌ์ ์ ์์ฑํ ์๋ ์์ต๋๋ค.
๋ ๋ง์ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๋ฉํ๋ฐ์ดํฐ ํ์ผ์ ์ญ์ ํ๊ฑฐ๋ ํ์ผ ๊ฒฝ๋ก๋ฅผ ํ์ฅํ๊ฑฐ๋ daemonset์ด apiserver์์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋๋ก ํ ์ ์์ต๋๋ค. ์ด์ ๋ํ ๋ ผ์๊ฐ ์งํ ์ค์ ๋๋ค. https://github.com/kubernetes/kubernetes/issues/58638
90์ผ ๋์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋ถ์คํด์ง๋๋ค.
/remove-lifecycle stale
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.
๋ถ์ค ๋ฌธ์ ๋ ์ถ๊ฐ๋ก 30์ผ ๋์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ฉ๊ณ ๊ฒฐ๊ตญ ๋ซํ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ง๊ธ ์ข
๋ฃํด๋ ์์ ํ๋ค๋ฉด /close
.
sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/์๋ช
์ฃผ๊ธฐ ๋ถ์ค
30์ผ ๋์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ค๋๋ ๋ฌธ์ ๊ฐ ์ฉ์ต๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.
์ฉ์ ๋ฌธ์ ๋ ์ถ๊ฐ๋ก 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ง๊ธ ์ข
๋ฃํด๋ ์์ ํ๋ค๋ฉด /close
.
sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ผ์ดํ์ฌ์ดํด ์ฉ์
/remove-lifecycle ๋ถ์ค
/remove-lifecycle ์ฉ์
์ด๊ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด Docker ์ปจํ ์ด๋๋ก k8์ ์คํํ๋ ์ฌ๋์ด AWS CloudWatch์ ๊ฐ์ ์ผ๋ถ ๋ฐฑ์๋์ ๋ํ ๋ก๊น ์ ์ด๋ป๊ฒ ํด๊ฒฐํ์ต๋๊น?
@bryan831 fluentd ๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ ์ฌ์ฉํ์ฌ k8s ์ปจํ ์ด๋ ๋ก๊ทธ ํ์ผ์ ์์งํ๊ณ ์ํ๋ ๋ฐฑ์๋, CloudWatch, StackDriver, Elastisearch ๋ฑ์ผ๋ก ์ง๊ณํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค.
์๋ฅผ ๋ค์ด fluentd+CloudWatch , fluentd+Elastisearch , fluent-bit->fluentd->your choice , Datadog ๋ฐ ๋ค๋ฅธ ์กฐํฉ์ ๋ํ ๊ธฐ์ฑํ Helm ์ฐจํธ๊ฐ ์์ต๋๋ค.
90์ผ ๋์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋ถ์คํด์ง๋๋ค.
/remove-lifecycle stale
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.
๋ถ์ค ๋ฌธ์ ๋ ์ถ๊ฐ๋ก 30์ผ ๋์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ฉ๊ณ ๊ฒฐ๊ตญ ๋ซํ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ง๊ธ ์ข
๋ฃํด๋ ์์ ํ๋ค๋ฉด /close
.
sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/์๋ช
์ฃผ๊ธฐ ๋ถ์ค
Docker --log-opt ์ต์ ์ ์ฌ์ฉ์ ์ ์ํ ์ ์์ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ์ ๊ฒฝ์ฐ์๋ '--log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}"'์ ๊ฐ์ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ImageName์ ๋ก๊ทธ์ ๋ด๋ณด๋ด๊ณ ์ถ์ต๋๋ค. ์ด๋ค ์ปจํ ์ด๋ ๋ฒ์ ์์ ๋ก๊ทธ๊ฐ ๋์ค๋์ง ์ ์ ์์ต๋๋ค. (์ฐธ๊ณ : https://docs.docker.com/config/containers/logging/log_tags/)
/remove-lifecycle ๋ถ์ค
@pmahalwar-intertrust ๋์ปค ๋ฐ๋ชฌ์ ๋์ผํ --log-opt๋ฅผ ์ ๋ฌํ ์ ์์ผ๋ฉฐ ์ด๋ ๋ชจ๋ ์ปจํ ์ด๋์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค...
@pmahalwar-intertrust kubernetes๊ฐ containerd
์์ ์์งํ ๋ก๊ทธ์๋ ์ด๋ฏธ ๊ด๋ฒ์ํ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ปจํ
์ด๋์ ์ ์ฉํ ๋ชจ๋ ๋ ์ด๋ธ์ด ํฌํจ๋์ด ์์ต๋๋ค. fluentd
์์งํ๋ฉด ์๋ ๋ก๊ทธ ํญ๋ชฉ๊ณผ ๊ฐ์ด ๋ชจ๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
{
"log": " - [] - - [25/Oct/2018:06:29:48 +0000] \"GET /nginx_status/format/json HTTP/1.1\" 200 9250 \"-\" \"Go-http-client/1.1\" 118 0.000 [internal] - - - - 5eb73997a372badcb4e3d993ceb44cd9\n",
"stream": "stdout",
"docker": {
"container_id": "3657e1d9a86e629d0dccefec0c3c7624eaf0c4a11f60f53c5045ec0839c37f06"
},
"kubernetes": {
"container_name": "nginx-ingress-controller",
"namespace_name": "ingress",
"pod_name": "nginx-ingress-dev-controller-69c644f7f5-vs8vw",
"pod_id": "53514ad6-d0f4-11e8-a04c-02c433fc5820",
"labels": {
"app": "nginx-ingress",
"component": "controller",
"pod-template-hash": "2572009391",
"release": "nginx-ingress-dev"
},
"host": "ip-172-29-21-204.us-east-2.compute.internal",
"master_url": "https://10.3.0.1:443/api",
"namespace_id": "e262510b-180a-11e8-b763-0a0386e3402c"
},
"kubehost": "ip-172-29-21-204.us-east-2.compute.internal"
}
์ด๋ฌํ ๊ธฐ๋ฅ์ ์ง์ํ ๊ณํ์ ์์ง ์๋์?
--log-driver= ์ปจํ
์ด๋์ฉ ๋ก๊น
๋๋ผ์ด๋ฒ
--log-opt=[] ๋ก๊ทธ ๋๋ผ์ด๋ฒ ์ต์
์๋
ํ์ธ์ @lifubang ๋๊ตฌ์ ๊ณํ์ ๋ํด ๋งํ ์ ์์ง๋ง ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ง์ํ๋ ๋ฐ๋ชฌ์ธ dockerd
๋ ๋ ์ด์ Kubernetes์ ์ผ๋ถ๊ฐ ์๋๋๋ค(์์ ๋ํ ์ค๋ช
์ฐธ์กฐ).
์ํ๋ค๋ฉด ์ฌ์ ํ ์ ํ์ ์ผ๋ก ์ค์นํ ์ ์์ผ๋ฏ๋ก ์ด์ dockerd
๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค. ํด๋น ์ต์
์ ์ฌ๊ธฐ์์ ์ค๋ช
ํฉ๋๋ค.
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/
๊ทธ๋ฌ๋ fluentd
์ ๊ฐ์ ์ ์ฉ ๋ก๊น
์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํด๋ฌ์คํฐ ๋๋ Pod๋ณ๋ก ์ฌ์ด๋์นด๋ก ์ ์ญ์ ์ผ๋ก ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์์๋ Kubernetes ๋ก๊ทธ์ธ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
https://kubernetes.io/docs/concepts/cluster-administration/logging/
@whereisaaron์ ์ํด ์ค๋ช ๋๋๋ก ๋ด๊ฐ๋ณด๊ธฐ ์ Fluentd์ ์ถ์ฒ
์ด ๊ธฐ๋ฅ ์์ฒญ์ด ์์
์ค์ธ ํ... kubernetes ์ํคํ
์ฒ ๋ก๋๋งต์๋ kubernetes์ "์ผ๋ถ"๊ฐ ์๋ ํญ๋ชฉ์ "์ํ๊ณ" ์น์
์๋์ ๋ก๊น
์ด ์์ผ๋ฏ๋ก ์ด๋ฌํ ๊ธฐ๋ฅ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์๋ ์ง๋ ์๋ฌธ์
๋๋ค.
https://github.com/kubernetes/community/blob/master/contributors/devel/architectural-roadmap.md#summarytldr
k8์ ์คํํ ๋ ์ธ์์ ๋ง์น ์ ์๋ ๋ช ๊ฐ์ง ๋ฒ๊ทธ๊ฐ ์์ผ๋ฏ๋ก fluentd๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
in_tail์ ๋์ปค๊ฐ https://github.com/fluent/fluentd/issues/1680 ์ปจํ ์ด๋๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ ๋ฐฉ์ง
in_tail์ ์์ ๋จ๊ณ์์ ์ถ์ ๋์ง ์์ ํ์ผ ์์น๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ์ด๋ pos_file์ ๋ด์ฉ์ด ๋ค์ ์์๋ ๋๊น์ง ์ฆ๊ฐํ๊ณ ๋์ ๊ฒฝ๋ก ์ค์ ์ผ๋ก ๋ง์ ํ์ผ์ ์ฒ๋ฆฌํ ๋ ์ด๋ฅผ ํตํด ์ค์บํ๋ ๋ง์ CPU๋ฅผ ๋จน์ ์ ์์์ ์๋ฏธํฉ๋๋ค.
https://github.com/fluent/fluentd/issues/1126.
90์ผ ๋์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋ถ์คํด์ง๋๋ค.
/remove-lifecycle stale
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.
๋ถ์ค ๋ฌธ์ ๋ ์ถ๊ฐ๋ก 30์ผ ๋์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ฉ๊ณ ๊ฒฐ๊ตญ ๋ซํ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ง๊ธ ์ข
๋ฃํด๋ ์์ ํ๋ค๋ฉด /close
.
sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/์๋ช
์ฃผ๊ธฐ ๋ถ์ค
@roff๋์ ๊ฒฝํ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. fluent/fluentd#1680์ k8s 1.5์ ๋ํ ๋ฌธ์ ์์ผ๋ฉฐ ๊ทธ ๋น์์๋ 'in_tail'์ ์ฌ์ฉํ์ง ์์์ต๋๋ค. k8์ด containerd
๋ก๊น
์ผ๋ก ์ด๋ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๊น? fluent/fluentd#1126์์ ๊ฐ์งํ ์ ์๋ ์ํฅ์ ๋ณด์ง ๋ชปํ์ต๋๋ค.
fluentd
์ ๋ํด ์ถ์ฒํ์
จ์ต๋๋ค. ๋์ ๋ฌด์์ ์ถ์ฒํ์๊ฒ ์ต๋๊น? k8s ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๋ก๊ทธ ์ง๊ณ์ fluentd
๋์ ๊ฐ์ธ์ ์ผ๋ก ๋ฌด์์ ์ฌ์ฉํฉ๋๊น?
30์ผ ๋์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ค๋๋ ๋ฌธ์ ๊ฐ ์ฉ์ต๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.
์ฉ์ ๋ฌธ์ ๋ ์ถ๊ฐ๋ก 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ง๊ธ ์ข
๋ฃํด๋ ์์ ํ๋ค๋ฉด /close
.
sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ผ์ดํ์ฌ์ดํด ์ฉ์
์ฉ์ ๋ฌธ์ ๋ 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
/reopen
๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.
sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ซ๋ค
@fejta-bot: ์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํฉ๋๋ค.
์ ๋ํ ์๋ต ์ด :
์ฉ์ ๋ฌธ์ ๋ 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
/reopen
๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ซ๋ค
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
๋ซํ์ง ๋ง์์ด์ผ ํ์ด, ๊ทธ๋ ์ง?
๊ธฐ๋ฅ ์์ฒญ์ ํฌ๋๋น log-opts๋ฅผ ์ค์ ํ๋ ค๊ณ ํ ๋ ์ฌ์ ํ ์๋ฏธ๊ฐ ์์ต๋๋ค(๋ฐ๋ชฌ์์ ์ค์ ํ๊ฑฐ๋ logrotate๋ฅผ ์ฌ์ฉํ์ง ์๊ณ )...
k8 ๋ด๋ถ์์ ๋์ปค๋ณ ๊ตฌ์ฑ ์ต์ ์ ์ง์ํ๋ ๊ฒ์ ์ข์ ์๊ฐ์ด ์๋๋ผ๊ณ ํ์ ํฉ๋๋ค. ์ด์ ์ ์ธ๊ธํ๋ฏ์ด fluentd daemonset ๋๋ fluenbit ์ฌ์ด๋ ์นด๊ฐ ํ์ฌ ์ต์ ์ ๋๋ค. ์ฌ์ด๋์นด๊ฐ ํจ์ฌ ๋ ์์ ํ๊ธฐ ๋๋ฌธ์ ์ ๋ ์ฌ์ด๋์นด๋ฅผ ์ ํธํฉ๋๋ค.
@whereisaaron K8s@containerd์ ๋ํ ๋ก๊น ์๋ฃจ์ ์
--log-driver , --log-opt ๋ ์ฌ์ ํ ์ง์๋์ง ์์ต๋๊น?
๋จ์ผ ํฌ๋์์ Splunk๋ก ๋ก๊ทธ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์์ต๋๋ค. ์ด๋ค ์์ด๋์ด?
๋จ์ผ ํฌ๋์ ๊ฒฝ์ฐ @sariel1212 splunk ํฌ์๋ฉ ์์ด์ ํธ์ธ ์ฌ์ด๋ ์นด ์ปจํ ์ด๋๋ฅผ ํฌ๋์ ํฌํจํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํฌ๋์ ๋ชจ๋ ์ปจํ ์ด๋ ๊ฐ์ emptydir ๋ณผ๋ฅจ์ ๊ณต์ ํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์ด๋๊ฐ ๊ณต์ emptydir์ ๋ก๊ทธ๋ฅผ ์ฐ๋๋ก ํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ splunk ํฌ์๋ ์ปจํ ์ด๋๊ฐ ํด๋น ๋ณผ๋ฅจ์์ ์ฝ๊ณ ์ ๋ฌํ๋๋ก ํฉ๋๋ค.
์ ์ฒด ํด๋ฌ์คํฐ @sariel1212 ์ ๋ํด Splunk์ ์์งํ๋ ค๋ ๊ฒฝ์ฐ ์์งํ Splunk HEC fluentd
ํ๋ฌ๊ทธ์ธ ์ ์ฌ์ฉํ์ฌ fluentd
๋ฅผ ๋ฐฐํฌ ํ๋ @coffeepac ์ ๊ฒฝ์ฐ ๊ณต์ emptydir์ด ์๋ ์ฌ์ด๋์นด ์ ์์ ์ข์ ์ ๊ทผ ๋ฐฉ์์
๋๋ค.
์ด ์๊ฐ์ด ์ง๋ ํ์๋ ํด๋ฌ์คํฐ ์์ ์๊ฐ Docker ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ง ์๋ค๋ ๊ฒ์ ๋งค์ฐ ๋์ฐํฉ๋๋ค.
Docker-Compose(๋ด K8s ํด๋ฌ์คํฐ ์๋ฎฌ๋ ์ด์ )๋ฅผ ์ฌ์ฉํ์ฌ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ค์ ํ์ฌ ๋ชจ๋ stdout/err์ ๋ด ๋ก๊ทธ ์ง๊ณ ์๋น์ค๋ก ํ์ดํํ ์ ์์์ต๋๋ค.
Kubenetes์์ ์ด๊ฒ์ ํ๋ ค๊ณ ํ์ญ๋๊น? ์ด ์ค๋ ๋์์ ๋ชจ๋ ๋ง์ดํฌ๋ก ์๋น์ค์ ๋ํ ์ฝ๋๋ฅผ ๋ณด๊ฐํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค! ์์ข๋ค.
@ashleydavis ๋ , dockerd
๋ Kubernetes์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฏ๋ก ๋ ์ด์ Kubernetes์ ์ผ๋ถ๊ฐ ์๋ ํญ๋ชฉ์ ๋ํ ์ง์์ ๋์
ํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. Kubernetes ์ธ์๋ ์ฌ์ ํ ์ค์นํ ์ ์์ต๋๋ค. ๋ฐฐ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/
Kubernetes๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ปจํ
์ด๋์ ๋ํ stdout/stderr ๋ก๊ทธ๋ฅผ ์๋์ผ๋ก ์คํธ๋ฆฌ๋ฐํฉ๋๋ค. ๊ฐ ๋
ธ๋์ ํ๋์ ์ปจํ
์ด๋( DaemonSet
)๋ฅผ ๋ฐฐํฌํ๊ธฐ๋ง ํ๋ฉด ํด๋น ๋ก๊ทธ ์คํธ๋ฆผ์ ์์งํ๊ณ ์ ํํ ์ง๊ณ ์๋น์ค๋ก ๋ณด๋ผ ์ ์์ต๋๋ค. ์ ๋ง ์ฌ์์.
https://docs.fluentd.org/container-deployment/kubernetes
์ฌ๊ธฐ์ ๋ฐฑ ์ง๊ณ ๋ฐฑ์๋๋ฅผ ์ํ ๊ธฐ์ฑํ fluentd
+๋ฐฑ์๋ ์ปจํ
์ด๋ ์ด๋ฏธ์ง์ ์ํ ๊ตฌ์ฑ์ด ๋ง์ด ์์ต๋๋ค.
https://github.com/fluent/fluentd-kubernetes-daemonset
DataDog๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋์ ์ค์นํ ์์ฒด ์์ด์ ํธ๊ฐ ์๊ฑฐ๋ fluentd
.
https://docs.datadoghq.com/integrations/kubernetes/
์ผ๋ฐ์ ์ผ๋ก docker
๋ ๋ก๊น
๋ฐ ๋ก๊ทธ ํ๋ฌ๊ทธ์ธ, ์ค์, ๋ฐํ์ ๋๊ตฌ, ๋น๋ ๋๊ตฌ, ๋คํธ์ํน ๋ฐ ํ์ผ ์์คํ
๋ง์ดํธ ๋ฑ์ ๋ชจ๋ ํ๋์ ๋ฐ๋ชฌ ํ๋ก์ธ์ค์์ kitchen sink
docker
ํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. Kubernetes๋ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๊ฐ ํ๋์ ์์
์ ์ํํ๊ณ API๋ฅผ ํตํด ํต์ ํ๋ ๋์จํ๊ฒ ๊ฒฐํฉ๋ ์ปจํ
์ด๋/ํ๋ก์ธ์ค๋ฅผ ์ ํธํฉ๋๋ค. ๊ทธ๋์ ์ต์ํด์ง๊ธฐ์๋ ์กฐ๊ธ ๋ค๋ฅธ ์คํ์ผ์
๋๋ค.
์์ธํ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ๋๋ ํ์คํ ์ด๊ฒ์ ๋ํด ์กฐ์ฌ ํ ๊ฒ์ ๋๋ค.
dockerd๊ฐ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋๋ค๋ ๊ฒ์ ํฅํ Kubernetes์ Docker ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๊น?
@ashleydavis ํ์คํ 'Docker' ์ด๋ฏธ์ง๋ฅผ ๊ณ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ( dockerd
์์ด๋), Kubernetes ๋
ธ๋์ ๊ณ์ํด์ dockerd
๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค(์: docker-in-docker์์์ ๊ฐ์ด). ๋น๋) ์ํ๋ ๊ฒฝ์ฐ. docker์ ํต์ฌ ๋ถ๋ถ์ ์ถ์ถํ์ฌ 'OCI ์ปจํ
์ด๋'์ containerd
๋ฐํ์์ผ๋ก ํ์คํํ์์ต๋๋ค.
https://www.opencontainers.org/
https://containerd.io/
Docker์ Kubernetes๋ ์ด์ ์ด๋ฌํ ๊ณต์ ํ์ค์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
https://blog.docker.com/2017/08/what-is-containerd-runtime/
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/
๋๋ถ์ ๋ง์ด ๋ฐฐ์ฐ๊ณ ์์ต๋๋ค.
๋ฐฉ๊ธ Loggy๋ผ๋ ๋ง์ดํฌ๋ก ์๋น์ค๋ฅผ ๋ง๋ค์์ต๋๋ค. ์๋๋ Docker ๋ก๊ทธ ๋๋ผ์ด๋ฒ์์ ๋ก๊ทธ๋ฅผ ๋ณด๋ธ ๋ค์(์นํ ์ ํตํด) Slack์ผ๋ก ์ ๋ฌํ๋ ๊ฒ์ด์์ต๋๋ค.
์ฌ๊ธฐ์์ ์ฝ๋๋ฅผ ๋ณผ ์ ์์ต๋๋ค: https://github.com/artlife-solutions/loggy/blob/master/src/index.ts
๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. ๋ก๊ทธ๋ฅผ ์์ ํ๊ณ HTTP POST๋ฅผ ํตํด Slack์ผ๋ก ์ ๋ฌํฉ๋๋ค.
๋ด ํฌ๋์์ ๋ก๊ทธ๋ฅผ ์์งํ๊ณ ์ง๊ณํ ์ ์๋๋ก ์ด๋ฅผ ์กฐ์ ํ๋ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
@ashleydavis ํด๋น ๋ง์ดํฌ๋ก ์๋น์ค๊ฐ ํฌํจ๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ๋ค์
ํด๋ฌ์คํฐ์ ๋ชจ๋ ์ปจํ ์ด๋๊ฐ ( ์๋น์ค์ ํด๋ฌ์คํฐ DNS ์ด๋ฆ์ ์ฌ์ฉํ์ฌ) ๋ณด๋ผ ์ ์๋ ์๋น์ค ์ ํจ๊ป ๋ฐฐํฌ ๋ก ํด๋ฌ์คํฐ์ ํฉ๋๋ค .
๋ฐฐํฌ์ ์ถ๊ฐ '์ฌ์ด๋์นด' ์ปจํ
์ด๋๋ก ๋ฐฐํฌ ํฉ๋๋ค. ๋์ผํ Pod์ ์ปจํ
์ด๋๋ ๋์ผํ localhost
๋ํ ๋น๊ณต๊ฐ ์ก์ธ์ค๋ฅผ ๊ณต์ ํ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ปจํ
์ด๋๊ฐ localhost:12201
์ ๋ง์ดํฌ๋ก ์๋น์ค ์ปจํ
์ด๋ ์ฌ์ด๋์นด๋ก ๋ณด๋ผ ์ ์์ต๋๋ค. ๋๋ ๋์ผํ Pod์ ์ปจํ
์ด๋๊ฐ ๊ณต์ ๋ก๊ทธ ํ์ผ ๋๋ ๋ช
๋ช
๋ ํ์ดํ์ ๋ํ ํ ์ ์์ต๋๋ค .
์ด๊ฒ์ ์ฌ๊ธฐ์์ ์ฃผ์ ์์ ๋ฒ์ด๋๊ณ ๋ชจ๋ ์ฌ๋์ด ์ด๊ฒ์ ์ํ๋ ๊ฒ์ ์๋๋ฏ๋ก ์๋ฅผ ์กฐ์ฌํ๊ณ ์กฐ์ธ์ ์ํด Slack ์ฑ๋ ์ ๋ฐฉ๋ฌธํ์ญ์์ค.
https://github.com/ramitsurana/awesome-kubernetes
https://slack.k8s.io/
https://kubernetes.io/
๊ฐ์ฌํฉ๋๋ค. ๊ธฐ์กด ์๋น์ค๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์๊ธฐ๋ฅผ ๋ฐ๋์ต๋๋ค. ๋๋ ๊ทธ๋ค์ ํ์ค ์ถ๋ ฅ/์ค๋ฅ๋ฅผ ์บก์ฒํ๊ณ ์ถ์ต๋๋ค. ์ด์จ๋ ๊ทธ๋ ๊ฒ ํ๋ ค๋ฉด?
Docker ๋ก๊ทธ ๋๋ผ์ด๋ฒ์ ์ฝ์์ ๋จ์์ฑ์ด์์ต๋๋ค. ์ด ์์ ์ ์ํํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
๋ฌผ๋ก @ashleydavis , ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํ๊ณ fluentd
๋ฐฐํฌ ํ๊ณ ์พ
, ์๋ฃ ๐บ. ๋ฐฐํฌํ๋ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์
์๋ ์ ํธํ๋ ์์ง๊ธฐ๋ก ๋ฐฐ์ก๋๋ stdout/stderr์ด ์์ต๋๋ค. ๐
K8s ๋ฐ ๋ก๊น ์ ์๊ฐ์ ํฌ์ํ ํ ๋ช ์์ ์ธ GELF ๊ตฌ์ฑ ์์ด ๋ฉ์ง https://www.elastic.co/guide/en/beats/filebeat/current/running-on-kubernetes.html์ ์ดํด๋ณด์ญ์์ค.
๋ด ์ค์ ์ ๋ก๊ทธ๋ฅผ ํํฐ๋ง ๋ฐ ์ถ์ถํ๊ณ Elasticsearch๋ก ํ์ดํํ๋ Logstash๋ก ํ์ดํํ๋ Filebeat์ ๋๋ค. Kibana๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ๋ฅผ ๋ณด๊ณ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ ์ ์์ต๋๋ค.
๋ํ ์ด์ ์ฒด์ ์ ๊ธฐ๋ณธ syslog ํ์ผ์ ๋ํ ๋ก๊น
์ ์ง์ํ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค์ด Ubuntu์์ /var/log/syslog
๋ก๊ทธ๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก logrotate์ ์ํด ๊ด๋ฆฌ๋ฉ๋๋ค.
swarm/compose๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์์ต๋๋ค.
version: '3.3'
services:
mysql:
image: mysql:5.7
logging:
driver: syslog
options:
tag: mysql
emtpyDir ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ด์ฐฎ์ง๋ง ๋ก๊ทธ ํ์ผ์ ํ์ /์๋ฅด๋ ์ถ๊ฐ ํ๋ก์ธ์ค๋ฅผ ์ถ๊ฐํ์ง ์๋ ํ ์ฅ๊ธฐ ์คํ ํฌ๋๋ ๋ณผ๋ฅจ์ ์ฑ์ธ ์ํ์ด ์์ต๋๋ค. OS๊ฐ ์ด๋ฏธ /var/log/syslog์ ํ์ ์ ์ฒ๋ฆฌํ๊ณ ์์ ๋ ์ด ์ถ๊ฐ ๋ณต์ก์ฑ์ ๋์ํ์ง ์์ต๋๋ค.
์ผ๋ถ ๋ฐฐํฌ์ ์ฌ์ด๋์นด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ ์์ด๋์ด๋ผ๋ ๋ฐ ๋์ํ์ง๋ง(์ผ๋ถ ๋ฐฐํฌ์ ๋ํด ์ด๋ฏธ ์ด ์์ ์ ์ํํ๊ณ ์์) ๋ชจ๋ ์ฌ๋์ ํ๊ฒฝ์ด ๋ค๋ฆ ๋๋ค.
emtpyDir ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ทธ๊ฒ๋ค์ ์กฐ์ฌํ์ธ์. ๊ทธ๊ฒ๋ค์ Kubernetes์ ์ํด ๊ด๋ฆฌ๋๊ณ ๊ทธ๋ค์ ์๋ช ์ ๋น์ ์ ์ํด ํต์ ๋์ง ์์ต๋๋ค. ํฌ๋๊ฐ ์ ๊ฑฐ๋๊ณ ๋ค๋ฅธ ๋ ธ๋๋ก ๋ค์ ์์ฝ๋๋ฉด ๋ก๊ทธ๊ฐ ์์ค๋ฉ๋๋ค. ํฌ๋๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ํด๋น uid๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ด์ ๋ณผ๋ฅจ์ ์ฌ์ฉํ์ง ์๊ณ ์ ๋ณผ๋ฅจ์ ๋ง๋ค๊ณ ์ด์ ๋ณผ๋ฅจ์ ์ ๊ฑฐํฉ๋๋ค.
@jsirianni ๋ชจ๋ ์์คํ ์ด syslog๋ฅผ ์คํํ๋ ๊ฒ์ ์๋๋๋ค. ์ฆ, ์ฃผ์ด์ง ํฌ๋์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ ๋ํ ๋ ธ๋๋ณ ์ฃผ์์ด ์์ด์ผ ํฉ๋๋ค. docker compose๋ ๋ก์ปฌ์์๋ง ์คํ๋๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๊ฐ์ ์ ํฉ๋๋ค.
@coffeepac ๋ ธ๋์ syslog๊ฐ ์๋ค๊ณ ํด์ ์ด์์์๊ฒ ์ต์ ์ด ์์ด์ผ ํ๋ ๊ฒ์ ์๋๋๋ค. syslog๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์์ ์ ๋ ธ๋์ syslog๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ๋ํ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์ง ์ถฉ๋ถํ๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ๋ค์ ์ด์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
/๋ค์ ์ด๋ค
@saiyam1814 : ์ด ๋ฌธ์ ๋ฅผ
์ ๋ํ ์๋ต ์ด :
์ด ๊ธฐ๋ฅ์ ๋ํ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์ง ์ถฉ๋ถํ๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ๋ค์ ์ด์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
/๋ค์ ์ด๋ค
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
๊ฐ์ธ์ ์ผ๋ก ๋๋ ์ฌ์ ํ ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ๋์ปค ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ ๋ก๊น ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ๋ค๋ฅธ ๊ฐ๋จํ ๋ด์ฅ ๋ฐฉ๋ฒ์ ์ง์ํด์ผ ํ๋ค๊ณ ์๊ฐํ๋ค.
Kubernetes์์ ๋ก๊น ์ค์ ์ด ์ฝ๋ค๋ ๋ง์ ์ฌ๋ฌ ๋ฒ ๋ค์์ง๋ง ์ด์ ์์ฒด ๋ก๊น ์ง๊ณ ์์คํ ์ ์ค์ ํ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด์ ์ ๋ง ๊ฐ๋จํ์ง ์๋ค๊ณ ๋งํ ์ ์์ต๋๋ค.
Kubernetes์ฉ ๋ก๊ทธ ์ง๊ณ ์์คํ ์ ์๋์ผ๋ก ์คํํ๋ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ๋ํ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์์ฑํ์ต๋๋ค. http://www.the-data-wrangler.com/kubernetes-log-aggregation/
๋ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋๋ค์ด ์์ ์ ์ ๋ต์ ์ฐพ๋ ๋ฐ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ทธ๋ ๊ฒ ์ด๋ ต์ง๋ ์์ง๋ง ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์๋ ๊ณณ์ ๋๋ค.
๋ฌผ๋ก ๋ก๊ทธ ํ์ผ์ ์ฌ์ฉํ๋ ๋์ stdout ๋ฐ stderr์์ ์ง์ Docker ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค. ํธ์คํธ ์์คํ ์ ๋ค๋ฅธ ๋ก๊ทธ์ ์ก์ธ์คํ ์ ์์ผ๋ฏ๋ก Docker ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ๊ธฐ๋กํ๋ ๋ฐ๋ ๋ช ๊ฐ์ง ๋ณด์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
Docker ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ๊ตฌํํ ์ ์์ต๋๊น? ๐
ํฌ๋๊ฐ ๊ณ ๊ฐ ์ ์ด์ ์๋ ์ปจํ
์ด๋ ์ธ ์ด ํฌ๋ ์์ค์์ ๋์ปค ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ๊ตฌ์ฑํ๋ฉด gelf
๋๋ผ์ด๋ฒ๊ฐ ์๋ ๋ก๊ทธ๋ฅผ ์ง์ ๊ทธ๋ ์ด๋ก๊ทธ ์๋น์ค/ํฌ๋(๊ณ ๊ฐ ์ ์ด์๋ ์์)๋ก ๋ฆฌ๋๋ ์
ํ ์ ์์ต๋๋ค. ) ๋ค๋ฅธ ์ฆ๊ฐ์ ์ธ ์๋น์ค( gelf
๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ๊ด๋ฆฌ ์ค๋ฒํค๋ ๋ฐ ๋ ๋์ ์ถ์ํ ์์ค ์ค๋จ)๋ฅผ ์ฌ์ฉํ์ฌ ํธ์คํธ์ ํ์ผ์์ ๋๋ ์ปจํ
์ด๋ ๋ก๊ทธ ๋๋ ํ ๋ฆฌ์ ์ก์ธ์คํ๋ ๊ณ ๊ฐ์ ํฌ๋์์ ์์งํ๋ ๋์ ํธ์คํธ์.
๋ฐ๋ผ์ ์ด ๊ธฐ๋ฅ์ด kubernetes์์ ๊ตฌํ๋๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ต๋๋ค.
https://github.com/cri-o/cri-o/pull/1605 ์ ๊ฐ์ ์์ ์ ์ํํ๋ ๊ฒ์ด ๋์์ด ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ์ปจํ ์ด๋ ๋์์ด ์ด๋ป๊ฒ ์ํฅ์ ๋ฏธ์น ์ ์๋๋ก ๋ก๊ทธ ๋๋ผ์ด๋ฒ์์ ๋ก๊ทธ ์คํธ๋ฆผ ํด์์ ๋ถ๋ฆฌํฉ๋๋ค. ๋๋ผ์ด๋ฒ๊ฐ ์๋ํฉ๋๋ค.
์ฉ์ ๋ฌธ์ ๋ 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
/reopen
๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.
sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ซ๋ค
@fejta-bot: ์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํฉ๋๋ค.
์ ๋ํ ์๋ต ์ด :
์ฉ์ ๋ฌธ์ ๋ 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
/reopen
๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ซ๋ค
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
๊ธฐ๋ฅ์ ์์ง ๊ตฌํํด์ผ ํฉ๋๋ค.
/๋ค์ ์ด๋ค
@M0rdecay :
์ ๋ํ ์๋ต ์ด :
๊ธฐ๋ฅ์ ์์ง ๊ตฌํํด์ผ ํฉ๋๋ค.
/๋ค์ ์ด๋ค
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
@M0rdecay :
์์์ด, ์ดํดํ์ด
aws ecs์๋ ๋์ปค ๋ก๊น
๋๋ผ์ด๋ฒ๋ฅผ ์ค์ ํ ์ ์๋ ์ด ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
์ฐ๋ฆฌ ํ๊ฒฝ์์๋ ๊ฐ ์ปจํ
์ด๋ ์๋น์ค์ ๋ํด ๊ณ ์ ํ ํ ํฐ์ด ์๋ ๋ณ๋์ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์์ต๋๋ค.
"๋ก๊ทธ ๊ตฌ์ฑ": {
"logDriver": "splunk",
"์ต์
": {
"splunk ํ์": "์์",
"splunk-insecureskipverify": "true",
"splunk-token": "xxxxx-xxxxxxx-xxxxx-xxxxxxx-xxxxxx",
"splunk-url": " https://xxxxx.splunk-heavyforwarderxxx.com ",
"ํ๊ทธ": "{{.Name}}/{{.ID}}",
"splunk-verify-connection": "๊ฑฐ์ง",
"๋ชจ๋": "๋น์ฐจ๋จ"
}
}
๊ทธ๋ฌ๋ k8์์๋ ์ด์ ๊ฐ์ ๊ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ํฌ๋ ์ ์ ์์ฒด์ ์์ด์ผ ํฉ๋๋ค.
์ต์
์ ์์ง ๊ตฌํํด์ผ ํฉ๋๋ค.
/๋ค์ ์ด๋ค
@ejemba : ์ด ๋ฌธ์ ๋ฅผ
์ ๋ํ ์๋ต ์ด :
์ต์ ์ ์์ง ๊ตฌํํด์ผ ํฉ๋๋ค.
/๋ค์ ์ด๋ค
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
/ ์๋ช
๋
ธ๋
/ ์๊ทธ ์ ๊ฑฐ ๊ณ์ธก
/remove-sig ํ์ฅ์ฑ
@logicalhan : ํด๋น ๋ ์ด๋ธ์ด ๋ฌธ์ ์ ์ค์ ๋์ง ์์์ต๋๋ค. sig/
์ ๋ํ ์๋ต ์ด :
/remove-sig ํ์ฅ์ฑ
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
์ด๋ค ์ง์ ์ด ์์ต๋๊น?
๋์ปค์ gelf ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ง์ ํ์ฌ ์ธ๋ถ logstash์ ๋ก๊ทธ์ธํ๋๋ก ํฌ๋์ ์ปจํ
์ด๋๋ฅผ ์ค์ ํ๋ ๊ธฐ๋ฅ์ ํน๋ณํ ์ฐพ๊ณ ์์์ต๋๋ค. /etc/docker/daemon.json์ ๋ชจ๋ ์ปจํ
์ด๋์ ๋ํด ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์ ํ๋ ๊ฒ์ ์ค๋ฒํค๋์ธ ๊ฒ ๊ฐ์ต๋๋ค.
์ฉ์ ๋ฌธ์ ๋ 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
/reopen
๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.
sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ซ๋ค
@fejta-bot: ์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํฉ๋๋ค.
์ ๋ํ ์๋ต ์ด :
์ฉ์ ๋ฌธ์ ๋ 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
/reopen
๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ซ๋ค
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
/๋ค์ ์ด๋ค
@andreswebs : ๋ณธ์ธ์ด ์ ์ํ๊ฑฐ๋ ๊ณต๋ ์์ ์๊ฐ ์๋ ์ด์ ์ด์/PR์ ๋ค์ ์ด ์ ์์ต๋๋ค.
์ ๋ํ ์๋ต ์ด :
/๋ค์ ์ด๋ค
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
/๋ค์ ์ด๋ค
@ejemba : ์ด ๋ฌธ์ ๋ฅผ
์ ๋ํ ์๋ต ์ด :
/๋ค์ ์ด๋ค
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
@ejemba : ์ด ๋ฌธ์ ๋ ํ์ฌ ๋ถ๋ฅ โโ๋๊ธฐ ์ค์ ๋๋ค.
SIG ๋๋ ํ์ ํ๋ก์ ํธ์์ ์ด๊ฒ์ด ๊ด๋ จ ๋ฌธ์ ๋ผ๊ณ ํ๋จํ๋ฉด triage/accepted
๋ ์ด๋ธ์ ์ ์ฉํ์ฌ ์ด๋ฅผ ์๋ฝํ๊ณ ์ถ๊ฐ ์ง์นจ์ ์ ๊ณตํฉ๋๋ค.
triage/accepted
๋ ์ด๋ธ์ ๋๊ธ์ /triage accepted
๋ฅผ ์์ฑํ์ฌ ์กฐ์ง ๊ตฌ์ฑ์์ด ์ถ๊ฐํ ์ ์์ต๋๋ค.
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
์ด ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ผ๋ฉด ์ ๋ง ์ข๊ฒ ์ต๋๋ค. ํ์ฌ Rancher 1.x ํด๋ฌ์คํฐ์์ k8์ ์คํํ๋ Rancher 2.x ํด๋ฌ์คํฐ๋ก ์ํฌ๋ก๋๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๊ณ ์์ต๋๋ค. docker-compose ๊ตฌ์ฑ์์ log-driver ๋ฐ log-opt ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ๋ ๋ฐฐํฌ๊ฐ ์์ต๋๋ค.
ํ๋์ ํน์ ํธ์คํธ๋ฅผ ๊ตฌ์ฑํ์ฌ gelf ๋๋ผ์ด๋ฒ๋ฅผ ์ ์ญ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ํฌ๋์ ๋ ์ด๋ธ์ ์ง์ ํ๊ณ ํธ์คํธ์ ๋ ์ด๋ธ์ ์ง์ ํ๋๋ก ๊ตฌ์ฑํ๊ณ ์ถ์ง ์์ต๋๋ค.
CRI-O๋ฅผ ๋ณ๊ฒฝํ์ฌ ๋ ์ปจํ ์ด๋ ๋ก๊ทธ ์คํธ๋ฆผ(stdout / stderr)์ด ๋ชจ๋ ์์ ํ์์ผ๋ก ์์ง๋๊ณ ๋์ค์ ์์๋ฅผ ์ฝ์ ๋ ๋ก๊ทธ ๋ฐ์ดํธ ์คํธ๋ฆผ์ ๋ค๋ฅธ ํด์์ ์ ์ฉํ ์ ์๋๋ก ์ง์ ํด์ผ ํฉ๋๋ค.
์ฉ์ ๋ฌธ์ ๋ 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
/reopen
๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.
sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ซ๋ค
@fejta-bot: ์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํฉ๋๋ค.
์ ๋ํ ์๋ต ์ด :
์ฉ์ ๋ฌธ์ ๋ 30์ผ ๋์ ํ๋์ด ์์ผ๋ฉด ๋ซํ๋๋ค.
/reopen
๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ๋๋ค.
/remove-lifecycle rotten
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ต์ ์ผ๋ก ํ์ํฉ๋๋ค.sig-testing, kubernetes/test-infra ๋ฐ/๋๋ fejta์ ํผ๋๋ฐฑ์ ๋ณด๋ด์ญ์์ค.
/๋ซ๋ค
PR ๋๊ธ์ ์ฌ์ฉํ์ฌ ๋์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ kubernetes/test-infra ์ ์ฅ์์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ธ์.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์,
์ด๊ฒ์ด ์ฟ ๋ฒ๋คํฐ์ค์์ ๊ณ ๋ คํด์ผ ํ ์ค์ํ ๊ธฐ๋ฅ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
Docker์ ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช ๊ฐ์ง ์ฌ์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋์คํฌ์ ๋ก๊น ํ๋ ๊ฒ์ ๋ฐํจํด์ด๋ผ๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค. ๋ก๊ทธ๋ ๋ณธ์ง์ ์ผ๋ก "์ํ"์ด๋ฉฐ ๋์คํฌ์ ์ ์ฅํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ก๊ทธ๋ฅผ ์ปจํ ์ด๋์์ ์ ์ฅ์๋ก ์ง์ ์ ๋ฌํ๋ฉด ๋ง์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์ ํ๋ฉด kubectl logs ๋ช ๋ น์ด ๋ ์ด์ ์๋ฌด ๊ฒ๋ ํ์ํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ "์์ผ๋ฉด ์ข์" ๊ธฐ๋ฅ์ด์ง๋ง ๋ค๋ฅธ ์์ค์์ ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ด ๊ธฐ๋ฅ์ด ํ์ํ์ง ์์ต๋๋ค.
Docker์๋ ์ด๋ฏธ google ํด๋ผ์ฐ๋(gcplogs) ๋ฐ Amazon(awslogs)์ฉ ๋ก๊ทธ ๋๋ผ์ด๋ฒ๊ฐ ์์ต๋๋ค. Docker ๋ฐ๋ชฌ ์์ฒด์์ ์ค์ ํ ์๋ ์์ง๋ง ๋ง์ ๋จ์ ์ด ์์ต๋๋ค. ๋ ๊ฐ์ง ๋์ปค ์ต์ ์ ์ค์ ํ ์ ์์ต๋๋ค.
--log-driver= ์ปจํ ์ด๋์ฉ ๋ก๊น ๋๋ผ์ด๋ฒ
--log-opt=[] ๋ก๊ทธ ๋๋ผ์ด๋ฒ ์ต์
๋ ์ด๋ธ(gcplogs์ ๊ฒฝ์ฐ) ๋๋ awslogs-group(awslogs์ ๊ฒฝ์ฐ)์ ํจ๊ป ๋ณด๋ผ ์ ์์ต๋๋ค.
ํฌ๋์ ํน์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ค๋ฅธ ์ชฝ ๋์ ์๋ ๋ก๊ทธ๋ฅผ ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค.
์ฌ๋๋ค์ด kubernetes์์ ๋ก๊ทธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ฝ์์ต๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ๋ก๊ทธ๋ฅผ ์ค์ ์์คํ ์ผ๋ก ์ ๋ฌํ๋ ์ ๊ตํ ์คํฌ๋ ์ดํผ๋ฅผ ์ค์ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ก๊ทธ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์ ํ ์ ์์ผ๋ฏ๋ก ํ์ํ์ง ์์ต๋๋ค. ๋ ํฅ๋ฏธ๋ก์ด ์์ ์ ์ํํ ์๊ฐ์ ํ๋ณดํ ์ ์์ต๋๋ค. :)