Skip to main content
Bumped by Community user
added 105 characters in body
Source Link
Daniel
  • 211
  • 1
  • 7

When pushing images to a self hosted Docker registry installed using their official helm chart, this works for some images. But for one image, I'm not able to push two layers. Docker retry it several times, without success.

3a6fab8d5d23: Retrying in 2 seconds 

The logs of the Kubernetes pod gave me the following error:

unknown error reading request payload: unexpected EOF 

Both layers were relatively large (252.5 MB/ 393.8 MB).

What I already tried on the Ingress

I had the Kubernetes Nginx Ingress behind my registy. Using the direct NodePort without Ingress, it works perfectly. So it seems that some limits of the Ingress break the upload. The following annotations were applied:

ingress: enabled: true hosts: - my-docker-registry.domain tls: - hosts: - my-docker-registry.domain annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/proxy-read-timeout: "900" nginx.ingress.kubernetes.io/proxy-send-timeout: "900" 

This was taken from the Nginx Ingress documentation, where a Docker Registry behind Nginx acts as example. Are there any other limits I need to increase so that my registry will properly work behind the Ingress?

Background

I want to install the Component Pack for IBM Connections. IBM has a very special way to deliver this Kubernetes based application: You get a ~4GB Zip file. It contains all images and helm charts as well as a shell script, which tags and pushes all those images to a custom registry. The cnx-ingress image is relatively large:

:~/Downloads/IC-ComponentPack-6.0.0.8# l microservices_connections/hybridcloud/images/cnx-ingress.tar -rw------- 1 daniel daniel 739M Mär 29 13:18 microservices_connections/hybridcloud/images/cnx-ingress.tar 

When pushing images to a self hosted Docker registry installed using their official helm chart, this works for some images. But for one image, I'm not able to push two layers. Docker retry it several times, without success. The logs of the Kubernetes pod gave me the following error:

unknown error reading request payload: unexpected EOF 

What I already tried on the Ingress

I had the Kubernetes Nginx Ingress behind my registy. Using the direct NodePort without Ingress, it works perfectly. So it seems that some limits of the Ingress break the upload. The following annotations were applied:

ingress: enabled: true hosts: - my-docker-registry.domain tls: - hosts: - my-docker-registry.domain annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/proxy-read-timeout: "900" nginx.ingress.kubernetes.io/proxy-send-timeout: "900" 

This was taken from the Nginx Ingress documentation, where a Docker Registry behind Nginx acts as example. Are there any other limits I need to increase so that my registry will properly work behind the Ingress?

Background

I want to install the Component Pack for IBM Connections. IBM has a very special way to deliver this Kubernetes based application: You get a ~4GB Zip file. It contains all images and helm charts as well as a shell script, which tags and pushes all those images to a custom registry. The cnx-ingress image is relatively large:

:~/Downloads/IC-ComponentPack-6.0.0.8# l microservices_connections/hybridcloud/images/cnx-ingress.tar -rw------- 1 daniel daniel 739M Mär 29 13:18 microservices_connections/hybridcloud/images/cnx-ingress.tar 

When pushing images to a self hosted Docker registry installed using their official helm chart, this works for some images. But for one image, I'm not able to push two layers. Docker retry it several times, without success.

3a6fab8d5d23: Retrying in 2 seconds 

The logs of the Kubernetes pod gave me the following error:

unknown error reading request payload: unexpected EOF 

Both layers were relatively large (252.5 MB/ 393.8 MB).

What I already tried on the Ingress

I had the Kubernetes Nginx Ingress behind my registy. Using the direct NodePort without Ingress, it works perfectly. So it seems that some limits of the Ingress break the upload. The following annotations were applied:

ingress: enabled: true hosts: - my-docker-registry.domain tls: - hosts: - my-docker-registry.domain annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/proxy-read-timeout: "900" nginx.ingress.kubernetes.io/proxy-send-timeout: "900" 

This was taken from the Nginx Ingress documentation, where a Docker Registry behind Nginx acts as example. Are there any other limits I need to increase so that my registry will properly work behind the Ingress?

Background

I want to install the Component Pack for IBM Connections. IBM has a very special way to deliver this Kubernetes based application: You get a ~4GB Zip file. It contains all images and helm charts as well as a shell script, which tags and pushes all those images to a custom registry. The cnx-ingress image is relatively large:

:~/Downloads/IC-ComponentPack-6.0.0.8# l microservices_connections/hybridcloud/images/cnx-ingress.tar -rw------- 1 daniel daniel 739M Mär 29 13:18 microservices_connections/hybridcloud/images/cnx-ingress.tar 
added 139 characters in body
Source Link
Daniel
  • 211
  • 1
  • 7

When pushing images to a self hosted Docker registry installed using their official helm chart, this works for some images. But for one image, I'm not able to push two layers. Docker retry it several times, without success. The logs of the Kubernetes pod gave me the following error:

unknown error reading request payload: unexpected EOF 

What I already tried on the Ingress

I had the Kubernetes Nginx Ingress behind my registy. Using the direct NodePort without Ingress, it works perfectly. So it seems that some limits of the Ingress break the upload. The following annotations were applied:

ingress: enabled: true hosts: - my-docker-registry.domain tls: - hosts: - my-docker-registry.domain annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/proxy-read-timeout: "900" nginx.ingress.kubernetes.io/proxy-send-timeout: "900" 

Assuming that the uploaded chunk is too largeThis was taken from the Nginx Ingress documentation, removing the limit should be enoughwhere a Docker Registry behind Nginx acts as example. Are there any other limits I need to increase so that my registry will properly work behind the Ingress?

Background

I want to install the Component Pack for IBM Connections. IBM has a very special way to deliver this Kubernetes based application: You get a ~4GB Zip file. It contains all images and helm charts as well as a shell script, which tags and pushes all those images to a custom registry. The cnx-ingress image is relatively large:

:~/Downloads/IC-ComponentPack-6.0.0.8# l microservices_connections/hybridcloud/images/cnx-ingress.tar -rw------- 1 daniel daniel 739M Mär 29 13:18 microservices_connections/hybridcloud/images/cnx-ingress.tar 

When pushing images to a self hosted Docker registry installed using their official helm chart, this works for some images. But for one image, I'm not able to push two layers. Docker retry it several times, without success. The logs of the Kubernetes pod gave me the following error:

unknown error reading request payload: unexpected EOF 

What I already tried on the Ingress

I had the Kubernetes Nginx Ingress behind my registy. Using the direct NodePort without Ingress, it works perfectly. So it seems that some limits of the Ingress break the upload. The following annotations were applied:

ingress: enabled: true hosts: - my-docker-registry.domain tls: - hosts: - my-docker-registry.domain annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/proxy-read-timeout: "900" nginx.ingress.kubernetes.io/proxy-send-timeout: "900" 

Assuming that the uploaded chunk is too large, removing the limit should be enough. Are there any other limits I need to increase so that my registry will properly work behind the Ingress?

Background

I want to install the Component Pack for IBM Connections. IBM has a very special way to deliver this Kubernetes based application: You get a ~4GB Zip file. It contains all images and helm charts as well as a shell script, which tags and pushes all those images to a custom registry. The cnx-ingress image is relatively large:

:~/Downloads/IC-ComponentPack-6.0.0.8# l microservices_connections/hybridcloud/images/cnx-ingress.tar -rw------- 1 daniel daniel 739M Mär 29 13:18 microservices_connections/hybridcloud/images/cnx-ingress.tar 

When pushing images to a self hosted Docker registry installed using their official helm chart, this works for some images. But for one image, I'm not able to push two layers. Docker retry it several times, without success. The logs of the Kubernetes pod gave me the following error:

unknown error reading request payload: unexpected EOF 

What I already tried on the Ingress

I had the Kubernetes Nginx Ingress behind my registy. Using the direct NodePort without Ingress, it works perfectly. So it seems that some limits of the Ingress break the upload. The following annotations were applied:

ingress: enabled: true hosts: - my-docker-registry.domain tls: - hosts: - my-docker-registry.domain annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/proxy-read-timeout: "900" nginx.ingress.kubernetes.io/proxy-send-timeout: "900" 

This was taken from the Nginx Ingress documentation, where a Docker Registry behind Nginx acts as example. Are there any other limits I need to increase so that my registry will properly work behind the Ingress?

Background

I want to install the Component Pack for IBM Connections. IBM has a very special way to deliver this Kubernetes based application: You get a ~4GB Zip file. It contains all images and helm charts as well as a shell script, which tags and pushes all those images to a custom registry. The cnx-ingress image is relatively large:

:~/Downloads/IC-ComponentPack-6.0.0.8# l microservices_connections/hybridcloud/images/cnx-ingress.tar -rw------- 1 daniel daniel 739M Mär 29 13:18 microservices_connections/hybridcloud/images/cnx-ingress.tar 
Source Link
Daniel
  • 211
  • 1
  • 7

Increase Kubernetes Nginx Ingress limits for large images in Docker registry

When pushing images to a self hosted Docker registry installed using their official helm chart, this works for some images. But for one image, I'm not able to push two layers. Docker retry it several times, without success. The logs of the Kubernetes pod gave me the following error:

unknown error reading request payload: unexpected EOF 

What I already tried on the Ingress

I had the Kubernetes Nginx Ingress behind my registy. Using the direct NodePort without Ingress, it works perfectly. So it seems that some limits of the Ingress break the upload. The following annotations were applied:

ingress: enabled: true hosts: - my-docker-registry.domain tls: - hosts: - my-docker-registry.domain annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/proxy-read-timeout: "900" nginx.ingress.kubernetes.io/proxy-send-timeout: "900" 

Assuming that the uploaded chunk is too large, removing the limit should be enough. Are there any other limits I need to increase so that my registry will properly work behind the Ingress?

Background

I want to install the Component Pack for IBM Connections. IBM has a very special way to deliver this Kubernetes based application: You get a ~4GB Zip file. It contains all images and helm charts as well as a shell script, which tags and pushes all those images to a custom registry. The cnx-ingress image is relatively large:

:~/Downloads/IC-ComponentPack-6.0.0.8# l microservices_connections/hybridcloud/images/cnx-ingress.tar -rw------- 1 daniel daniel 739M Mär 29 13:18 microservices_connections/hybridcloud/images/cnx-ingress.tar