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

clustering #651

Closed
ahmadnassri opened this issue Oct 21, 2015 · 5 comments
Closed

clustering #651

ahmadnassri opened this issue Oct 21, 2015 · 5 comments
Labels
task/feature Requests for new features in Kong
Milestone

Comments

@ahmadnassri
Copy link
Contributor

Discussion started in #15 need to define requirements for cluster awareness.

  • cluster status API, similar to /status but for the whole cluster
  • add remove nodes from cluster with API ?
@thibaultcha thibaultcha added task/feature Requests for new features in Kong priority/HUGE labels Oct 21, 2015
@thibaultcha thibaultcha added this to the 0.6.0 milestone Oct 21, 2015
@subnetmarco
Copy link
Member

Supported commands in the first version will be:

  • join
  • members
  • keygen (Utility method to generate base64-encoded 16-byte key for encryption)
  • leave
  • force-leave

The configuration options available will be:

######
## Cluster settings
cluster:

  ######
  ## Address to bind network listeners to.
  bind: "0.0.0.0:7946"

  ######
  ## Network interface to bind to. Can be used instead of bind if the interface is known but 
  ## not the address. If both are provided, then Kong verifies that the interface has the bind 
  ## address that is provided.
  iface: ""

  ######
  ## Address to bind the RPC listener.
  rpc-addr: "127.0.0.1:7373"

  ######
  ## Key for encrypting network traffic within Kong. Must be a base64-encoded 16-byte key.
  encrypt: "foo"

I am also considering to optionally support adding the nodes in the configuration, so that the node will auto-join them without further commands, like:

cluster:

  ######
  ## Optional list of nodes to auto-join on startup.
  nodes:
    - "1.1.1.1:7042"
    - "2.2.2.2:7042"
    - "3.3.3.3:7042"

@ahmadnassri
Copy link
Contributor Author

can we not have clustering be done through admin API, rather than yml/config?

seems to me it would be more powerful to dynamically setup rather to do on init.

e.g.

  • POST /cluster/join/
  • GET /cluster/members/

@subnetmarco
Copy link
Member

can we not have clustering be done through admin API, rather than yml/config?

Yes. Very good point.

@nijikokun
Copy link
Contributor

can we not have clustering be done through admin API, rather than yml/config?

👍

@ahmadnassri
Copy link
Contributor Author

@thefosk can this be closed now with the features introduced in 0.6.0-RC?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task/feature Requests for new features in Kong
Projects
None yet
Development

No branches or pull requests

4 participants