-
Notifications
You must be signed in to change notification settings - Fork 455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tenant S3 api not reachable / Login in Tenant console not working / :443: i/o timeout #1794
Comments
I think that‘s should happen at minio's pods before ready. |
@jiuker thanks for the response. How can I provide you any further information? Which additional information do you need? Can I test things to further give you some insights into the issue. test with different clusterI also tested it on a different cluster (create by kubeadm not minikube). There I get domain resolution for the S3-API:
but when loading the login page (which takes ages) I get: on actual login
if i use the tenant console button from the operator console i get 403 on test with MC clientcluster 2: kubeadmToday I tested the MC client against the second cluster (the one were it binds to dns name) which seems to work
cluster 1: minikubeFor the first cluster (minikube; binding to localhost with tls disabled) I can't connect:
|
I think that should your machine can't connect the minikube's nodeport. |
You said that |
Login directly on Tenant ConsoleI guessed this from the error message and its source or origin (RestAPI returning it cannot reach xyz is telling me that the server which response with this message is doing this (failing) request). Here the request I mean, the error message from the first screenshot is the direct result from the API call console log of tenant is empty:
However I saw that after recreating the S3 API was now binding to dns not localhost anymore and I successfully could test EDIT: I guess this is the request failing. it seems that it is not logging this failure to consoleoutput. Login via Operator ConsoleIn the meantime I have further insights. Operator console is doing some connections, which are failing, to the tenant for sure when using Operator console to (view) log in(to) tenant console
However Operator should be able to connect (at least on second try): |
up ? |
up? |
What's your setup? Could you post your steps? |
If your network is secure, you could set tenant.certificate.requestAutoCert to false inside the tenant values chart, then not force HTTPS as backend protocol (see below). If you keep the HTTPS annotation, it results in a 502 error The ingress config inside the tenant values is then:
Same for the api part. The rest regarding networking is left at default. I was seeing the same |
Any updates here?
|
@fritz-net Could you access it by nodeport? |
Close it. Please open an new issue for that and write more steps about the setup. I can't reproduce it. |
I use port forwarding and I can reach the service. As pointed out above with the screenshots I can reach the backend from the browser. But the backend returns it cannot reach itself(??) via the k8s service. The IP in the error is the correctly resolved one of the service. the S3 functionality works perfect (inside k8s) since my application uses it to upload and download data from it successfully, just the tenant console login is not working Attached u will find additional insights into my setup, please inform me if and what infos additionaly can provide to u these are the yamls I linked in the initial post to
The first screenshot shows the login request to the backend The second screenshot shows the request body The third screenshot shows the response body |
tenant S3 API not reachable therefor login fails and also user creation on tenant deployment fails.
What I noticed and what I did:
I installed the k8s Operator via the plugin (and I also tried via helm)
The tenants are properly created, pods are spawned and certs are created however I get the following error in events (and k8s)
Users creation failed Put https://minio.namespace.svc.cluster.local/minio/admin/v3/add-user?accessKey=censored: dial tcp :443: connect: connection refused
Also login in the Tenants console does not work. The page also needs a long time to load (I would guess as long as the timeout for login needs)
The error I get is:
Post "https://minio.namespace.svc.cluster.local/": dial tcp 10.100.109.225:443: i/o timeout
(this is the IP of the service)I noticed that S3 API is only bound to localhost (snipped from pod logs):
(this is the IP of the pod)
dirty workaround
when I switch to
MINIO_SERVER_URL="http://localhost:9000"
at least the login works.I tried it with and without tls. With TLS i get a cert error when setting serverurl to localhost (which makes sense since its the wrong domain). So I disabled it for my workaround.
Expected Behavior
The expected behavior is that connection via the k8s service is possible to S3 API
Current Behavior
connection gets dropped
Possible Solution
change the binding of the tenant console container to 0.0.0.0:9000
However I did not find out how to do this or why this looks like this in the first place
EDIT: binding can be set by the cmd arg
--address
as i found out, however I found not way to pass it to the containerI also was not able to set it by editing the k8s resources because the operator would "fix" them immediately
however the console/web port can be set as seen here https://github.com/minio/operator/blob/cf4d30f027b8cc77b3647aa82a36fc6df0f98c2b/pkg/resources/statefulsets/minio-statefulset.go#L291C6-L291C30
EDIT2: scaled the operator to 0 and added the
--address 0.0.0.0:9123
in the end of the container args. The container still logged that it was binding tolocalhost:9000
I also tried different host and port combinations, non took effectSteps to Reproduce (for bugs)
replicaCount: 1
) via helm or via krew (tested both)Context
I was trying to get started with minio (operator) for the first time
Regression
Your Environment
minio-operator
): operator=5.0.9uname -a
):The text was updated successfully, but these errors were encountered: