๐ŸŸswkoo.kr

์šด์˜ ํ”Œ๋žซํผ

Observatory

ํ”„๋กœ๋•์…˜๊ธ‰ DevOps ์šด์˜ ํ”Œ๋žซํผ

GitOps ๊ธฐ๋ฐ˜ ๋ฐฐํฌ ํ๋ฆ„๊ณผ ๋Ÿฐํƒ€์ž„ ๊ด€์ธก์„ ์—ฐ๊ฒฐํ•ด ๋‹จ์ผ ์šด์˜์ž๊ฐ€ ์„œ๋น„์Šค์˜ ์ƒํƒœ๋ฅผ ๋น ๋ฅด๊ฒŒ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ์šด์˜ ์‹ ํ˜ธ๋ฅผ ๋งŒ๋“ ๋‹ค.

  • OCI IaaS ๊ธฐ๋ฐ˜
  • Self-managed Kubernetes (k3s) ์šด์˜
  • Managed Kubernetes / Cloud Monitoring ๋ฏธ์‚ฌ์šฉ
  • ๋‹จ์ผ ์šด์˜์ž ๊ธฐ์ค€ ์„ค๊ณ„

์šด์˜ ํ™˜๊ฒฝ ์ •์˜

์ง์ ‘ ์ฑ…์ž„์ง€๋Š” ์˜์—ญ๊ณผ ์˜๋„์ ์œผ๋กœ ๋ฐฐ์ œํ•œ ์˜์—ญ์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„

์นดํ…Œ๊ณ ๋ฆฌ์‚ฌ์šฉ ๊ธฐ์ˆ ๋ฏธ์‚ฌ์šฉ ๊ธฐ์ˆ 
InfrastructureOCI Compute (VM), OCI Container Registry-
Container PlatformKubernetes (k3s, self-managed)Managed Kubernetes (OKE/EKS/GKE)
CI/CDGitHub Actions (CI), Argo CD (CD, GitOps)ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ CI ์„œ๋น„์Šค
ObservabilityPrometheus, Grafana, Alertmanagerํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋‹ˆํ„ฐ๋ง

์šด์˜ ์ฑ…์ž„ ๋ฒ”์œ„

ํ”Œ๋žซํผ ์šด์˜ ๊ด€์ ์—์„œ ์ง์ ‘ ์„ค๊ณ„ยท์šด์˜ํ•˜๋Š” ์˜์—ญ

ํ”Œ๋žซํผ ์šด์˜ ์ฑ…์ž„

  • OCI VM ์ˆ˜๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ์™€ ๋„คํŠธ์›Œํฌ/๋ณด์•ˆ ์ •์ฑ… ์ง์ ‘ ์„ค๊ณ„
  • Terraform์œผ๋กœ ๋ณ€๊ฒฝ ์ด๋ ฅ ๊ด€๋ฆฌ ๋ฐ ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ์ธํ”„๋ผ ์šด์˜
  • OCI Container Registry ์šด์˜ ๋ฐ ์ด๋ฏธ์ง€ ์ •์ฑ… ๊ด€๋ฆฌ

ํด๋Ÿฌ์Šคํ„ฐ ์šด์˜

  • k3s ์„ค์น˜, ์—…๊ทธ๋ ˆ์ด๋“œ, ์žฅ์•  ๋Œ€์‘๊นŒ์ง€ ๋‹จ์ผ ์šด์˜ ๊ธฐ์ค€ ์œ ์ง€
  • Ingress/TLS, ๋„ค์ž„์ŠคํŽ˜์ด์Šค, ๊ถŒํ•œ ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ์„ค๊ณ„
  • ๋ฆฌ์†Œ์Šค ์ œ์•ฝ ํ™˜๊ฒฝ์—์„œ ์Šค์ผ€์ค„๋ง๊ณผ ์šฉ๋Ÿ‰ ๊ณ„ํš ์ตœ์ ํ™”

๋ฐฐํฌ ํ๋ฆ„ ํ‘œ์ค€ํ™”

  • GitHub Actions ๊ธฐ๋ฐ˜ CI ํ‘œ์ค€ ์šด์˜
  • Argo CD๋กœ ๋ฐฐํฌ ๋™๊ธฐํ™”์™€ ๋กค๋ฐฑ ๊ฒฝ๋กœ ํ™•๋ณด
  • Kustomize๋กœ ํ™˜๊ฒฝ๋ณ„ ์„ ์–ธํ˜• ๋ฐฐํฌ ์ •์˜

