ν μλ² κ΅¬μΆνκΈ° 1νΈμμ μ΄μ΄μ§λ κΈμ
λλ€.
μμμ ν μλ² μ΄κΈ° μΈν
μ μ΄λ μ λ μλ£νκ³ , κ·Έλμ μΆκ°λ‘ κ³ λ―Όνλ κ²μ νμΌ μ²λ¦¬μ λͺ¨λν°λ§μ΄μμ΅λλ€.
κ·Έ μΈμλ λͺ κ°μ§ κ³ λ―Όνλ μ£Όμ λ€μ μ μ΄ λ³΄λ € ν©λλ€.
νμΌμ μ΄λμ μ μ₯ν κΉ?
μ¬μ€ ν μλ²λ₯Ό λ§λλ κΉμ νμΌκ³Ό DBλ₯Ό λͺ¨λ λ§₯λ―Έλμ μΈν νκ³ μΆμμ΅λλ€. λͺ¨λ μμλ₯Ό ν μλ²μ μΈν ν΄ λ³΄κ³ μΆλ€λ μμ¬μ΄μλλ°μ, νμ§λ§ ν¬κ² 걸리λ μ μ΄ 2κ°μ§κ° μμμ΅λλ€.
- μ₯μ μν©μ΄λ λ°μ΄ν°κ° λ μκ°μ λ 리μ€ν¬κ° ν¬λ€κ³ μκ°νμ΅λλ€. (νΉν DB)
- κ·Έλλ νμΌμ λ‘컬μ μ μ₯ν΄ λ³΄λ €κ³ μλνμλλ°, λ§₯λ―Έλλ‘ μλ²λ₯Ό ꡬμΆνλ€ λ³΄λ VMκ³Ό 컨ν μ΄λλ‘ κ²Ήκ²Ήμ΄ μΈμΈ κ΅¬μ‘°κ° λμ΄μ λ§μ΄νΈ μ€μ λ μ¬λ¬ λ¨κ³μ κ±Έμ³μΌ νκ³ , κΆν λ¬Έμ λ± μ¬λ¬ 곡μλ μκ²Όμ΅λλ€.
κ·Έλμ DBμ νμΌ μ μ₯μλ ν΄λΌμ°λ μλΉμ€λ₯Ό μ¬μ©νκΈ°λ‘ νκ³ , μ½λλ λͺ¨λ λ³κ²½νμ΅λλ€.
νΉν νμΌ μ μ₯μμ κ²½μ° Oracle Cloudλ₯Ό ν΅ν΄ 20GBκΉμ§ 무λ£λ‘ μ¬μ©ν μ μμ΄ μ μ©νκ² μ¬μ©νκ³ μμ΅λλ€.
λͺ¨λν°λ§ μμ€ν λ§λ€κΈ°
λͺ¨λν°λ§μ ν μλ²λ₯Ό μμνκ² λ 첫 λ²μ§Έ κ³κΈ°μ΄κΈ°λ ν©λλ€. μμ£Ό κ°λ¨νλλΌλ, κ΄λ ¨ κ²½νμ λ리기 μν΄ λ°λμ μ§μ ꡬμΆν΄ λ³΄κ³ μΆμμ΅λλ€.
νμ§λ§ μμ½κ²λ λ§₯λ―Έλλ κ·Έλ κ² μ¬μμ΄ λμ§ μκ³ , νΉνλ VMμ ν΅ν΄ Kubernetesλ₯Ό ꡬμ±νκΈ° λλ¬Έμ λ¬΄κ±°μ΄ λͺ¨λν°λ§ μμ€ν
μ μ±νν μλ μμμ΅λλ€.
ELKλ μλν μλλ λμ§ μμκ³ , kube-prometheus-stackμ μλνλ€κ° ν μλ²κ° λ€μ΄λκΈ°λ νμ΅λλ€.
μ΅μ’ μ μΌλ‘ μ±νν κ²μ loki-stack κΈ°λ°μ PLG μ€νμ λλ€. PLG μ€νμ λ‘κ·Έμ λ©νλ°μ΄ν°λ₯Ό μΈλ±μ± νκΈ° λλ¬Έμ ELKμ λΉν΄ λ©λͺ¨λ¦¬μ μ μ₯ 곡κ°μ μ κ² μ¬μ©νκ³ , μ€μ λ‘λ λ§€μ° κ°λ²Όμ μ΅λλ€. Grafana, Prometheusλ₯Ό ν¬ν¨ν νμ λꡬλ€μ Helm chart νλλ‘ λμμ μ€μ ν μ μμ΄ λ°°ν¬λ μ κ²½ μΈ λΆλΆμ΄ μ μμ΅λλ€.
λ°°ν¬ ν Grafana μλΉμ€λ₯Ό μΈλΆλ‘ λ ΈμΆμν€κ³ , μΈλΆ ν νλ¦Ώμ μ¬μ©νμ¬ ν΄λ¬μ€ν° μνμ λ‘κ·Έλ₯Ό μ‘°νν μ μλλ‘ κ΅¬μ±νμμ΅λλ€. μλλ μ κ° μ¬μ©ν λμ보λ ν νλ¦Ώμ λλ€.

