m1 환경에서 24단계 실습으로 정복하는 쿠버네티스 책 6장 헬름 기반으로 애플리케이션 설치하기 파트를 읽으며 실습하던 중, 오류가 발생했습니다.
$ helm pull bitnami/nginx
$ tar xvfz nginx-12.0.4.tgz
$ mv nginx-12.0.4.tgz nginx
$ cd nginx
$ helm install nginx -f values.yaml .
위 명령어 실행 후 kubectl get pods -o wide 를 통해 조회 시
user@ubuntu03:~$ kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-676bfb89b6-25sp9 0/1 CrashLoopBackOff 15 (16s ago) 52m 10.233.69.146 ubuntu03 <none> <none>
위와 같이 실패했다고 조회됩니다.
user@ubuntu03:~$ kubectl logs pods/nginx-676bfb89b6-25sp9
standard_init_linux.go:228: exec user process caused: exec format error
알아보니 bitnami nginx에서는 arm 아키텍처를 지원하지 않아서 발생한 오류 같더라고요.
처음에는 values.yaml 파일에서 image를 바꿔보았지만, helm chart 특성상 같이 실행되는 pod 와 기존 설정 간의 밀접한 관계가 있었기에 nginx 자체는 실행되었으나, 지속적으로 restart 되었습니다.
때문에 해결을 위해 다른 chart를 사용하였습니다.
https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx
arm 아키텍처를 지원하는 nginx 공식 chart입니다.
기존에 했던 방법 그대로 다시 하시면 정상적으로 동작합니다.
[user@ubuntu01 nginx-devportal (kubernetes-admin@cluster.local:nginx)]$ kgp
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-ingress-nginx-controller-6dd647c7b6-hvlrl 1/1 Running 0 10m 10.233.69.155 ubuntu03 <none> <none>
[user@ubuntu01 nginx-devportal (kubernetes-admin@cluster.local:nginx)]$ curl 10.233.69.155
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>