๊ด€์ธก/์•Œ๋ฆผ ์šด์˜

  • Prometheus/Grafana ์ง€ํ‘œ ๊ธฐ์ค€ ์ˆ˜๋ฆฝ
  • Alertmanager โ†’ Discord ์•Œ๋žŒ ์ •์ฑ… ์šด์˜
  • ์•Œ๋žŒ ์ดํ›„ ๋Œ€์‘ ๊ธฐ์ค€๊ณผ ๋กค๋ฐฑ ํŒ๋‹จ ์œ ์ง€

์šด์˜ ํ”Œ๋žซํผ ๊ฐœ์š”

Terraform + OCI + k3s ๊ธฐ๋ฐ˜์œผ๋กœ ์ง์ ‘ ์šด์˜

ํด๋Ÿฌ์Šคํ„ฐ
K3s @ Oracle Cloud Infrastructure (ap-tokyo-1)
GitOps ๋„๊ตฌ
Argo CDOCI Container RegistryTerraform automation
์šด์˜ ํ”Œ๋žซํผ ์•ฑ
Argo CDPortainerGrafana/Prometheus stackPrivate Docker Registry

GitOps ์šด์˜ ๋กœ๋“œ๋งต

swkoo.kr ์šด์˜ ํŒŒ์ดํ”„๋ผ์ธ ๊ฐœ์„  ๋ฐฉํ–ฅ

Deliver an end-to-end view of pipeline health. Each deployment should be trackable from commit to K3s workload rollout.

  1. 1Phase 1: Landing page + static infrastructure overview API
  2. 2Phase 2: Argo CD Application status ingestion & dashboard
  3. 3Phase 3: Real-time event streaming across all GitOps-enabled workloads

ํ•ต์‹ฌ ๊ธฐ๋Šฅ: Pipeline Observatory

๋ฐฐํฌ ํ๋ฆ„๊ณผ ๋Ÿฐํƒ€์ž„ ์ƒํƒœ๋ฅผ ํ•œ ํ™”๋ฉด์—์„œ ํŒ๋‹จ

OCI ์ธ์Šคํ„ด์Šค์—์„œ ์‹คํ–‰ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํŒŒ์ดํ”„๋ผ์ธ ์ƒํƒœ์™€ ๋Ÿฐํƒ€์ž„ ์ง€ํ‘œ๋กœ ์—ฐ๊ฒฐํ•ด ์šด์˜ ๊ฒฐ์ •์„ ๋น ๋ฅด๊ฒŒ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ ๋‹ค.

  • โœ“Commit โ†’ Build โ†’ Push โ†’ Sync โ†’ Deploy ํ๋ฆ„์„ ๋‹จ์ผ ํƒ€์ž„๋ผ์ธ์œผ๋กœ ์ถ”์ 
  • โœ“GitHub Actions ์›Œํฌํ”Œ๋กœ์™€ Argo CD ๋™๊ธฐํ™” ์ƒํƒœ ์—ฐ๋™
  • โœ“๋ฐฐํฌ ์‹คํŒจ/ํ—ฌ์Šค ์ €ํ•˜๋ฅผ ์•Œ๋žŒ ํ๋ฆ„๊ณผ ์ง์ ‘ ์—ฐ๊ฒฐ
  • โ—‹Phase 3: ์‹ค์‹œ๊ฐ„ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ (์˜ˆ์ •)
๐ŸŸObservatory ๋ณด๊ธฐ โ†’
์‹ค์‹œ๊ฐ„ ์ƒํƒœ์šด์˜ ์ค‘

ํŒŒ์ดํ”„๋ผ์ธ ์—†์Œ

์—ฐ๋ฝํ•˜๊ธฐ

ํ˜‘์—…์ด๋‚˜ ์งˆ๋ฌธ์ด ์žˆ์œผ์‹œ๋ฉด ์–ธ์ œ๋“  ์—ฐ๋ฝ์ฃผ์„ธ์š”