{"id":26786208,"url":"https://github.com/junho100/devops-prac-k8s","last_synced_at":"2026-02-25T10:33:35.399Z","repository":{"id":281852120,"uuid":"946638505","full_name":"junho100/devops-prac-k8s","owner":"junho100","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-18T00:49:26.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T11:36:07.390Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Smarty","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/junho100.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-11T12:59:00.000Z","updated_at":"2025-03-18T00:49:29.000Z","dependencies_parsed_at":"2025-03-11T14:19:49.241Z","dependency_job_id":"2c439b7a-046f-416c-8fd5-f286c31101ff","html_url":"https://github.com/junho100/devops-prac-k8s","commit_stats":null,"previous_names":["junho100/devops-prac-k8s"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/junho100/devops-prac-k8s","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junho100%2Fdevops-prac-k8s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junho100%2Fdevops-prac-k8s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junho100%2Fdevops-prac-k8s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junho100%2Fdevops-prac-k8s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junho100","download_url":"https://codeload.github.com/junho100/devops-prac-k8s/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junho100%2Fdevops-prac-k8s/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262753178,"owners_count":23358884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-29T11:36:08.899Z","updated_at":"2025-10-27T15:05:42.257Z","avatar_url":"https://github.com/junho100.png","language":"Smarty","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DevOps Practice Kubernetes with ArgoCD\n\n이 프로젝트는 ArgoCD의 App of Apps 패턴을 사용하여 Kubernetes 애플리케이션을 배포하는 예제입니다.\n\n## 구조\n\n```\n.\n├── apps/                  # ArgoCD 애플리케이션 매니페스트\n│   ├── root/              # 루트 애플리케이션\n│   │   └── root-app.yaml  # 루트 애플리케이션 매니페스트\n│   ├── server-app.yaml    # 서버 애플리케이션 매니페스트\n│   ├── prometheus-app.yaml # 프로메테우스 애플리케이션 매니페스트\n│   └── grafana-app.yaml   # 그라파나 애플리케이션 매니페스트\n└── charts/                # Helm 차트\n    ├── server/            # 서버 애플리케이션 Helm 차트\n    │   └── server/        # 서버 Helm 차트 디렉토리\n    │       ├── Chart.yaml\n    │       ├── templates/\n    │       └── values.yaml\n    ├── prometheus/        # 프로메테우스 Helm 차트\n    │   ├── Chart.yaml\n    │   ├── templates/\n    │   └── values.yaml\n    └── grafana/           # 그라파나 Helm 차트\n        ├── Chart.yaml\n        ├── templates/\n        └── values.yaml\n```\n\n## 사용 방법\n\n### 사전 요구 사항\n\n- Kubernetes 클러스터\n- ArgoCD 설치\n- Helm 3\n\n### 배포 방법\n\n1. 이 저장소를 클론합니다.\n2. `apps/root/root-app.yaml`, `apps/server-app.yaml`, `apps/prometheus-app.yaml`, `apps/grafana-app.yaml` 파일에서 `repoURL`을 실제 GitHub 저장소 URL로 변경합니다.\n3. ArgoCD에 루트 애플리케이션을 배포합니다:\n\n```bash\nkubectl apply -f apps/root/root-app.yaml\n```\n\n4. ArgoCD UI에서 애플리케이션 동기화 상태를 확인합니다.\n\n### 모니터링 도구 접근 방법\n\n포트 포워딩을 통해 그라파나에 접근할 수 있습니다:\n\n```bash\nkubectl port-forward -n monitoring svc/grafana-grafana 3000:3000\n```\n\n- 그라파나: http://localhost:3000 (계정: admin / 비밀번호: admin)\n\n## 서버 애플리케이션 정보\n\n- 이미지: bemodesty306/devops-prac-server\n- 포트: 8080\n\n## 모니터링 도구 정보\n\n### 프로메테우스\n\n- 이미지: prom/prometheus:v2.45.0\n- 포트: 9090\n- 기능: 메트릭 수집 및 저장, 알림 규칙 관리\n\n### 그라파나\n\n- 이미지: grafana/grafana:10.2.0\n- 포트: 3000\n- 기능: 데이터 시각화, 대시보드 관리\n- 기본 대시보드: Kubernetes 리소스 모니터링\n\n## 참고 사항\n\n- 이 예제는 ArgoCD의 App of Apps 패턴을 보여주기 위한 것입니다.\n- 실제 환경에서는 보안 및 리소스 설정을 적절히 조정해야 합니다.\n- ArgoCD App of Apps 패턴에서는 루트 애플리케이션이 다른 애플리케이션을 찾을 수 있도록 디렉토리 구조가 중요합니다.\n- 프로메테우스와 그라파나는 기본적인 설정으로 배포되며, 실제 환경에서는 보안 및 성능 설정을 조정해야 합니다.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunho100%2Fdevops-prac-k8s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunho100%2Fdevops-prac-k8s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunho100%2Fdevops-prac-k8s/lists"}