전체 글 102

쿠버네티스 클러스터에 라즈베리파이3 워커노드 추가

기존에 라즈베리파이4에 쿠버네티스 컨트롤플레인을 설치하고 라즈베리파이2를 워커노드로 조인해서 사용 중이었습니다. 그런데 아무래도 라즈베리파이2의 성능이 쳐지다 보니 CPU 부하도 꽤 먹고, 뭔가 버벅거리는 느낌적인 느낌을 지울 수 없었는데요. NAMESPACE NAME STATUSNODE default coin-gather-55d49bdb8-6c52k Runningraspberrypi2 default coin-trader-85f974d495-6758f Runningraspberrypi2 default fan-controller-hf6wc Runningraspberrypi2 default home-server-654446f6d5-nds6w Runningraspberrypi2 default plug-cont..

Raspberry pi 2022.12.27

validationQuery didn't return a row

Problem org.apache.commons.dbcp로 DB connection pool을 생성하는 경우, 어플리케이션 기동 시 validationQuery didn't return a row 라는 에러가 발생하며 제대로 기동이 안될 수 있다. 의미로만 보자면, DB connection pool을 생성하기 위해 DB 연결이 유효한지 valication query를 DB에 날렸으나, 응답을 받지못해 DB connection pool을 제대로 생성하지 못했다는 뜻이다. Solution 1. DB status check 아마 문제 없을 것이다. DB에 접속이 막혀있거나, DB 기동이 안되었다면 다른 에러가 발생했을 것이다. 2. Valication Query check 이것도 비교적 유추 가능하고, 제일먼..

Trouble Shooting 2022.12.09

Grafana 멀티 데이터소스, 멀티 필드 그래프 스타일 다르게 만들기

지난 포스팅 이후 시간이 좀 흘렀습니다. 어렵지 않은 내용인데 짬을 내기가 쉽지 않네요. 지난번엔 Grafana에서 멀티 데이터소스를 하나의 그래프에 표현하는 방법을 설명했구요. 2022.09.07 - [Miscellaneous] - Grafana 멀티 데이터소스 하나의 차트에 같이 표시하기 Grafana 멀티 데이터소스 하나의 차트에 같이 표시하기 Grafana는 다양한 데이터소스를 추가하여 완성도 높은 그래픽으로 데이터를 시각화하기 아주 좋은 툴입니다. 개인적인 용도로 라즈베리파이에 돌리고 있는 다양한 어플리케이션이 있는데요. 이 viewise.tistory.com 이번엔 멀티 데이터소스에서 가져온 다양한 성격의 필드를 각각 다른 모양으로 표현하는 방법을 설명하려고 합니다. 예를 들면, 시계열 데이터..

Miscellaneous 2022.09.26

Grafana 멀티 데이터소스 하나의 차트에 같이 표시하기

Grafana는 다양한 데이터소스를 추가하여 완성도 높은 그래픽으로 데이터를 시각화하기 아주 좋은 툴입니다. 개인적인 용도로 라즈베리파이에 돌리고 있는 다양한 어플리케이션이 있는데요. 이 어플리케이션들이 뱉어내는 로그와 DB에 쌓는 데이터들을 모아 한눈에 파악할 수 있도록 Grafana를 꾸미고 있습니다. 이번에는 자체 제작한 코인 자동거래 봇이 계산한 지표들과 거래기록을 한 시계열데이터 차트 안에 넣을 수 없는지 고민했습니다. 우선 결과물 부터 보자면, 적용한지 얼마 되지 않아 그래프가 다 채워지지는 않았습니다만, 15분 간격의 리플(XRP) 가격과 볼린저 밴드를 그리고 있는 시계열 그래프입니다. 리플가격과 볼린저 밴드 High, Low 는 자동거래 봇이 로그로 뱉어내고 있습니다. 로그 형식은 json..

Miscellaneous 2022.09.07

[삽질의 추억] Loki 32bit 환경 설치 안될 때 해결방법 : panic: unaligned 64-bit atomic operation

약 한달 전부터 진행한 라즈베리파이 + 쿠버네티스 환경 설치 초기에, 쿠버네티스가 라즈비안 64bit 환경에서 설치가 잘 되지 않아 32bit 로 재설치를 진행한 적이 있습니다. 2022.08.02 - [Raspberry pi] - 라즈베리파이4 라즈비안 64bit 쿠버네티스 설치 실패 라즈베리파이4 라즈비안 64bit 쿠버네티스 설치 실패 라즈베리파이4에 야심차게 64비트 라즈비안을 설치했지만 2022.07.27 - [Raspberry pi] - 라즈베리파이 4 라즈비안 64bit 설치 : SSH 최초 접속 : 스펙 확인 라즈베리파이 4 라즈비안 64bit 설치 : SSH 최초 접속 viewise.tistory.com 다행히 32bit 환경에서는 정상적으로 모든 설치가 되고 클러스터링도 완료를 하였는데..

Miscellaneous 2022.09.06

라즈베리파이 쿠버네티스에 Prometheus + Grafana 올리기