Argo CDλ₯Ό μ‘°κΈ λ λλνκ² μ¬μ©νκΈ°
μ¬μ€ μ΄ λΆλΆμ 1νΈμ μ§νν λλ μμλλ°, μ‘°κΈ λ λ€λ¬μΌλ©΄μ μ΄λ²μ μ 리νκ² λμμ΅λλ€.
κ°μΈμ μΌλ‘ Argo CDλ UIκ° μ λ§ μ λμ΄ μλ νΈμ΄λΌ μκ°νκ³ , μ€μ λ‘ μ΄μ μ Argo CDλ₯Ό μ¬μ©νλ νμ¬μμλ UIλ₯Ό ν΅ν΄ μ€μ μ νλ κ²½μ°κ° λ§€μ° λ§μμ΅λλ€.
νμ§λ§ μ λ μ‘°κΈ λ μ½λ μ€μ μ μΌλ‘ 리μμ€λ₯Ό κ΄λ¦¬νκ³ μΆμκ³ , UIμμλ κΈ°λ₯μ΄ λ€μ μ νλμ΄ μλ€λ μ λ μμ¬μ μ΅λλ€.
κ·Έλμ μ κ° μ νν λ°©μμ App of Apps ν¨ν΄μ
λλ€. λ°°ν¬ν Application 리μμ€λ€μ ν΄λμ λ°λ‘ λͺ¨μ λκ³ , ν΄λΉ ν΄λλ§ λκΈ°νμν€λ©΄ λͺ¨λ νμ 리μμ€λ€μ΄ μ€μ μ λ°λΌ λ°°ν¬λ©λλ€.
μ΄ κ³Όμ μμ κ°λ³ 리μμ€ μ€μ μ μ½λλ₯Ό ν΅ν΄ κ΄λ¦¬ν μ μκ³ , UIμμ μ¬μ©ν μ μλ Multi-source μ€μ κ°μ κ²λ κ°λ₯νκΈ° λλ¬Έμ μ μ°μ±μ΄ λμμ‘μ΅λλ€.

κ·Έ μΈ
- 1νΈμμ μΈκΈνλ μν€ν μ²μ λ°λ₯Έ λΉλ λ¬Έμ λ₯Ό μ΄νμλ κ²½ννμ΅λλ€. κ·Έλλ λ€λ₯Έ μΈμ΄λ€μ κ²½μ° Rustλ³΄λ€ κ³Όμ λ μ½κ³ , μ°Έκ³ μλ£λ λ§μμ λ€νν μ½κ² λμ΄κ° κ² κ°λ€μ.
- νμΌ μ λ‘λ κ³Όμ μμ μ©λ μ ν μ΄μκ° μμλλ°, λ°±μλλΏ μλλΌ Ingressμμλ μΆκ°μ μΈ μ€μ μ΄ νμνμ΅λλ€.
- λ°±μλλ₯Ό λμ°λ κ²μ ν° λ¬Έμ κ° μμκ³ μ΄μ λ°°μΉ μμ μ ꡬμ±ν΄μΌ νλλ°, νΉμ±μ κ°μ μμμ μ΄ νμν λ¨κ³λ μκ³ μ£ΌκΈ°λ 1μ£Ό μ΄μμΌλ‘ κΈ΄ νΈμ΄λΌμ μμ§ κ³ λ―Ό μ€μ λλ€.
λ§μΉλ©°
μ΄λ‘μ ν μλ²λ₯Ό ꡬ맀νλ©΄μ ν΄ λ³΄κ³ μΆμλ ν° κ·Έλ¦Όμ ꡬνν΄ λ³΄μλ€κ³ μκ°ν©λλ€. νμ¬ λ¨κ³μ μ μ΄λ€κ³ λμλ νμ€ν λ°°ν¬κ° κ°λ¨νκ³ νΈν΄μ‘μ΅λλ€. μ€νλ € μ΅κ·Όμλ ν μλ²μ λμΈ λ°±μλ μ½λλ₯Ό μμ±νκ³ , μ¬μ΄λ νλ‘μ νΈλ₯Ό κ°νΈνλ λ° λ λ§μ μκ°μ λ€μ΄κ³ μμ΅λλ€.
μ΅κ·Ό μ μ μμ΄ ν루ν루λ₯Ό 보λ΄κ³ μμ΄ μ§νμ΄ λ¦μ΄μ§ κ² κ°μ§λ§, λΉλΆκ°μ μ΄μ μ μΈκΈν λλ‘ νμ¬ μ΄μ μ€μΈ μ¬μ΄λ νλ‘μ νΈλ₯Ό μ λΆ μ΄κ΄νλ κ²μ΄ λͺ©νμ
λλ€.
λν μ¬ν΄λΆν° νμ¬μμ DevOps μ
무λ₯Ό μ‘°κΈμ© νκ² λλ©΄μ μ€λ¬΄μμλ§ κ²½νν μ μλ κ²λ€λ 보μ΄κ³ , μμμ μΈκΈν λ¬Έμ μ€ νμ¬μμ ν΄κ²°ν΄μΌ ν κ³Όμ λ μμ΅λλ€.
μ΅λν μ£Όμ΄μ§ νκ²½μ μ±μ₯μ κΈ°νλ‘ μ νμ©νκ³ , ν μλ²μλ μ μ©ν μ μλ μ μ΄ μλ€λ©΄ λμ
νλ©΄μ ν μλ²λ₯Ό κ°κΎΈμ΄ λκ°λ €κ³ ν©λλ€.
μ°Έκ³ μλ£
- kube-prometheus-stackμΌλ‘ λͺ¨λν°λ§ μμ€ν ꡬμΆνκΈ° - LakeScript (leehosu.github.io)
- ArgoCD 10νΈ - App of Apps ν¨ν΄ (tistory.com)
- Multiple Sources for an Application - Argo CD (argo-cd.readthedocs.io)
- Kubernetes ingressμμμ 413 μλ¬ ν΄κ²° λ°©λ² | HAHWUL