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

Node-specific setup steps should run automatically as nodes are admitted to the cluster #172

Closed
celskeggs opened this issue Dec 27, 2017 · 4 comments

Comments

@celskeggs
Copy link
Member

celskeggs commented Dec 27, 2017

Instead of these steps being performed manually:

$ spire seq core
$ spire seq registry
$ spire seq flannel
$ spire seq dns-addon

We should be able to just set a configuration option in setup.yaml:

include-homeworld-registry: true

(to say that, yes, the registry should be included.)

And then everything else should occur automatically due to nodes being installed and automatic scripts being run.

This will accomplish two things:

  • Easier to set up a cluster
  • Allow adding nodes to an existing cluster.
@celskeggs
Copy link
Member Author

celskeggs commented Dec 28, 2017

The basic commands that need equivalents, which are the unpacking of the seq commands from above:

$ spire infra install-packages
$ spire setup services
$ spire verify etcd
$ spire verify kubernetes
   (the following two commands only if a registry is being set up)
$ spire setup dns-bootstrap
$ spire setup bootstrap-registry
   (end)
$ spire verify aci-pull
$ spire deploy flannel
$ spire verify flannel-run
$ spire verify flannel-ping
$ spire deploy dns-addon
$ spire verify dns-addon-run
$ spire verify dns-addon-ping

There are a few categories of these commands:

  • verification commands, which should probably be converted to monitoring scripts, so that instead of running these directly, it's more of a "let's watch a dashboard to see if all the lights turn green" process
  • configuration that should be able to be done by the ISO, like setting up dns bootstrapping and installing most packages. (homeworld-services can be installed everywhere, since it doesn't have any install-triggered scripts, but the bootstrap registry package can't.)
  • commands that are supervisor-only, and should be able to be performed while setting up the supervisor node (i.e. spire setup bootstrap-registry, installing the packages for the bootstrap registry on the supervisor node)
  • commands that might require more complicated machinery to automatically perform, like spire setup services and the kubernetes deployment commands

@celskeggs
Copy link
Member Author

celskeggs commented Jan 9, 2018

New ordering (I'm ignoring registry setup checking, because honestly it's not worth the additional effort for that at this time):

  # equivalents will be moved to during ISO installation
$ spire infra install-packages
$ spire setup dns-bootstrap
  # done during supervisor setup
$ spire setup bootstrap-registry
  # needs more complicated replacement
$ spire setup services
$ spire deploy flannel
$ spire deploy dns-addon
  # will be handled via monitoring
$ spire verify etcd
$ spire verify kubernetes
$ spire verify aci-pull
$ spire verify flannel-run
$ spire verify flannel-ping
$ spire verify dns-addon-run
$ spire verify dns-addon-ping

@celskeggs
Copy link
Member Author

Latest ordering and comments:

  # implemented by monitoring
$ spire verify online
  # being moved to ISO installation
$ spire setup dns-bootstrap   # being worked on; see #188
  # now implemented by monitoring
$ spire verify etcd
$ spire verify kubernetes
  # needs more complicated replacement
$ spire deploy flannel
$ spire deploy dns-addon
$ spire deploy flannel-monitor
$ spire deploy dns-monitor
  # now implemented by monitoring
$ spire verify aci-pull
$ spire verify flannel
$ spire verify dns-addon

@celskeggs
Copy link
Member Author

Since #229 was merged, the only remaining step is #188; every other step is run automatically as nodes are admitted -- or moved to the supervisor init phase. This issue is now redundant, and can be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant