K8s에 구축된 웹서비스에서 413 Content Too Large에러가 발생할 수 있다. 큰 파일을 업로드할 때 종종 발생한다. 특히 컨테이너 이미지를 업로드해야 하는 레지스트리(registry) 서비스에서 이런 에러가 발생할 가능성이 높다.
413 Request Entity Too Large라는 이름으로 불릴 때도 있다.
K8s에서 ingress에 여러가지 컨트롤러를 쓸 수 있다고 하는데 Nginx ingress controller가 가장 널리 사용되므로 이를 기준으로 살펴보겠다.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
namespace: my-namespace
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "2048m"
불필요하게 너무 많이 늘리면 메모리 자원이 낭비될 수 있으니 현재 설정값을 기준으로 두 배 또는 네 배 정도로 상향 조정하는 게 좋다.
ingress controller 구현체마다 설정이 다르므로 우선 어떤 구현체를 사용하는지 확인하고 설정을 조정해야 한다.