Skip to content
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

[Enhancement]: Use DNS for all node registration (for master, metanode, authnode, etc) #3347

Open
1 task done
Zorlin opened this issue Apr 23, 2024 · 4 comments
Open
1 task done
Assignees
Labels
enhancement New feature or request

Comments

@Zorlin
Copy link

Zorlin commented Apr 23, 2024

Contact Details

zorlin@gmail.com

Is there an existing issue for this?

  • I have searched all the existing issues

What would you like to be added?

I would like us to be able to use DNS records to allow nodes to find each other.

For example, instead of your authnode config looking like this:

{
  "role": "authnode",
  "ip": "10.0.20.91",
  "port": "8443",
  "prof": "10088",
  "id": "91",
  "peers": "91:10.0.20.91:8443,92:10.0.20.92:8443,93:10.0.20.93:8443",
  "logDir": "/var/log/cubefs/authnode",
  "logLevel": "info",
  "retainLogs": "100",
  "walDir": "/var/lib/cubefs/authnode/raft",
  "storeDir": "/var/lib/cubefs/authnode/rocksdbstore",
  "exporterPort": 9510,
  "clusterName": "rifflabs-per",
  "authServiceKey": "REPLACE-ME-WITH-YOUR-KEY",
  "authRootKey": "REPLACE-ME-WITH-YOUR-KEY",
  "enableHTTPS": true
}

It could look like this:

{
  "role": "authnode",
  "ip": "10.0.20.91",
  "port": "8443",
  "prof": "10088",
  "id": "91",
  "peers": "authnode.cfs.riff.cc:8443",
  "logDir": "/var/log/cubefs/authnode",
  "logLevel": "info",
  "retainLogs": "100",
  "walDir": "/var/lib/cubefs/authnode/raft",
  "storeDir": "/var/lib/cubefs/authnode/rocksdbstore",
  "exporterPort": 9510,
  "clusterName": "rifflabs-per",
  "authServiceKey": "REPLACE-ME-WITH-YOUR-KEY",
  "authRootKey": "REPLACE-ME-WITH-YOUR-KEY",
  "enableHTTPS": true
}

Why is this needed?

This would vastly simplify the process of specifying IP addresses for nodes or changing what IP addresses are used for nodes.

Anything else?

No response

@Zorlin Zorlin added the enhancement New feature or request label Apr 23, 2024
@Zorlin
Copy link
Author

Zorlin commented Apr 23, 2024

You can specify multiple hosts in one DNS record (or rather, several DNS records with the same name, all of A or AAAA type), so this would allow you to simply specify all your authnodes as one record, all of your masters as another, etc.

@leonrayang
Copy link
Member

@Zorlin Authnode and Master are functional modules, stateless. Master can configure domain names and currently supports it. As for Authnode, it is not very clear, and it is not widely used at the moment. Have you tried it yourself?

@Zorlin
Copy link
Author

Zorlin commented May 2, 2024

@Zorlin Authnode and Master are functional modules, stateless. Master can configure domain names and currently supports it. As for Authnode, it is not very clear, and it is not widely used at the moment. Have you tried it yourself?

What I have in mind is being able to simply declare a DNS name for each component, instead of having to specify each in the config files. Referring to them by name is fine, but I want a single DNS name that has multiple A records behind it, and to be able to change my masters by simply editing DNS and waiting.

Yes, I use authnode regularly :)

@Bmixo
Copy link

Bmixo commented May 6, 2024

is that meaning everyone could connect to the master node and data node at persent,because i didnot see any verify key setting for now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants