data engineering

kubernetes minio 1mb이상 파일 업로드 안되는 문제 해결 프로세스.

qkqhxla1 2019. 8. 13. 14:27

1. k8s에서 helm 기본 yml으로 minio를 설치하고 파일을 업로드했는데 작은 크기의 파일들은 업로드가 되었는데

1mb이상의 파일들은 아래와 같이 413 에러가 나오면서 업로드가 되지 않았다.

2. 구글링을 이리저리 해본 결과 나와 동일한 문제를 겪은 사람이 있다. https://github.com/minio/minio/issues/6255

댓글을 보니 nginx를 사용하면 client_max_body_size라는 변수를 설정해주면 된다고 한다.


3. client_max_body_size라는 변수를 설정하는법을 검색하다가 https://github.com/gardener/gardener/issues/188 링크를 발견했다. 근데 client_max_body_size를 설정하려면 실제로 ingress에 proxy-body-size를 설정하면 된다고 한다.


4. kubectl --namespace minio get ingress 로 현재 ingress가 있는지 확인해보았다.(kubectl 공식문서참조) 현재 minio용으로 쓰는 도메인이 있고, 그 도메인을 위한 ingress가 이미 하나 존재했었다.


5. https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size 에 보면 ingress의 annotation에 nginx.ingress.kubernetes.io/proxy-body-size: 8m 처럼 값을 설정해줄수 있다고 한다.


6. kubectl --namespace minio get ingress 로 ingress정보를 출력해보았다. 확인하고

kubectl --namespace minio annotate ingress/minio nginx.ingress.kubernetes.io/proxy-body-size=8m

로 해당 ingress에 annotation을 추가해주었다. annotation 참조


이후 minio에서 1mb이상도 업로드가 잘 되는것 확인.(아마도 위에 설정한 8mb까지 될것같다.)



맞는 해답을 찾기전에 엄청나게 삽질함.

'data engineering' 카테고리의 다른 글

Rancher kubernetes 소개.  (0) 2020.01.03
elastic kibana 깨달은점. (data visualization)  (0) 2019.12.26
k8s 디버깅 프로세스 참조.  (0) 2019.08.08
docker 동작 기본, 알아둘것  (0) 2019.06.14
mysql partitioning, index  (0) 2019.06.08