개발/devOps 5

[Kubernetes] Loki stack을 활용한 로그 시스템 구축기

현재 NKS를 활용해 프로젝트를 진행중인데 pod 수가 꽤 많아서 로그를 확인하려면 일일히 명령어를 쳐야하는 상황이다. 이러한 상황은 쿠버네티스 초보인 나에게 처음에는 설레고 멋있어 보이는 일이었지만, 지금은 아주 귀찮은 짓거리가 되었다.   따라서 각 pod에서 생성되는 로그를 좀 더 쉽게 관리하기 위해 Loki + Promtail + Grafana를 활용해 로그 시스템을 구축하려고 한다. 1. 구성 요소loki-stack (Helm) Loki: 로그를 실시간으로 집계Promtail: 노드에 DaemonSet으로 구성되며 로그를 수집하고 이를 Loki에 전송Grafana: Loki와 같은 시스템에서 데이터를 가져와서 대시보드 형태로 시각화   2. 구성Ingress를 사용하지 않고 service의 no..

개발/devOps 2024.06.26

[docker] 쉽고 빠른 서비스를 향해 (3)

https://kiku99.tistory.com/14 [docker] 쉽고 빠른 서비스를 향해 (2) https://kiku99.tistory.com/13 [docker] 쉽고 빠른 서비스를 향해 (1) 때는 바야흐로 2020년. 코로나로 인해 비대면 수업을 하던 시절이었다. 1년동안 아무도 학교에 나오지 않았고, 학과 회장 선거에 비상이 kiku99.tistory.com 지난 글에서 봤듯이 시스템 구축은 끝났다. 남은 작업은 CI/CD pipeline과 readme를 작성하는 것 뿐. CI/CD pipeline은 github acitons를 통해 구축하기로 했다. github actions는 yaml 파일을 통해 간단하게 파이프라인을 구축할 수 있다는 장점을 가지고 있다. name: "[Push] Bu..

개발/devOps 2023.12.09

[docker] 쉽고 빠른 서비스를 향해 (2)

https://kiku99.tistory.com/13 [docker] 쉽고 빠른 서비스를 향해 (1) 때는 바야흐로 2020년. 코로나로 인해 비대면 수업을 하던 시절이었다. 1년동안 아무도 학교에 나오지 않았고, 학과 회장 선거에 비상이 걸렸다. 왜나하면 선거 투표는 항상 대면으로 진행했으까. kiku99.tistory.com 지난 글에서 말했던 대로 docker volume을 사용해서 환경변수 파일을 컨테이너에 주입해 보기로 했다. 참고로 현재 작성 시점은 테스트 성공까지 확인한 후다. 따라서 내가 겪었던 우여곡절 순으로 글을 써볼 생각이다. 1. 볼륨을 src 디렉토리에 직접 연결해 보자! 처음 생각해 본 건 환경변수 파일을 가진 호스트 볼륨을 도커 workdir인 src 디렉토리와 연결하자라는 생..

개발/devOps 2023.11.21

[docker] 쉽고 빠른 서비스를 향해 (1)

때는 바야흐로 2020년. 코로나로 인해 비대면 수업을 하던 시절이었다. 1년동안 아무도 학교에 나오지 않았고, 학과 회장 선거에 비상이 걸렸다. 왜나하면 선거 투표는 항상 대면으로 진행했으까. 그 때 소수의 인원들이 모여서 온라인 투표 시스템을 구축했고, 따라서 우리 과는 2020년도부터 지금까지 온라인으로 투표를 진행할 수 있었다. 현재 시스템은 오픈소스 프로젝트로 관리되고 있다. https://github.com/ampm-jbnu/jbnu-se-voting GitHub - ampm-jbnu/jbnu-se-voting: 전북대학교 소프트웨어공학과 온라인 투표 시스템 전북대학교 소프트웨어공학과 온라인 투표 시스템. Contribute to ampm-jbnu/jbnu-se-voting developmen..

개발/devOps 2023.11.20

[git hub actions] 간단한 CI/CD pipeline 구축하기

최근 프로젝트를 진행하면서 쿠버네티스 환경에 배포할 일이 생겼다. 그래서 이번 김에 프로젝트 릴리즈와 도커 이미지 빌드 및 푸시까지 자동화 하는 CI/CD 파이프라인을 구축하려고 한다. 원래는 jenkins를 사용하려고 했는데 서버 만들기도 귀찮고 복잡한 작업이 많아서 git hub actions를 사용해보기로 했다. git hub actions는 jenkins에 비해 서버가 따로 필요 없이 클라우드 위에서 동작하고 레포지토리가 public이면 무료다! 그리고 yaml 파일을 통해 쉽게 환경을 만들 수 있다는 장점이 있다. 프로젝트 폴더에 .github 디렉토리를 만들고 workflows 디렉토리를 생성해준다. 그 안에 릴리즈를 담당하는 yaml 파일과 docker 작업을 위한 yaml 파일을 작성해주었..

개발/devOps 2023.10.16