
์ต๊ทผ Broadcom์ด Bitnami๋ฅผ ์ธ์ํ๋ฉด์ Bitnami ์ด๋ฏธ์ง๊ฐ ์ ๋ฃํ๋์์ต๋๋ค. ๋ํ, Helm chart๋ ๋ ์ด์ ์ ์ง๋ณด์๊ฐ ์ด๋ฃจ์ด์ง์ง ์๊ฒ ๋ฉ๋๋ค.
Broadcom์ด Bitnami์ ๋ํ ๊ถ๋ฆฌ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ฉด์ ์ด์ ๋ณด์ ์ค์ ์ ๋ํ ๋น์ฉ์ ๋ฐ๊ฒ ๋ค๋ ๊ฒ์ผ๋ก ๋ณด์ด๋๋ฐ, ํ์ฌ ํ์ฌ์์๋ Bitnami๋ฅผ ๊ธฐ์กด์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๊ณ ์์ด์ ๋์์ด ํ์ํ์ต๋๋ค.
๊ฐ๋จํ์ง๋ง ์ด๋ฅผ ๋์ํ๋ ๊ณผ์ ๊ณผ, ํ์ ์กฐ์น ๋ฐฉ์์ ์กฐ์ฌํ๋ฉด์ ๋ค์๋ ์ฌ๋ฌ ์๊ฐ์ ์ ๋ฆฌํด ๋ณด์์ต๋๋ค.
Bitnami๋ฅผ ์ฌ์ฉํด ์๋ ์ด์
Bitnami๋ฅผ ์ฌ์ฉํด ์จ ๊ฐ์ฅ ํฐ ์ด์ ๋ ๋ค์ 3๊ฐ์ง์์ต๋๋ค.
- ํธ์์ฑ
- Bitnami์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์ ๋ ๋ณด์ ์ต์
์ด ๋ง์ต๋๋ค.
๋ํ์ ์ผ๋ก UID๊ฐ Dockerfile์ 1000๋ฒ๋๋ก ํ๋์ฝ๋ฉ๋์ด ์์ด ๋ฃจํธ ๊ณ์ ์ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ,existingSecret์ ์ฌ์ฉํ์ฌ ๋น๋ฐ ์ ๋ณด๋ฅผvalues.yaml์ ์ง์ ์ฃผ์ ํ์ง ์๊ณ ์ฌ์ฉํ๋ ์ต์ ๋ ๋๋ถ๋ถ ์๋น์ค์์ ์ง์ํฉ๋๋ค. - ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์ ์ํด์๋ ๊ธฐ๋ณธ
values.yamlํ์ผ์ ์ฌ์ฉํด๋ ๋ ์ ๋๋ก ๊ตฌ์ฑ์ด ์ ๋์ด ์์ต๋๋ค.
- Bitnami์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์ ๋ ๋ณด์ ์ต์
์ด ๋ง์ต๋๋ค.
- ๊พธ์คํ ์
๋ฐ์ดํธ
- Bitnami์ ์ด๋ฏธ์ง์ Helm chart๋ ์ปค๋ฎค๋ํฐ์ ์ํด ๊พธ์คํ ๊ด๋ฆฌ๋์ด ์์ต๋๋ค.
- ๋ฒ์ ์ ๋ฐ์ดํธ๋ ๊พธ์คํ ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ์ต์ ์ํ๋ก ์ ์งํ๊ธฐ๋ ์ฉ์ดํฉ๋๋ค.
- ๋ฑํ ์๋ ๋์ฒด์ฌ
- Bitnami ์ ๋์ ์์ฑ๋๋ฅผ ๊ฐ์ง ๋์ฒด์ฌ๋ฅผ ์ฐพ๊ธฐ ์ฝ์ง ์์ต๋๋ค.
- ์ฌ์ง์ด ๊ณต์ Helm chart๋ ์๋๋ฐ Bitnami์๋ Helm chart๊ฐ ์๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
๊ทธ๋์ ์ด๋ค ๋๊ตฌ๋ฅผ K8s ํ๊ฒฝ์ ์ค์นํด์ผ ํ ๋ ๊ฒ์ํด ๋ณด๋ฉด Bitnami ์ฐจํธ๋ฅผ ์ฌ์ฉํ๋ ์ผ์ด์ค๋ฅผ ๋ง์ด ๋ณผ ์ ์์๊ณ , ๋๋ก๋ ์ ๋ขฐ๋๊ฐ ์๋ ์ ์ผํ ์ ํ์ง์ธ ๊ฒฝ์ฐ๋ ์์์ต๋๋ค.
์ ๋ฃํ์ ๋ฐ๋ฅธ ๋์
ํ์ง๋ง ์์์ ์ค๋ช
ํ ๊ฒ์ฒ๋ผ Bitnami ์ด๋ฏธ์ง๊ฐ ์ ๋ฃํ๊ฐ ์งํ๋์๊ธฐ ๋๋ฌธ์, ์ด์ ๊ฐ์ ์ฃผ์๋ก ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ค ํ ๊ฒฝ์ฐ Pull์ ํ์ง ๋ชปํด ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.
bitnamilegacy๋ก ์ฃผ์๊ฐ ๋ณ๊ฒฝ๋์๊ธฐ ๋๋ฌธ์, ์ด๋ฐ ์์ผ๋ก ๋ณ๊ฒฝ์ด ํ์ํฉ๋๋ค.
(Helm chart๋ง๋ค ์ ์ฉ ๋ฐฉ๋ฒ์ด ๋ค๋ฅผ ์ ์์ต๋๋ค.)
global:
security:
allowInsecureImages: true
image:
repository: bitnamilegacy/thanos
์ฃผ์ํ ์ ์ initContainer ๋๋ ํ์ ์ปดํฌ๋ํธ์์ Bitnami ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ทธ ์ค์ ๋ ๋ฐ๊ฟ ์ฃผ์ด์ผ ํ๋ค๋ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด, Harbor ์ฐจํธ๋ PostgresQL ๋ฑ์ ์์กด์ฑ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ, ์ด๋ ์์กด์ฑ ์ฐจํธ๋ Bitnami์ด๊ธฐ ๋๋ฌธ์ ํ์ธ์ด ํ์ํฉ๋๋ค.
๋ํ, ์ฌ๋ฌ Bitnami ์ฐจํธ์์ ๋ณผ๋ฅจ ๊ถํ ๋ณ๊ฒฝ์ด๋ ๊ฐ์ข
์ค์ ์ ๋ณ๊ฒฝํ๋ os-shell๋ Bitnami ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
์ถ๊ฐ ๋์ ๋ฐฉ์
1. ๊ธฐ์กด ์ฌ์ฉ ๋ฆฌ์์ค ๋ฐฑ์
๊ฐ์ฅ ์ฐ์ ์์๊ฐ ๋์ ์์
์
๋๋ค.
๋น์ฅ์ bitnamilegacy๋ก ์ฃผ์๋ฅผ ๋ณ๊ฒฝํจ์ผ๋ก์จ ํด๊ฒฐ์ด ๊ฐ๋ฅํ์ง๋ง, ์ด๊ฒ๋ ๊ณ์ ์ ์ง๋๋ค๋ ํ์ ์ด ์์ต๋๋ค.
๋ฐ๋ผ์ ํ์ฌ ์ฌ์ฉํ๋ ์ด๋ฏธ์ง๋ฅผ (+ ๊ฐ๋ฅํ๋ฉด Helm chart๋) ์์ฒด์ ์ผ๋ก ๋ฐฑ์
ํด ๋์ด์ผ ํฉ๋๋ค.
2. Bitnami ์ฐจํธ + ๊ณต์ ์ด๋ฏธ์ง ์กฐํฉ
Bitnami ์ฐจํธ๋ง ์ฌ์ฉํ๊ณ , ์ด๋ฏธ์ง๋ฅผ ๊ณต์ ์ด๋ฏธ์ง ๋ฑ์ผ๋ก ๊ต์ฒดํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋์ ์ผ๋ก ๊ฐ๋ฒผ์ด Redis์ ๊ฒฝ์ฐ ๋จ์ ์ด๋ฏธ์ง๋ง ๋ณ๊ฒฝํด๋ ๋์๊ฐ๋ค๋ ์๊ฒฌ์ ๊ฝค ์ฐพ์๋ณผ ์ ์์๊ณ , Thanos๋ ์ด๋ฏธ์ง๋ฅผ ๊ต์ฒดํ์ฌ ๋์๊ฐ๋ค๋ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์์ต๋๋ค.1
ํ์ง๋ง Bitnami Helm chart๊ฐ ์์ฒด ์ด๋ฏธ์ง์ ๋ง์ด ๋ง์ถ์ด์ ธ ์์ด ์๋ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง๊ณ , ์ด์ Helm chart๋ ๋ ์ด์ ์ ์ง๋ณด์๋์ง ์๊ธฐ ๋๋ฌธ์ ์๊ตฌ์ ์ธ ํด๊ฒฐ๋ฒ์ด๋ผ ๋ณผ ์๋ ์์ต๋๋ค.
3. ๊ณต์ Helm chart, Operator, ๋๋ ๋์ฒด์ฌ ํ์ฉ
๋คํํ๋ ์์ฒด Helm chart๋ Operator, ๋๋ ์คํ์์ค ํ๋ก์ ํธ๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ๋ ๋ง์ต๋๋ค:
- MongoDB: ๊ณต์ Kubernetes Operator
- Elasticsearch: ๊ณต์ Helm chart (Elastic Cloud on Kubernetes)
- Kafka: Strimzi Kafka Operator
- Strimzi๋ CNCF Incubating Project์ ๋๋ค.
์ด๋ฐ ๋์ฒด์ฌ๋ฅผ ์ฌ์ฉํ๋ฉด์, ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ์ปค๋ฎค๋ํฐ๋ฅผ ํตํด ๊ธฐ์ฌํ๋ฉด์ ๊ณ ์ณ๋๊ฐ ์๋ ์์ต๋๋ค. ํ์ง๋ง ์ฌ์ ํ ๋์ฒด์ฌ๊ฐ ์์ ์๋ ๊ฒฝ์ฐ๋ ์๊ธฐ ๋๋ฌธ์, ์ต์ ์ ๊ฒฝ์ฐ ์์๋ก Bitnami ์ฐจํธ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ Custom ์ฐจํธ๋ฅผ ๊ตฌ์ฑํด์ผ ํ ์๋ ์์ต๋๋ค.
๊ฐ์ธ์ ์ธ ์๊ฐ
๋จ๊ธฐ ์กฐ์น๋ฅผ ๋๋ด๊ณ ํ ๋ด์์ ํ์๋ฅผ ๊ฐ์ก๋๋ฐ, ์ฐ์ ์ ํ์ฌ ์ฌ์ฉํ๋ ๋ฆฌ์์ค๋ฅผ ๋ฐฑ์ ํด ๋๊ณ ์ถํ ์ํฉ์ ์ง์ผ๋ณด์๋ ๊ฒฐ์ ์ ๋ด๋ ธ์ต๋๋ค. ๋น์ฅ ์ด ๋ถ๋ถ์ ๋ง์ ๋ฆฌ์์ค๋ฅผ ํ ๋นํ๊ธฐ ํ๋ค๊ณ , ์๋ก์ด Helm chart๋ฅผ ์ํ ์ปค๋ฎค๋ํฐ๊ฐ ์๊ธฐ๋ฉด์ ๋์ฒด์ฌ๊ฐ ๋์ฌ ์๋ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ง๋ง ๋ฐ๋์ ๊ทธ๋ด ๊ฒ์ด๋ผ๋ ๋ณด์ฅ์ ์๊ณ , ๋ง์ฝ ๋ฑ์ฅํ๋๋ผ๋ ๊ฝค ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
์ด๋ฒ ์ผ์ ๊ณ๊ธฐ๋ก DevOps Engineer์ ๊ธฐ๋ณธ์ ์ธ ๋ณด์ ์ญ๋์ด ๋ ์ค์ํด์ง ๊ฒ์ด๋ผ๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
๋ฌผ๋ก ๊ฐ์ธ์ ์ญ๋์ผ๋ก ์ปค๋ฎค๋ํฐ๋ฅผ ๋ฐ๋ผ๊ฐ๋ ๊ฒ์ ํ๋ ์ผ์ด์ง๋ง, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์ด ์ค์ ํ๊ฒ ๋๋ ๊ถํ ์ค์ (securityContext), ๋คํธ์ํฌ ์ ์ฑ
(NetworkPolicy) ๋ฑ์ Kubernetes ์ค์ ์ ์ ์์๋๊ณ ์ ์ฌ์ ์์ ํ์ฉํ ์ ์์ด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ณต์กํ ๋ณด์ ์ค์ ์ ์ํด์๋ ๋ ์์์ผ ํ ๊ฒ์ด ๋ง๊ฒ ์ง๋ง, ๋ฐ๋๋ก ๊ธฐ๋ณธ๋ถํฐ ์์ํด๋ ๋ง์ ๋ณด์ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ ์ ์๊ณ ๊ณ ๊ธ ๋ณด์์ ํ ๋๊ฐ ๋ ์ ์์ต๋๋ค.
๋ํ ์คํ์์ค๋ผ๊ณ ํด์ ์ธ์ ๋ ์์ฌํ ์๋ ์๋ค๋ ๊ฒ์ ๋ค์ ํ๋ฒ ๊นจ๋ฌ์์ต๋๋ค. ๋น์ทํ ์ฌ๋ก ์ค ์ ๊ฐ ๊ฐ๋ฐ์ ์ปค๋ฆฌ์ด์์ ๊ฐ์ฅ ๋จผ์ ์ ํ๋ ์ฌ๋ก๋ Elasticsearch์ ๊ธฐ์ ํ์์ต๋๋ค. ๋ฌผ๋ก ์ง๊ธ์ ๊ฑฐ๊ธฐ์์ ํ์๋ OpenSearch๊ฐ ์์ง๋ง, 2~3๋ ์ฐจ์ ์งํํ๋ ํ๋ก์ ํธ์์ ELK ์คํ์ ๊ณ ๋ํ์์ผ์ผ ํ๋๋ฐ ์คํ์์ค ๋ฒ์ ์ ์ํ์ ์ด ์๊ณ , OpenSearch๋ ์ํ๊ณ๊ฐ ์์ ํ๋์ง ์์๋ค๊ณ ํ๋จ๋์ด ํผ์ ์ด ์์๋ ๊ธฐ์ต์ด ์์ต๋๋ค. ๊ทธ ์ธ์๋ ๋ค๋ฅธ ์คํ์์ค ํ๋ก์ ํธ์์๋ ๊ธฐ์ ํ๋ฅผ ์๋ํ๊ฑฐ๋ ๋ผ์ด์ ์ค๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ๋ฅผ ์ข ์ข ๋ณผ ์ ์๋๋ฐ, ์ด๋ฌํ ๊ฐ๋ฅ์ฑ์ ๊พธ์คํ ๋๋นํ ํ์๊ฐ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ์ธ์ ์ผ๋ก ๋ฐํด๋ฅผ ์๋ก ๋ฐ๋ช ํ์ง๋ ์๋๋ค๋ ์๊ฐ์ด์ง๋ง, ๊ทธ๋๋ ๊ธฐ๋ณธ์ ์์ ๋๊ณ ๊ฒฝ๊ณ์ฌ์ ์ ์งํ๋ ๊ฒ์ด ํญ์ ์ค์ํ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ์ธ ์์ ๋ฌผ๋ถํฐ ํ์ฌ ์ ๋ฌด๊น์ง ํ๋ํ๋ ๋์๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ์ผ ํ ๊ฒ ๊ฐ๋ค์.