전체 글
-
[R] Mac 환경에서 R과 R Studio 설치하기레거시/AI 2023. 4. 15. 21:41
개요 이 문서는 Mac 환경에서 R과 R Studio를 설치하는 내용을 정리한 문서입니다. 저의 환경은 아래와 같습니다. Mac OS Ventura 13.1 (intel) HomeBrew 4.0.13 이 문서는 Mac의 패키지 매니저인 HomeBrew를 통해서 설치를 진행합니다. 만약, HomeBrew를 설치하지 않았다면 다음 문서를 참고해주세요. 주니어 엔지니어의 개발 환경 구축하기 (1) 기본 소프트웨어 개요 이 문서는 필자의 맥북에 개발 환경, 특히 개발 시 필요한 소프트웨어 혹은 기본 소프트웨어를 대체하여 유틸리티를 높이는 소프트웨어들을 설치하는 방법에 대해 다룬다. 이 문서에서 다 gurumee92.tistory.com 설치 R R프로그래밍 언어를 설치합니다. 터미널에 다음 명령어를 입력해주세요..
-
Jaeger 설치하기24년 11월 이전/Distributed Tracing 2023. 2. 19. 20:49
이 문서는 분산 추적 시스템 중 하나인 jaeger를 설치하는 것을 다루고 있습니다. 특히, 하나의 바이너리 파일의 실행으로 간단하게 분산 추적 시스템을 구축할 수 있는 all-in-one 모드로 실행하는 것을 목표로 합니다. 준비 사항 이 문서는 Docker 환경에서 Jaeger를 설치합니다. 따라서, Docker가 필요합니다. Docker v20.10.12 이상 docker-compose v1.29.2 이상 Jaeger 설치 다음 명령어로, Jaeger를 설치할 수 있습니다. $ docker run -d --name jaeger \ -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \ -e COLLECTOR_OTLP_ENABLED=true \ -p 6831:6831/udp \ -p 68..
-
ArgoCD 맛보기24년 11월 이전/ArgoCD 2022. 9. 7. 19:30
이 문서에서는 Gitops 구현체 중 하나인 ArgoCD에 대해서 간단히 알아보도록 하곘습니다. 또한 minikube 쿠버네티스 클러스터 환경에서 ArgoCD 배포 후, argocd CLI를 통해 간단히 애플리케이션을 배포하는 내용을 실습해보도록 하겠습니다. Gitops와 ArgoCD Gitops란 애플리케이션의 배포와 운영에 관련된 모든 요소를 코드화하여 깃(Git)에서 관리(Ops)하는 방법론 중 하나입니다. CI/CD 중 지속적인 배포(Continuous Deployment)에 초첨을 두고 있으며, 기본 개념은 코드를 이용하여 인프라를 프로비저닝 하고 관리하는 IaC(Infrastructure as Code)에서 나온 것으로 깃옵스는 이를 인프라에서 전체 애플리케이션 범위로 확장하였다고 보시면 됩니..
-
그라파나 9 새로운 기능 (1) Query Builder24년 11월 이전/Dashboard 2022. 9. 2. 18:20
최근 Grafana 9 버전이 출시되었습니다. 사용자들의 편의성을 위한 많은 기능들이 업데이트 및 생성되었습니다. 이 문서에서는 새로운 기능 중 하나인 Query Builder에 대해서 간단하게 알아보겠습니다. 그라파나 9 이전에 쿼리하는 방법 예를 들어서 다음 쿼리를 Grafana를 통해서 조회한다고 해봅시다. sum(rate(go_gc_duration_seconds{job="node-exporter"}[$__rate_interval])) Grafana 9 이전 버전에서는 "Explore"를 탭에서 쿼리를 하는 UI는 다음과 같습니다. 기존 Grafana 8에서는 사용자가 하나 하나 쿼리를 모두 입력해야하는 불편함이 있었습니다.(물론 자동 완성 기능으로 어느 정도 커버가 가능합니다.) 그라파나 9 에서..
-
쿠버네티스에서 metrics-server 구성하기24년 11월 이전/쿠버네티스 2022. 8. 25. 22:07
개요 쿠버네티스 클러스터를 운영하다보면 파드, 노드들의 리소스들을 확인해야 할 때가 정말 빈번하게 일어납니다. 이럴 때, 유용한 명령어로 kubectl top 명령어가 있습니다. 한, 번 명령어를 입력해볼까요? $ kubectl top po error: Metrics API not available 위 로그를 확인할 수 있듯이 아쉽게도 기본적으로 제공되는 것은 아닙니다. 쿠버네티스 클러스터에 metrics-server라는 컴포넌트를 추가적으로 설치해주어야 합니다. 이 문서에서는 쿠버네티스 클러스터 minikube 환경에서 metrics-server를 구성하는 것에 대하여 다룹니다. metrics-server 구성하기 먼저 다음 명령어를 이용하여 metrics-server를 설치할 수 있습니다. $ kub..
-
[kubernetes] docker desktop에서 구성된 kubernetes 클러스터에서 metrics-server가 정상적으로 동작하지 않을 때레거시/트러블슈팅 2022. 8. 21. 20:44
개요 현재 개인적으로 진행하는 작업이 있어서, docker desktop에서 활성화한 kubernetes에서 pod/node 등의 메트릭 지표를 얻기 위해서 metrics-server를 설치했습니다. 이 때 만났던 문제들에 대해서 트러블슈팅하는 방법을 기록합니다. 환경: docker v20.10.17 맥북 정보: cpu: 2.3 GHz 쿼드 코어 Intel Core i7 mem: 32GB 3733 MHz LPDDR4X metrics-server 설치 명령어: $ kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml 설치 이후 kubectl top 명령어 실행 결과: ..
-
[Golang] fatal error: concurrent map writes레거시/트러블슈팅 2022. 4. 4. 19:19
문제 상황 golang 개발 중, map 객체에 어떤 값을 저장하여, 이를 이용하는 서비스를 만든다고 해보자. 처음에는 쉽게 다음과 같이 WriteMap 함수를 이용해서 코드를 간단하게 작성할 수 있다. package main import "fmt" func WriteMap(m map[int]int, num int) { for i := 0; i < num; i++ { m[i] = i } } func main() { fmt.Println("map writes start!") m := map[int]int{} WriteMap(m, 100) fmt.Println("map writes end!") } 이 때, 고루틴을 이용하여 WriteMap 함수의 성능 향상을 계획했다고 가정해보자. 그럼 코드는 이렇게 바꿀 ..
-
우아한 형제들 이직 후기24년 11월 이전/잡다한 이야기 2022. 3. 23. 21:01
들어가며.. 안녕하세요! 구르미입니다. 지난 번 "11번가 퇴사 부검"이후 오랜만에 잡다한 이야기에 포스팅을 작성하는군요 ^^ 11번가 퇴사 부검 11번가 퇴사 부검 (+ 2021년 회고) 들어가며.. 안녕하세요! (구) 11번가 devops 엔지니어 (현) 백수 구르미입니다. 제가 2021년 11월 30일 부로 11번가를 퇴사하게 되었는데요 사실, 퇴사 날에 부검 메일을 써보고자 했으나... 그 날은 매 gurumee92.tistory.com 위 포스팅에서 11번가 퇴사 이유가 다른 회사로 이직이 결정되어서라고 밝혔었는데요. 제목에도 적혀 있지만 그 회사는 바로 바로 "우아한 형제들"입니다. 이번 달 3월 7일 부로 수습 해제가 완료되어 드디어 포스팅을 작성하네요 ㅎㅎ 왜 입사하는지? 우아한 형제들에 ..