라즈베리파이에 쿠버네티스 클러스터링 구성을 완료했습니다. 틈틈히 하다보니 약 한달이 걸렸네요. 2022.08.17 - [Raspberry pi] - 라즈베리파이 2대 쿠버네티스 클러스터링 구성 완료 라즈베리파이 2대 쿠버네티스 클러스터링 구성 완료 1차 목표는 완료했습니다. 기존에 라즈베리파이2에 잡다한 어플리케이션이 돌고 있었고, 라즈베리파이4 한대를 더 영입하면서 쿠버네티스 구성을 계획했었습니다. 오늘 부로 딱 3주되었는데, 이 viewise.tistory.com 그리고 쿠버네티스에 최적화된 모니터링 툴인 Prometheus를 도입했습니다. 뭐 따로 yaml 작성없이도 바로 적용할 수 있는 훌륭한 자료가 있어서 그대로 따라만 했습니다. Prometheus 설치 https://devopscube.com..

Raspberry pi 2022.08.25

[삽질의 추억] 쿠버네티스나 도커 안에서 WOL(Wake On Lan) 안될 때

쿠버네티스나 도커와 같이 컨테이너 안으로 어플리케이션을 넣으면 WOL 처럼 내부 네트워크에서만 동작되는 기능은 동작하지 않습니다. 처음부터 알고 있었던건 아니구요. 잡다한 홈서버를 라즈베리파이에 Nodejs 로 운용하다가 쿠버네티스에 넣었더니 2가지 기능이 안되더라구요. 첫번째는 GPIO 컨트롤, 두번째는 WOL 이었습니다. GPIO 컨트롤은 아래와 같이 해결하였구요. 2022.07.31 - [Raspberry pi] - 라즈베리파이 쿨링팬 제어 nodejs 도커로 실행하기 :GPIO 접근권한 라즈베리파이 쿨링팬 제어 nodejs 도커로 실행하기 :GPIO 접근권한 쿨링팬 제어하는 nodejs 모듈을 열심히 만들었고, 이제 상시 돌아가도록 쿠버네티스 daemon으로 등록해야 합니다. 그 전에 일단 도커 ..

Miscellaneous 2022.08.23

[삽질의 추억] 쿠버네티스 추가 볼륨, 추가 콘피그맵이 안붙을 때

라즈베리파이에 쿠버네티스를 올리면서 삽질했던 것들을 기억나는대로 올려봅니다. 쿠버네티스에서 yaml 파일 작성할때에, 분명 첫번째 콘피그맵, 또는 퍼시스턴스 볼륨은 잘 붙었는데, 추가로 작성했을 경우 안붙는 케이스가 있었습니다. 한참을 삽질했는데, 원인은 단순합니다. volumeMounts: 혹은 volumes: 가 pod spec 목록 하위에 중복으로 작성되었을 경우입니다. 아래의 yaml 파일을 보시면, spec: containers: - image: private.repo:8888/home-server:0.3 name: home-server env: - name: TZ value: Asia/Seoul volumeMounts: - name: homeconfig mountPath: /usr/src/ap..

Miscellaneous 2022.08.22

라즈베리파이 2대 쿠버네티스 클러스터링 구성 완료

1차 목표는 완료했습니다. 기존에 라즈베리파이2에 잡다한 어플리케이션이 돌고 있었고, 라즈베리파이4 한대를 더 영입하면서 쿠버네티스 구성을 계획했었습니다. 오늘 부로 딱 3주되었는데, 이제야 잡다한 어플리케이션을 모두 컨테이너화 하여 쿠버네티스에 올렸습니다. $ k get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES coin-gather-5d7b766468-bd5rc 1/1 Running 0 3d22h 10.244.0.94 raspberrypi4 coin-trader-6c99cf5b4f-l5zhp 1/1 Running 0 2d23h 10.244.0.111 raspberrypi4 fan-controller..

Raspberry pi 2022.08.17

라즈베리파이2 쿠버네티스 워커노드 만들기

새로 장만한 라즈베리파이4에 쿠버네티스 컨트롤플레인 설치를 완료했습니다. 2022.08.03 - [Raspberry pi] - 라즈베리파이4 쿠버네티스 설치 라즈베리파이4 쿠버네티스 설치 라즈베리파이4에 라즈비안 64bit (bullseye) 를 설치하고, 그 위에 쿠버네티스 환경을 셋업해보려고 했습니다. 하지만, 몇가지 설정을 잡는데에서 한계를 느껴 결국 64bit를 포기하고 32bit로 재설치를 viewise.tistory.com 그리고 기존에 사용하던 라즈베리파이2에 이것저것 돌리던 잡동사니들을 컨테이너화 해서 라즈베리파이4에 쿠버네티스 위에 올렸습니다. 이제 라즈베리파이2가 비었으니, OS를 재설치하고 쿠버네티스 워커노드로 라즈베리파이4에 join 시키려고 합니다. 재설치하는 이유는, 기존에 사용..

Raspberry pi 2022.08.15