전체 글289 [GitLab] Spring Multi Module Project gitlab-ci.yml 작성방법 Gitlab을 사용하면서, 내장된 CI/CD 워크플로우를 사용하기 위해 우리는 Application Repository에. gitlab-ci.yml 파일을 작성합니다. 오늘은 Spring Boot로 개발된 Multi Module Project에서 어떻게 gitlab-ci.yml 파일을 작성해야 원하는 모듈만 빌드되거나 혹은 모든 모듈이 병렬처리로 빌드시킬 수 있는지에 대한 방법을 알아보겠습니다.Multi Module 구조 파악포스팅에서 사용할 Multi Module의 구조는 아래와 같습니다. api 모듈은 데이터를 입력받아 queue에 쌓는 Producer 역할을, sms 및 mail 모듈은 rabbitmq를 listen 하여 mail과 sms 및 push를 보내주는 consumer의 역할을, batch.. Infrastructure/Git 2025. 3. 15. [Terraform] MacOs Local에 Terraform 설치 및 NCP가이드 안내 테라폼은 인프라를 코드로 관리하는 도구(IaC)로, 클라우드 리소스를 선언적으로 정의하고 자동으로 프로비저닝 할 수 있도록 도와주는 open source 소프트웨어입니다. 테라폼은 로컬 컴퓨터나 별도의 관리 서버에 프로그램을 설치해서 사용할 수도 있고, 선언적 코드만 작성하여 gitlab 혹은 github으로 관리하며 파이프라인에서 자동으로 실행하는 환경을 구성할 수도 있다고 하는데, 저는 첫 발자국을 내딛을 겸 MacOS 로컬 컴퓨터에서 Terraform을 설치하여 현재 사용하고 있는 Naver Cloud Platform과 연동해보려고 합니다.Terraform Install In Local MacOs설치는 hashicorp 공식 문서의 terraform 설치 가이드를 참고하였습니다. Install Te.. Infrastructure/Terraform 2025. 3. 14. GitOps를 위한 Secret 관리하기 (3) - SealedSecrets 생성 Application 구현 원하는 입력값을 토대로 SealedSecret을 생성하여 yaml 파일 형식으로 제공해주는 프로그램을 만들어보고, 해당 프로그램을 사용하여 현재 제가 현업에서 어떻게 gitops 방식으로 secret을 git repository에서 관리하는지까지 알려드리겠습니다. 저는 간단한 단일 API Application을 만들 때 Express.js를 사용합니다. SealedSecret에 대한 설치 및 CLI에서의 사용 방법은 이전글을 참고해주시기 바랍니다. GitOps를 위한 Secret 관리하기 (2) - SealedSecrets 설치 및 사용하기 (CLI)K8s Cluster 내부 및 Local PC 내부 각각에 SealedScrets 관련 소프트웨어를 설치하고, CLI를 통해 사용하는 방법을 알아보겠습니다... Infrastructure/Kubernetes 2025. 3. 13. GitOps를 위한 Secret 관리하기 (2) - SealedSecrets 설치 및 사용하기 (CLI) K8s Cluster 내부 및 Local PC 내부 각각에 SealedScrets 관련 소프트웨어를 설치하고, CLI를 통해 사용하는 방법을 알아보겠습니다. SealedSecrets의 개념은 이전 포스팅을 참고해 주세요. GitOps를 위한 Secret 관리하기 (1) - SealedSecrets 개념최근 GitOps를 통한 Kubernetes 클러스터 관리가 확산되면서, 애플리케이션의 배포와 환경 구성을 코드로 관리하는 방식이 주목받고 있습니다. 이와 함께 중요한 정보인 Secret의 안전한 관리 역시 큰min-nine.tistory.comKubernetes Cluster에 Server-Side SealedSecrets 설치Helm을 통해 쉽게 Kubernetes에 Server-Side SealedS.. Infrastructure/Kubernetes 2025. 3. 12. GitOps를 위한 Secret 관리하기 (1) - SealedSecrets 개념 최근 GitOps를 통한 Kubernetes 클러스터 관리가 확산되면서, 애플리케이션의 배포와 환경 구성을 코드로 관리하는 방식이 주목받고 있습니다. 이와 함께 중요한 정보인 Secret의 안전한 관리 역시 큰 고민거리로 떠오르는데요. 이번 포스팅에서는 GitOps 환경에서 Secret을 안전하게 다룰 수 있는 방법 중 하나인 SealedSecrets 개념에 대해 알아보겠습니다.해당 포스팅은 커피고래님의 "GitOps Secret 관리" 포스팅을 참고하였습니다. GitOps Secret 관리GitOps에서 Secret 관리가 고민이시라구요? 그래서 준비했습니다, SealedSecret! GitOps는 우리의 삶을 편리하게 만들어 줍니다. 어플리케이션의 배포 상태를 완벽하게 반영해주어 Git에 저장된 배포.. Infrastructure/Kubernetes 2025. 3. 11. GitLab & ArgoCD를 활용한 GitOps방식의 CI/CD 구축하기 (3) - GitlabCI & ArgoCD 연동하여 CI/CD 구축 (Manual) GitlabCI 및 ArgoCD 설계GitlabCI에서는 이전 포스팅에서 설명한 대로, Application을 Build 하여 Conatiner Image로 만든 후 Docker Image Registry인 NCP Container Resitry에 Upload 합니다. 그 후 helm repository에 Image Tag값을 변경해 주면 ArgoCD의 Sync 옵션이 Auto일 경우 OutOfSync일 경우 helm repo와 자동으로 Sync 하여 배포를 완료해 주지만, 저의 경우 Sync 옵션을 Manual로 지정하였기 때문에 GitlabCI에서 ArgoCD의 Sync API까지 호출해 주도록 합니다.GitLab CI/CD 메커니즘GitLab의 CICD PipeLine 메커니즘은 GitLab 저장소.. Infrastructure/CICD 2025. 3. 10. GitLab & ArgoCD를 활용한 GitOps방식의 CI/CD 구축하기 (2) - ArgoCd에 Cluster 추가하기 ArgoCd에 application이 배포될 dev-cluster와 prod-cluster를 연동해 보겠습니다. Arogcd Setting 메뉴에 들어가면 Cluster 추가는 UI를 사용하여 진행할 수 없고, Documentaion을 통해 진행하라는 내용이 있습니다. ArgoCD CLI Install저는 MacOS 기준으로 포스팅하겠습니다. 각 클러스터에 접속할 수 있는 configure 설정값들이 들어있는 kubeconfig.yaml 파일이 로컬에 있다는 가정하에 local pc에 argocd cli 프로그램을 brew로 쉽게 설치할 수 있습니다.brew install argocd저는 nks를 사용하고 있고, ncp의 ncp-iam-authenticator을 설치하여 dev, mgt, prod 각 .. Infrastructure/CICD 2025. 3. 8. GitLab & ArgoCD를 활용한 GitOps방식의 CI/CD 구축하기 (1) - CI/CD 설계 및 Helm 생성 서론이전 포스팅에서는 "개발환경 없는 회사에서 NKS로 개발환경 구성하기"라는 키워드를 기준으로 포스팅하였다면, 본 포스팅부터는 프로덕션환경과 개발환경 모두를 다루기 때문에 "Cloud Kubernetes 환경 구축"이라는 키워드로 변경하였습니다. 간단하게나마 GitOps에 대한 개념을 알아본 후에 mgt-cluster에 설치한 ArgoCD, GitLab을 토대로 GitOps방식의 CI/CD를 설계 및 구현해 보겠습니다. ArgoCD 및 gitLab 설치는 이전 포스팅을 참고해 주시기 바랍니다. [Kubernetes 도입] 개발환경 없는 회사에서 NKS로 개발환경 구성하기 Chapter 7. gitops와 argocd 도입을 위서론지금까지는 Naver Cloud Platform(이하 NCP)에서 제공해.. Infrastructure/CICD 2025. 3. 7. 알기 쉽게 정의한 DevOps와 GitOps 서론소프트웨어 개발과 운영이 점점 더 빠르게 변화하는 환경에서, 개발팀과 운영팀이 협업하여 안정적이고 신속하게 서비스를 제공할 수 있도록 돕는 방법론들이 주목받고 있습니다. 이 포스팅에서는 DevOps와 GitOps에 대해 쉽게 풀어 설명하고, 각각의 핵심 개념과 장점을 살펴보겠습니다. 본론알기 쉽게 정의한 DevOps1. DevOps란 무엇인가?DevOps는 Development(개발), Operations(운영)의 합성어로 두 팀 간의 장벽을 허물고 협업을 촉진하여 소프트웨어를 보다 빠르고 안정적으로 제공하는 문화이자 방법론입니다.협업과 소통: 개발자와 운영자가 같은 목표를 공유하며, 서로의 작업 방식을 이해하고 조율합니다.자동화와 지속적 개선: CI/CD(지속적 통합 및 지속적 배포) 파이프라인, .. Infrastructure/Git 2025. 3. 6. [NCP] NKS로 개발환경 구성하기 Chapter 8. NKS에 GitLab, GitLab-SSH, GitLab-Runner 설치하기 서론소스코드 저장소 호스팅의 대표주자는 GitLab, GitHub가 있으며 기본 기능은 source의 버전 관리를 해준다는 것으로 같지만 차이가 확실합니다. 깃헙과 깃랩의 가장 큰 차이점은 데브옵스에 있는데, 깃헙은 사용자가 직접 CI/CD 도구 혹은 서드파티 툴들을 선택하여 연동하는 방향으로 CI/CD를 구축하지만, GitLab은 자체적인 CI/CD 워크플로우가 내장되어 있다는 점입니다. 저는 깃랩을 사용하기로 결정하였고, kubernetes에 gitlab을 helm으로 설치하는 과정을 간단하게 포스팅하도록 하겠습니다. [이전글] [NCP] NKS로 개발환경 구성하기 Chapter 7. gitops와 argocd 도입을 위한 argocd 설치하기서론지금까지는 Naver Cloud Platform(이하 .. Infrastructure/Kubernetes 2025. 3. 4. [NCP] NKS로 개발환경 구성하기 Chapter 7. gitops와 argocd 도입을 위한 argocd 설치하기 서론지금까지는 Naver Cloud Platform(이하 NCP)에서 제공해 주는 Source Series(Commit, Build,Deploy, PipeLine)을 사용하여 CI/CD를 진행했다면, 쿠버네티스의 장점을 고루 살린 GitOps와 ArgoCd를 사용하여 CI/CD를 마이그레이션 해보려고 합니다. 간단하게 GitOps가 무엇인지, ArgoCd가 무엇인지 설명한 후에 ArgoCd를 설치해 보도록 하겠습니다. [이전글] [NCP] NKS로 개발환경 구성하기 Chapter 6. Loki, Promtail, Grafana를 활용한 로그 통합 모니터링 구축 - Witho서론이전에는 loki-stack을 활용한 loki-promtail-grafana 스택을 구축해 보았다면, 이제는 loki-stack .. Infrastructure/Kubernetes 2025. 2. 20. [NCP] NKS로 개발환경 구성하기 Chapter 6. Loki, Promtail, Grafana를 활용한 로그 통합 모니터링 구축 - Without Loki-Stack 서론이전에는 loki-stack을 활용한 loki-promtail-grafana 스택을 구축해 보았다면, 이제는 loki-stack 없이 구축해 보도록 하겠습니다. Loki-Stack을 활용하여 통합 모니터링을 구축해보고 싶으신 분들은 이전 포스팅을 참고해 주시기 바랍니다,. [이전글] [NCP] NKS로 개발환경 구성하기 Chapter 5. Loki, Promtail, Grafana를 활용한 로그 통합 모니터링 구축 - Feat서론loki-stack은 grafana labs에서 좀 더 쉽게 loki-promtail-grafana 스택을 구축할 수 있도록 개발한 하나의 스택입니다. 때문에 loki-stack을 활용한 통합 모니터링 구축은 정말 쉽습니다. 다만 하나의 클러min-nine.tistory.co.. Infrastructure/Kubernetes 2025. 2. 19. [NCP] NKS로 개발환경 구성하기 Chapter 5. Loki, Promtail, Grafana를 활용한 로그 통합 모니터링 구축 - Feat Loki-Stack 서론loki-stack은 grafana labs에서 좀 더 쉽게 loki-promtail-grafana 스택을 구축할 수 있도록 개발한 하나의 스택입니다. 때문에 loki-stack을 활용한 통합 모니터링 구축은 정말 쉽습니다. 다만 하나의 클러스터에 모든 자원이 설치되기 때문에, 현업에서 사용하기에는 추천할 수 없는 방법이라고 생각하였습니다. 본 포스팅에서는 loki-stack을 활용해서 하나의 클러스터에 통합 모니터링을 구축하는 방법부터 시작하여, 두 개 이상의 클러스터에서 (mgt-cluster 및 dev-cluster) 알맞은 소프트웨어를 설치하여 그 상호작용을 통해 제가 Loki-promtail-grafana 스택을 구축한 방법을 포스팅해보려 합니다. dev-cluster 및 mgt-clust.. Infrastructure/Kubernetes 2025. 2. 18. Kubernetes 오브젝트 - Deployment에서 Pod,Container 리소스 조절하기 서론우리가 kubernetes를 사용하는 목적은 많지만, 가장 큰 목적은 "효율적인 자원의 관리"라고 생각합니다. 쿠버네티스 deployment 오브젝트를 통해 pod를 생성할 때 파드의 리소스를 효율적으로 관리하는 방법을 알아보도록 하겠습니다.본론1.. spec.replicas디플로이먼트에서는. spec.replicas 스펙을 통해서 replicasets을 조절 가능합니다. 아래와 같이 spec 하위에 replicas의 개수로 배포되는 파드의 레플리카 수를 조절할 수 있는 건 다들 아실 텝니다.apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginxspec: replicas: 3그렇다면, 각 파.. Infrastructure/Kubernetes 2025. 2. 17. 이전 1 2 3 4 ··· 21 다음