์ปจํ ์ด๋ ์ด๋ฏธ์ง
์ด ํ์ด์ง์ ๋ด์ฉ
Kubernetes ์ฐ์ฐ์๋ฅผ ์ค์นํ๋ฉด Quay.io ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ์์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค. Kubernetes Operator ์ด๋ฏธ์ง๋ Red Hat UBI ๋ฅผ 8 ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์ด์ ์ฒด์ . MongoDB๋ ์ต์ ์ด์ ์ฒด์ ๋ฐ ์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ฐ์ดํธ๋ฅผ ์ํด ๋งค์ผ Kubernetes Operator ์ด๋ฏธ์ง๋ฅผ ์ฌ๊ตฌ์ถํฉ๋๋ค.
๊ณต์ ์ด๋ฏธ์ง๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
์ต์ ์ ์คํธ๋ฆผ ์ทจ์ฝ์ ์์ ์ ์ํด ๋งค์ผ ์ฌ๊ตฌ์ฑ๋ฉ๋๋ค.
MongoDB๋ ์ด๋ฅผ ํ ์คํธ, ์ ์ง ๊ด๋ฆฌ, ์ง์ํฉ๋๋ค.
๊ฐ ์ด๋ฏธ์ง์ ๋ํด ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ฒ์ ์ ๋ณด๋ ค๋ฉด ๋ค์ ๋งํฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด๋ฏธ์ง ์ด๋ฆ | ์ค๋ช
|
---|---|
MongoDB Agent ์ด๋ฏธ์ง. | |
์ ์ ์ปจํ
์ด๋ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ๋๋ Enterprise MongoDB ์ด๋ฏธ์ง์
๋๋ค. | |
initContainer ์ด๋ฏธ์ง๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์คํฌ๋ฆฝํธ์ ์ค๋น์ฑ ํ๋ก๋ธ๋ฅผ ํฌํจํฉ๋๋ค. | |
๋น์ ์ ์ปจํ
์ด๋์ ์ฌ์ฉ๋๋ MongoDB database ํ๊ฒฝ ์ด๋ฏธ์ง์
๋๋ค. ์ ์ ๋ฐ ๋น์ ์ ์ปจํ
์ด๋์ ๋ํด ์์๋ณด๋ ค๋ฉด ์ ์ ์ปจํ
์ด๋(๊ณต๊ฐ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ)๋ฅผ ์ฐธ์กฐํ์ธ์. | |
initContainer MongoDB Agent ์์ ์คํฌ๋ฆฝํธ ๋ฐ ์ค๋น์ฑ ํ๋ก๋ธ๊ฐ ํฌํจ๋ ์ด๋ฏธ์ง์
๋๋ค. | |
Ops Manager ์ด๋ฏธ์ง. | |
initContainer Ops Manager ์์ ์คํฌ๋ฆฝํธ ๋ฐ ์ค๋น์ฑ ํ๋ก๋ธ๊ฐ ํฌํจ๋ ์ด๋ฏธ์ง์
๋๋ค. |
์ ์ ์ปจํ ์ด๋(๊ณต๊ฐ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ)
์ ์ ์ปจํ ์ด๋๋ ๋น์ ์ ์ปจํ ์ด๋๋ณด๋ค ๊ฐ๋จํ๊ณ ์์ ํฉ๋๋ค. ์ ์ ์ปจํ ์ด๋๋ ๋ฐํ์์ ๋ณ๊ฒฝ๋์ง ์์ผ๋ฏ๋ก ์ปจํ ์ด๋ ์์ฑ์ ์ฌ์ฉ๋ ์ด๋ฏธ์ง์์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค. ๋ํ ๋ค์์ ์ํํฉ๋๋ค.
์ ์ ์ปจํ ์ด๋๋ ์คํ ์ค์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ํตํด ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํ๊ฑฐ๋ ์คํฌ๋ฆฝํธ ๋๋ ๊ธฐํ ์ ํธ๋ฆฌํฐ๋ฅผ ์คํํ์ง ์์ต๋๋ค. ์ ์ ์ปจํ ์ด๋๋ ๋ฐํ์ ๊ตฌ์ฑ ํ์ผ๋ง ๋ค์ด๋ก๋ํฉ๋๋ค.
์ ์ ์ปจํ ์ด๋๋ ์คํ๋๋ ๋์ ์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ ๋ง์ดํธ๋ฅผ ์ ์ธํ๊ณ ๋ ์ด๋ค ํ์ผ๋ ์์ ํ์ง ์์ต๋๋ค.
์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ๋ํ ๋ณด์ ์ค์บ์ ์คํํ์ฌ ์ค์ ๋ก ๋ฌด์์ด ๋ผ์ด๋ธ ์ปจํ ์ด๋๋ก ์คํ๋๋์ง ํ์ธํ ์ ์์ผ๋ฉฐ, ์คํ๋๋ ์ปจํ ์ด๋๋ ์ด๋ฏธ์ง์ ์ ์๋ ๋ฐ์ด๋๋ฆฌ ์ด์ธ์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์คํํ์ง ์์ต๋๋ค.
์ ์ ์ปจํ ์ด๋๋ Ops Manager๋ ๋ค๋ฅธ HTTPS ์๋ฒ์์ MongoDB ๋ฐ์ด๋๋ฆฌ๋ฅผ ํธ์คํ ํ ํ์๊ฐ ์์ผ๋ฏ๋ก ์์ด ๊ฐญ ํ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ ํนํ ์ ์ฉํฉ๋๋ค.
์ ์ ์ปจํ ์ด๋์ ๋ํด ๊ด๋ฒ์ํ
CMD
์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.initContainer
์(๋ฅผ) ์ฌ์ฉํ์ฌ ์ ์ ์ปจํ ์ด๋ ๊ฐ์ ํ์ผ์ ๋ณต์ฌํ ์ ์์ต๋๋ค.
MongoDB Enterprise Kubernetes Operator 1 ์ผ)๋ก ์์ํฉ๋๋ค.25, ๋ฐํ์์ Cloud Manager, Ops Manager ๋๋ ์ธํฐ๋ท์์ MongoDB ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํ๋ ๊ธฐ์กด์ ๋น์ ์ ์ปจํ ์ด๋ ๋์ ์ ์ ์ปจํ ์ด๋์ Public Preview๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ํ์ด์ง์ ์ ์ฐจ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๋๋ ๊ฐ๋ณ MongoDB ๋ฐฐํฌ์ ๋ํด ์ ์ ์ปจํ ์ด๋๋ฅผ ํ์ฑํํ๊ฑฐ๋ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
์ ์ ์ปจํ ์ด๋๋ mongodb-enterprise-server ๊ธฐ๋ณธ์ ์ผ๋ก Quay.io ๋ฆฌํฌ์งํ ๋ฆฌ์ด์ง๋ง Kubernetes ๋ ธ๋ ์ ๋ํด ๊ตฌ์ฑํ ๊ฒฝ์ฐ ์์ฒด ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. .
์ํคํ ์ฒ
์ ์ ์ปจํ ์ด๋์ ๋น์ ์ ์ปจํ ์ด๋์ ์ํคํ ์ฒ๋ ํฌ๊ฒ ๋ค๋ฅด๋ฉฐ, ์ปจํ ์ด๋ ๊ฐ์ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๋ฐ ์ฌ๋ฌ ๋จ๊ณ๊ฐ ํ์ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ ์ ์ปจํ ์ด๋ ๋ก ๋ง์ด๊ทธ๋ ์ด์ ๋ฐ ๋น์ ์ ์ปจํ ์ด๋๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ ์ฐธ์กฐํ์ธ์.
๋น์ ์ ์ปจํ ์ด๋ ์ํคํ ์ฒ
๊ธฐ๋ณธ ๋น์ ์ ์ปจํ
์ด๋ ์ํคํ
์ฒ๋ ๋น ์
ธ ์ปจํ
์ด๋๋ฅผ MongoDB Agent ๋ถํธ์คํธ๋ฉํ๋ค๊ณ ๊ฐ์ ํ๊ณ , ๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ์์ํ ๋ค์,mongod
mongosh
Cloud Manager ๋๋ MongoDB Ops Manager์์ ๋ฐ ์ ๋ํ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค.
์ ์ ์ปจํ ์ด๋ ์ํคํ ์ฒ
์ ์ ์ปจํ
์ด๋ ์ํคํ
์ฒ๋ Kubernetes์๊ณต์ ๋ค์์คํ์ด์ค ๊ธฐ๋ฅ ์ ์ฌ์ฉํฉ๋๋ค. MongoDB Agent๋ฅผ ๋ณ๋์ ํ๋ก์ธ์ค๋ก ์คํํ์ฌ mongod
์ ์ฒด ๋ผ์ดํ์ฌ์ดํด์ ์ ์ดํ๊ณ ๋คํธ์ํฌ๋ฅผ ํตํด ํ์ผ์ ๋ค์ด๋ก๋ํ์ง ์๋๋ก ํฉ๋๋ค.
๋ก์ปฌ ๋๋ ์๊ฒฉ ๋ชจ๋์์ ํธํ์ฑ
์ ์ ์ปจํ
์ด๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์
์ ์ฌ์ฉํ์ง ์๋ ํ ๋ก์ปฌ ๋ชจ๋ ๋๋ ์๊ฒฉ ๋ชจ๋ ์์ ์คํ๋๋๋ก Ops Manager๋ฅผ ๊ตฌ์ฑํ ํ์๊ฐ ์์ต๋๋ค. ์ ์ ์ปจํ
์ด๋ ์ํคํ
์ฒ์์ ์์ด์ ํธ ๋ฐ mongod
์ ๋ฐ์ด๋๋ฆฌ์๋ ์์ฒด ์ปจํ
์ด๋ ์ด๋ฏธ์ง๊ฐ ์์ผ๋ฉฐ ์ด๋ Ops Manager์์ ๋ค์ด๋ก๋๋์ง ์์ต๋๋ค.
์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์ ์ ์์ธ๋ก, ๋น์ ์ ์ปจํ ์ด๋ ์ํคํ ์ฒ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฑ์ ๋ฐ๋ชฌ์ด ๋ฐฑ์ ๋ ๋ชจ๋ ๋ฒ์ ์ ๋ํด MongoDB Server ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์คํํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด ๊ธฐ๋ณธ MongoDB ๋์์ ๋ฐฑ์ ๋ฐ๋ชฌ์ ์คํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ปจํ ์ด๋์ ์์ ํ ์ ์ ํน์ฑ์ ์์์ํต๋๋ค. ์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ๋ก์ปฌ ๋๋ ์๊ฒฉ ๋ชจ๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ จ MongoDB Server ๋ฐ์ด๋๋ฆฌ๋ฅผ ํธ์คํ ํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋๋ก Ops Manager ๋ฆฌ์์ค ๊ตฌ์ฑ ๋๋ ์๊ฒฉ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋๋ก Ops Manager ๋ฆฌ์์ค ๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
์ด์ ์ ์๊ฒฉ ๋๋ ๋ก์ปฌ ๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์ด ์๊ณ ์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์
์ ์ฌ์ฉํ์ง ์์ผ๋ ค๋ ๊ฒฝ์ฐ ๋ค์์ ์ํํ์ฌ mongodb-enterprise-server
์ด๋ฏธ์ง ๊ฐ ๋
ธ๋ ์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. Pods์์ ์ฌ์ฉํฉ๋๋ค.
Kubernetes ๋ ธ๋์ ๋ํ ๋ด๋ถ ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
๋ ธ๋ Quay.io ์์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค. ๋ก์ปฌ ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์๋ ํ
mongodb-enterprise-server
์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ์ถ๊ฐํฉ๋๋ค.
์ ํ ์ฌํญ
์ ์ ์ปจํ ์ด๋๋ฅผ ํ์ฑํํ๋ ๊ฒฝ์ฐ:
๋ฐฑ์ ๋ฐ๋ชฌ ์๋น์ค ๊ฐ MongoDB MongoDB Ops Manager์์ ๋ฐ์ด๋๋ฆฌ ๋ค์ด๋ก๋๋ฅผ ์๋ํ์ง ์๋๋ก ์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์ ์ ๋นํ์ฑํ ํด์ผ ํ๋ฉฐ, ์ด๋ ์ ์ ์ปจํ ์ด๋์ ๋ถ๋ณ์ ํน์ฑ์ ํผ์ํฉ๋๋ค.
Ops Manager์์๋ 6 ๋ฒ์ ๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.0.24, 7.0.5 ์ด์๊ณผ ํธํ๋ฉ๋๋ค. Kubernetes Operator๋ ํน์ ๋ฐฐํฌ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ ํํ Ops Manager ๋ฒ์ ์ ๋ฐ๋ผ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ์ MongoDB Agent ์ปจํ ์ด๋๋ฅผ ์๋์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
MongoDB Cloud Manager๋ฅผ ์ฌ์ฉํ๋ฉด Kubernetes Operator๊ฐ MongoDB Cloud Manager์์
agentVersion
์๋ํฌ์ธํธ๋ฅผ ํธ์ถํ ์ ์๊ธฐ ๋๋ฌธ์ MongoDB Agent ๋ฒ์ ์ด ์ต์ ๋ฒ์ ์ MongoDB Cloud Manager์ ํธํ๋์ง ์์ ์ ์์ต๋๋ค. MongoDB Cloud Manager๋ฅผ ์ฌ์ฉํ์ฌ MongoDB Agent๋ฅผ ์ต์ ์ํ๋ก ์ ์งํ๋ ค๋ฉด ๋ค์ ์์ ์ค ํ๋๋ฅผ ์ํํ๋ฉด ๋ฉ๋๋ค.StatefulSet ์ ์ฌ์ ์ํ์ฌ MongoDB ๋ฆฌ์์ค ์ฌ์ ์์ ํธํ๋๋ MongoDB Agent ๋ฒ์ ์ ์ง์ ํฉ๋๋ค. MongoDB Agent์ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
podSpec: podTemplate: spec: containers: - name: mongodb-agent-ubi Image: 12.0.29.7785-1_1.24.0 Kubernetes Operator๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ ํ๋ฉด MongoDB Agent๊ฐ ์๋์ผ๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
Atlas MongoDB ๋ฒ์ ์ ๊ทธ๋ ์ด๋ ๋ง์ง๋ง ์์์์ ์ฒซ ๋ฒ์งธ ์์๋ก ๋ชจ๋ ํ๋๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฌ์์ํ๋ฉฐ, ํ๋ ์์ ๋ฐ๋ผ ๋ ๋ง์ ํฌํ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ ๋กค๋ง ์ฌ์์์ trigger ํ๋ ๋ชจ๋ ์ ๋ฐ์ดํธ์ ํด๋น๋ฉ๋๋ค.
MongoDB Agent์ ์ํ ์์๋ ์ ๊ทธ๋ ์ด๋๊ฐ ๋ฐ์ํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ ์ MongoDB database ์์ต๋๋ค. ์ ๊ทธ๋ ์ด๋ ํ Kubernetes๊ฐ Pods๋ฅผ ํ์ ํ๋ฉด MongoDB Agent๊ฐ ์ํ ํ์ผ์ ๊ต์ฒดํ๋ฏ๋ก ์ํ์์ ๋ฒ์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋์ง ์ ์ ์๊ณ ํ์ฌ ์ํ๋ง ์ ์ ์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ ์ ์ปจํ ์ด๋๋ ๋ก์ปฌ ๋๋ ์๊ฒฉ ๋ชจ๋๋ฅผ ์ง์ํ๋์?
์๋์, ์ ์ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์ ์ ์ฌ์ฉํ์ง ์๋ ํ ๋ก์ปฌ ๋ชจ๋ ๋๋ ์๊ฒฉ ๋ชจ๋ ์์ ์คํ๋๋๋ก Ops Manager๋ฅผ ๊ตฌ์ฑํ ํ์๊ฐ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๋ฐ ์๊ฒฉ ๋ชจ๋๋ฅผ ์ฐธ์กฐํ์ธ์.
์ ์ ์ปจํ ์ด๋์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌด์์ธ๊ฐ์?
์ ์ ์ปจํ ์ด๋๋ ๋ฐํ์์ MongoDB ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํ์ง ์์ต๋๋ค. ๋์ mongodb-enterprise-server ์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. Quay.io ๋ฆฌํฌ์งํ ๋ฆฌ. ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ์์ธํ ์์๋ณด๋ ค๋ฉด ๋จ๊ณ๋ฅผ 6 ์ฐธ์กฐํ์ธ์.
๋ฐฐํฌ๊ฐ ์ ์ ์์ ์คํ ์ค์ธ์ง ์ด๋ป๊ฒ ํ์ธํ ์ ์๋์?
๋ฐฐํฌ์์ ์ ์ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ์์ธํ ์์๋ณด๋ ค๋ฉด 7 ๋จ๊ณ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ ์ ์ปจํ ์ด๋๋ก ๋ง์ด๊ทธ๋ ์ด์
๋น์ ์ ์ปจํ ์ด๋์์ ์ ์ ์ปจํ ์ด๋๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ค๋ฉด ์๋ ๋จ๊ณ์ ๋ฐ๋ผ MongoDB Agent ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๊ณ ์ ์ ์ปจํ ์ด๋๋ฅผ ํ์ฑํํ์ธ์. ์ค์น ๋๋ ์ ๊ทธ๋ ์ด๋ ์ค์ ์ ์ ์ปจํ ์ด๋๋ฅผ ํ์ฑํํ ์๋ ์์ต๋๋ค.
์ ํ ์ฌํญ ์ ๊ฒํ ํฉ๋๋ค.
์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์ ์ ๋นํ์ฑํํฉ๋๋ค.
์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์ ๋นํ์ฑํ์ ์ ์ฐจ๋ฅผ ๋ฐ๋ฅด์ธ์.
์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ก์ปฌ ๋ชจ๋ ๋๋ ์๊ฒฉ ๋ชจ๋ ๋ฅผ ์ฌ์ฉํ๋๋ก Ops Manager ๋ฆฌ์์ค๋ฅผ ๊ตฌ์ฑํ์ฌ ์ฌ์ฉ ์ค์ธ ๋ชจ๋ ๋ฒ์ ์ ๋ฐ์ด๋๋ฆฌ๋ฅผ Ops Manager์์ ๊ฐ์ ธ์ฌ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.
MongoDB Agent ์ด๋ฏธ์ง์ ๋ํ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค.
Kubernetes Operator ๊ตฌ์ฑ ํ์ผ ์์ MDB_AGENT_IMAGE_REPOSITORY ํ๊ฒฝ ๋ณ์๋ฅผ ์ ์ํ์ฌ Kubernetes Operator๊ฐ ์ ์ ์ปจํ ์ด๋์ฉ MongoDB Agent ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค.
Kubernetes Operator Helm ์ฐจํธ ์์ registration.agent ๋ฐ Agent.name ์ ์ ์ํ์ฌ Kubernetes Operator๊ฐ ์ ์ ์ปจํ ์ด๋์ฉ MongoDB Agent ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค.
ํ์ผ์ ์ ์ฅํ๊ณ ์ ์ฉํฉ๋๋ค.
๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ ํ ๊ตฌ์ฑ์ ๋ค์ ์ ์ฉํฉ๋๋ค.
OpenShift ์์ด Kubernetes๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ค์์ ์คํํฉ๋๋ค.
kubectl apply -f mongodb-enterprise.yaml
OpenShift์ ํจ๊ป Kubernetes๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ:
oc apply -f mongodb-enterprise-openshift.yaml
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent'
์ด๋ ๊ฒ ํ๋ฉด ๋ฐฐํฌ์ ์๋ ๋ชจ๋ ํ๋์ ๋กค๋ง ์ฌ์์์ด ์์๋ฉ๋๋ค.
์ ์ ์ปจํ ์ด๋๋ฅผ ํ์ฑํํฉ๋๋ค.
์๋์์ ์ ์ ํ ํญ์ ์ ํํ์ฌ ๊ธฐ์กด ๋ฐฐํฌ๋ฅผ ํฌํจํ ๋ชจ๋ MongoDB ๋ฐฐํฌ์ ๋ํ ์ ์ ์ปจํ ์ด๋๋ฅผ ํ ๋ฒ์ ํ์ฑํํ๊ฑฐ๋ ํ ๋ฒ์ ํ๋์ ๋ฐฐํฌ๋ฅผ ํ์ฑํํฉ๋๋ค.
Kubernetes Operator ๊ตฌ์ฑ ํ์ผ ์์ MDB_DEFAULT_ARCHITECTURE ๋๋ operator.mdbDefaultarchitecture ๋ฅผ static
๋ก ์ค์ ํฉ๋๋ค.
ํน์ ๋ฐฐํฌ์ ๋ํ MongoDB ๋ฆฌ์์ค ์ฌ์ ์์ metadata.annotations.mongodb.com/v1.architecture
์ฃผ์์ static
๋ก ์ค์ ํฉ๋๋ค.
ํ์ผ์ ์ ์ฅํ๊ณ ์ ์ฉํฉ๋๋ค.
๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ ํ ๊ตฌ์ฑ์ ๋ค์ ์ ์ฉํฉ๋๋ค.
OpenShift ์์ด Kubernetes๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ค์์ ์คํํฉ๋๋ค.
kubectl apply -f <my-config-file>.yaml
OpenShift์ ํจ๊ป Kubernetes๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ:
oc apply -f <my-config-file>.yaml
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set <setting_1> --set <setting_2> --set operator.mdbDefaultArchitecture="static"
Kubernetes Operator๊ฐ StatefulSet ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค. ์ด์ ์ MongoDB Agent์ MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ชจ๋ ๊ด๋ฆฌํ๋ ๋จ์ผ ์ปจํ ์ด๋์์ MongoDB Agent์ฉ ์ปจํ ์ด๋์ MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฉ ์ปจํ ์ด๋๋ผ๋ ๋ ๊ฐ์ ๋ณ๋ ์ปจํ ์ด๋๊ฐ ์๋ ์๋ก์ด ๊ตฌ์ฑ์ผ๋ก ์ ํํฉ๋๋ค. ์ด ์ ๋ฐ์ดํธ๋ ๋กค๋ง ์ฌ์์์ ์์ํฉ๋๋ค.
์ ์ ์ปจํ ์ด๋๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค.
Kubernetes ๋ ธ๋ ๊ตฌ์ฑ๋ ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ด๋ก๋๋ฅผ ์ํํฉ๋๋ค.
๋ชจ๋ํฐ๋ง ์์ด์ ํธ์ ์๋ํ ์์ด์ ํธ ๋ฒ์ ์ด ์ผ์นํฉ๋๋ค.
์์ด์ ํธ ๋์ Kubernetes Operator๊ฐ MongoDB ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
Kubernetes Operator๋ ๊ธฐ์กด ์ด๋ฏธ์ง๋ฅผ ๋์ฒดํ๋ฏ๋ก ๋กค๋ง ์ฌ์์์ด ๋ฐ์ํฉ๋๋ค.
๋ฐฐํฌ๊ฐ ์ ์ ์์ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.
๋ค์ ๋ณ์ ์ค ํ๋์ ๊ฐ์ ํ์ธํ๋ฉฐ, ์ด ๋ณ์๋ ๋ฐ๋์
static
๋ก ์ค์ ํด์ผ ํฉ๋๋ค.MDB_DEFAULT_ARCHITECTURE
๋ชจ๋ ๋ฐฐํฌ์ ์ฌ์ฉํ ์ ์๋ ๋ณ์์ ๋๋ค.metadata.annotations[mongodb.com/v1.architecture]
๋ฐฐํฌ๋ณ ๋ณ์์ ๋๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฐํฌ๋ฅผ ํ์ธํ์ฌ ๋ ๊ฐ์ ๊ฐ๋ณ ์ด๋ฏธ์ง(์์ด์ ํธ์ฉ๊ณผ MongoDB์ฉ)์ ์ฌ์ฉ๋์ ํ์ธํ๊ณ init ์ปจํ ์ด๋๊ฐ ๋ฐฐํฌ๋์ง ์์๋์ง ํ์ธํฉ๋๋ค.
๋น์ ์ ์ปจํ ์ด๋๋ก ๋ง์ด๊ทธ๋ ์ด์
์ ์ ์ปจํ ์ด๋์์ ๋น์ ์ ์ปจํ ์ด๋๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ค๋ฉด ์๋ ๋จ๊ณ์ ๋ฐ๋ผ ์ ์ ์ปจํ ์ด๋๋ฅผ ๋นํ์ฑํํ์ธ์. ์ค์น ๋๋ ์ ๊ทธ๋ ์ด๋ ์ค์ ์ ์ ์ปจํ ์ด๋๋ฅผ ๋นํ์ฑํํ ์๋ ์์ต๋๋ค.
์ ์ ์ปจํ ์ด๋๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
๊ธฐ์กด ๋ฐฐํฌ๋ฅผ ํฌํจํ ๋ชจ๋ MongoDB ๋ฐฐํฌ์ ๋ํ ์ ์ ์ปจํ ์ด๋๋ฅผ ํ ๋ฒ์ ๋นํ์ฑํํ๊ฑฐ๋ ํ ๋ฒ์ ํ๋์ ๋ฐฐํฌ๋ฅผ ๋นํ์ฑํํ๋ ค๋ฉด ์๋์์ ์ ์ ํ ํญ์ ์ ํํฉ๋๋ค.
Kubernetes Operator ๊ตฌ์ฑ ํ์ผ ์์ MDB_DEFAULT_ARCHITECTURE ๋๋ operator.mdbDefaultarchitecture ๋ฅผ non-static
๋ก ์ค์ ํฉ๋๋ค.
ํน์ ๋ฐฐํฌ์ ๋ํ MongoDB ๋ฆฌ์์ค ์ฌ์ ์์ metadata.annotations.mongodb.com/v1.architecture
์ฃผ์์ non-static
๋ก ์ค์ ํฉ๋๋ค.
ํ์ผ์ ์ ์ฅํ๊ณ ์ ์ฉํฉ๋๋ค.
๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ ํ ๊ตฌ์ฑ์ ๋ค์ ์ ์ฉํฉ๋๋ค.
OpenShift ์์ด Kubernetes๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ค์์ ์คํํฉ๋๋ค.
kubectl apply -f <my-config-file>.yaml
OpenShift์ ํจ๊ป Kubernetes๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ:
oc apply -f <my-config-file>.yaml
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set <setting_1> --set <setting_2> --set operator.mdbDefaultArchitecture="non-static"
Kubernetes Operator๋ StatefulSet ๋ฅผ ๋์ฒดํฉ๋๋ค. MongoDB ๋ฐฐํฌ์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ณ ๋ฐฐํฌ์ ์๋ ๋ชจ๋ ํ๋์ ๋กค๋ง ์ฌ์์์ ์์ํฉ๋๋ค.