Miscellaneous

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

[혜안] 2022. 9. 6. 16:27
728x90

약 한달 전부터 진행한 라즈베리파이 + 쿠버네티스 환경 설치 초기에,

쿠버네티스가 라즈비안 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 환경에서는 정상적으로 모든 설치가 되고 클러스터링도 완료를 하였는데요.

2022.08.17 - [Raspberry pi] - 라즈베리파이 2대 쿠버네티스 클러스터링 구성 완료

 

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

1차 목표는 완료했습니다. 기존에 라즈베리파이2에 잡다한 어플리케이션이 돌고 있었고, 라즈베리파이4 한대를 더 영입하면서 쿠버네티스 구성을 계획했었습니다. 오늘 부로 딱 3주되었는데, 이

viewise.tistory.com

 

그리고 나서 내친김에 Prometheus 와 Grafana를 설치하여 모니터링도 고도화 하였구요.

2022.08.25 - [Raspberry pi] - 라즈베리파이 쿠버네티스에 Prometheus + Grafana 올리기

 

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

라즈베리파이에 쿠버네티스 클러스터링 구성을 완료했습니다. 틈틈히 하다보니 약 한달이 걸렸네요. 2022.08.17 - [Raspberry pi] - 라즈베리파이 2대 쿠버네티스 클러스터링 구성 완료 라즈베리파이 2

viewise.tistory.com

 

그런데, 마지막으로 Grafana Loki 를 설치하는 중에, 문제가 발생했습니다. 

설치는 Helm을 통해 아주 편하게 했죠. 그런데....

바로 아래와 같은 에러가 찍히면서 Loki Pod가 종료됩니다.

panic: unaligned 64-bit atomic operation

 

구글링을 좀 해보니, 32bit 는 더이상 지원안한다는 얘기가 있네요.

https://github.com/grafana/loki/issues/5388

 

Loki no longer runs on 32bit architecture · Issue #5388 · grafana/loki

This is mostly for posterity because I don't think we will likely fix this. ☹️ panic: unaligned 64-bit atomic operation goroutine 2314 [running]: github.com/grafana/loki/pkg/util/server.onPanic...

github.com

 

결국 컴파일 설치를 해야하는건가 여러가지 방법을 찾으면서, github를 들락거리고 있는데,

문득 눈에 들어옵니다. no longer runs....

그럼 이전 버전에서는 되었다는 이야기....

그래서 설치된 loki와 promtail의 yaml을 추출해서 image 버전을 낮춰 보기로 했습니다.

kubectl -n logging get statefulsets.apps loki -o yaml > statefullset.yaml
kubectl -n logging get daemonsets.apps loki -o yaml > daemonset.yaml

 

statefullset.yaml

.
.
.
    spec:
      containers:
      - args:
        - -config.file=/etc/loki/loki.yaml
        image: grafana/loki:2.6.1
        imagePullPolicy: IfNotPresent
.
.
.

 

daemonset.yaml

.
.
.
      spec:
        containers:
        - args:
          - -config.file=/etc/promtail/promtail.yaml
          env:
          - name: HOSTNAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: spec.nodeName
          image: docker.io/grafana/promtail:2.6.1
          imagePullPolicy: IfNotPresent
.
.
.

 

릴리즈 노트를 보면서...

https://github.com/grafana/loki/releases

 

Releases · grafana/loki

Like Prometheus, but for logs. Contribute to grafana/loki development by creating an account on GitHub.

github.com

 

현재는 2.6.1이고, 2.6.0으로 변경해서 다시 배포해보구요.

.

.

.

마찬가지로 에러가 발생합니다.

그럼 2.5.0....

에러 발생..

2.4.2...

.

.

.

엇..

안 죽습니다.

NAME                  READY   STATUS    RESTARTS   AGE
loki-0                1/1     Running   0          15m
loki-promtail-br68d   1/1     Running   0          15m
loki-promtail-qllgk   1/1     Running   0          15m

잘 동작하네요.

 

결국 버전을 2.6.1에서 2.4.2로 낮춰서 에러를 해결했습니다.

메이저 버전이 2.0이 넘어가는데 무슨 큰문제야 있겠습니꽈?

 

 

728x90