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
Minio on Kubernetes requires service names with full cluster domain #6775
Comments
This is expected and is well documented https://docs.minio.io/docs/deploy-minio-on-kubernetes.html - there is nothing we are doing to handle this. IF the DNS resolution works properly with default.svc it would work automatically. |
This issue does not reproduce when This yaml file works for me (note it is not using |
There is no such assumption in minio it is perhaps how the pod is deployed in kubernetes. For minio these are just DNS names. |
@jbw976 I tried the below yaml and it works on local Minikube setup
|
@jbw976 closing this for now as this seems to be working, feel free to reopen/get back to us if there are any further issues |
… the default `cluster.local` A new field `clusterDomain` is added and if not specified, it falls back to the default of `cluster.local`. Note that if you modify a `MinIOInstance`, the `StatefulSet` resource is _not_ modified currently in this commit. So it's only taken into account when creating a `MinIOInstance`. This should help for issue minio#70 and issue minio/minio#6775.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
From attempting to fix rook/rook#2258, it appears that Minio requires service names for the distributed server list that include the full cluster domain. In some environments, this cluster domain may have been changed from the default
cluster.local
, but a user will not know the customized value. There are 2 key elements to reproducing this issue:cluster.local
cluster domainStatefulSet
uses a name other than the default ofminio
.Expected Behavior
It is expected that the Minio server will be able to determine a given Kubernetes service address is a local address without requiring the full cluster domain. For example:
http://my-store-{0...3}.minio.default.svc/data
should work, but does nothttp://my-store-{0...3}.minio.default.svc.cluster.local/data
does work, note the required service DNS name that includes the fullcluster.local
domainCurrent Behavior
If the full service name including cluster domain is not included, the following error is returned from the minio process:
Possible Solution
I'm not quite sure what's going on with DNS/lookups that is making Minio server think an endpoint isn't pointing to the local machine, so I don't have a suggestion unfortunately.
Steps to Reproduce (for bugs)
cluster.local
from the generated configmy-store
my-store
, e.g.:http://my-store-{0...3}.minio.default.svc/data
, in accordance with StatefulSet stable network IDskubectl create -f https://gist.githubusercontent.com/jbw976/eba906f6645712605ec196d3bbf1e5ef/raw/39e62dd6a7bbbecb8ea8108b60f48f4c355a493b/minio-deployment.yaml
Note the example deployment that reproduces this issue: https://gist.githubusercontent.com/jbw976/eba906f6645712605ec196d3bbf1e5ef/raw/39e62dd6a7bbbecb8ea8108b60f48f4c355a493b/minio-deployment.yaml
Regression
Not sureYour Environment
minio version
):v1.12.2
on Minikubev0.30.0
uname -a
):https://github.com/rook/rook
https://rook.io/docs/rook/master/minio-object-store.html
https://rook.io/docs/rook/master/minio-object-store-crd.html
The text was updated successfully, but these errors were encountered: