gomods / athens-charts

Helm charts for athens

Home Page:https://gomods.github.io/athens-charts/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error when using Helm and S3

tanora opened this issue · comments

Describe the bug
ForcePathStyle is not included in the chart. I have tried setting ForcePathStyle to true and false.

    region: eu-west-1
    bucket: bucket-name
    useDefaultConfiguration: true
    ForcePathStyle: true

Error Message
Logs from pod

INFO[12:04PM]: incoming request	http-method=GET http-path=/readyz http-status=500
INFO[12:04PM]: incoming request	http-method=GET http-path=/healthz http-status=200
INFO[12:04PM]: incoming request	http-method=GET http-path=/readyz http-status=500

When describing pod:

  Normal   Created    4m2s                  kubelet, ip-10-10-29-157.eu-west-1.compute.internal  Created container
  Normal   Started    4m1s                  kubelet, ip-10-10-29-157.eu-west-1.compute.internal  Started container
  Warning  Unhealthy  39s (x21 over 3m58s)  kubelet, ip-10-10-29-157.eu-west-1.compute.internal  Readiness probe failed: HTTP probe failed with statuscode: 500

To Reproduce
Using Kube2iam and ingress is enabled.

Environment (please complete the following information):

  • Storage (fs/mongodb/s3 etc.) : S3

Same problem here.

# curl -v http://localhost:3000/readyz
*   Trying 127.0.0.1:3000...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 3000 (#0)
> GET /readyz HTTP/1.1
> Host: localhost:3000
> User-Agent: curl/7.67.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 500 Internal Server Error
< Content-Type: application/json
< Date: Tue, 02 Mar 2021 07:21:29 GMT
< Content-Length: 0
<

@teochenglim @tanora do either of you see anything in logs that shows an error specific to S3 or similar?

@arschles That's no any helpful error message from the kubernetes pod. All we see is bunch of 200 (/healthz) and 500 (/readyz) status code because of helm charts's readiness. A more verbose debug log option would be helpful.

i think it is from https://github.com/gomods/athens/blob/main/charts/athens-proxy/templates/deployment.yaml#L59-L70

INFO[12:04PM]: incoming request	http-method=GET http-path=/readyz http-status=500
INFO[12:04PM]: incoming request	http-method=GET http-path=/healthz http-status=200
INFO[12:04PM]: incoming request	http-method=GET http-path=/readyz http-status=500

The other possible question is when the endpoint /readyz is not ready, how do we debug it?

@arschles

indeed the /readyz seems from this code and it only return the http status
https://github.com/gomods/athens/blob/main/cmd/proxy/actions/readiness.go#L12

If some log is written somewhere would be good.

Or maybe also return the "err" on what ready happen would be so helpful.
https://github.com/gomods/athens/blob/main/pkg/storage/s3/s3.go#L70

The problem can range from permission error, the connection established error would be prefect.