Choose your Environment
There are several environments Halyard can deploy Spinnaker to, and they can be split into three groups, each entirely handled by Halyard.
- Local installations of Debian packages.
- Distributed installations via a remote bootstrapping process.
- Local git installations from github.
Local Debian
The Local Debian installation means Spinnaker will be downloaded and run on the single machine Halyard is currently installed on.
Intended Use-case
The Local Debian installation is intended for smaller deployments of Spinnaker, and for clouds where the Distributed installation is not yet supported; however, since all services are on a single machine, there will be downtime when Halyard updates Spinnaker.
Note that a Halyard Docker installation cannot be used as a Local Debian base image because it does not contain the necessary packages to run Spinnaker.
Required Hal Invocations
Currently, Halyard defaults to a Local Debian install when first run, and no changes are required on your behalf. However, if you’ve edited Halyard’s deployment type and want to revert to a local install, you can run the following command.
hal config deploy edit --type localdebian
Distributed
The Distributed installation means that Spinnaker will be deployed to a remote cloud such that each of Spinnaker’s services are deployed independently. This allows Halyard to manage Spinnaker’s lifecycle by creating a smaller, headless Spinnaker to update your Spinnaker, ensuring 0 downtime updates.
Intended Use-case
This installation is intended for users with a larger resource footprint, and for those who can’t afford downtime during Spinnaker updates.
Required Hal Invocations
First, you need to configure one of the Cloud Providers that supports the Distributed installation:
- Kubernetes Note: We recommend having at least 4 cores and 8 GiB of RAM free in the cluster you are deploying to.
-
Kubernetes (Manifest Based)
This is still in alpha.
-
Google Compute Engine
This is still in beta
Then, remembering the $ACCOUNT
name that you’ve created during the
Provider configuration, run
hal config deploy edit --type distributed --account-name $ACCOUNT
This command changes the type of the next deployment of Spinnaker, and will deploy it to the account you have previously configured.
Local Git
The Local Git installation means Spinnaker will be cloned, built, and run on the single machine Halyard is run on.
Intended Use-case
The Local Git installation is intended for developers who want to contribute to Spinnaker. It is not intended to be used to manage any production environment.
Prerequisites
Install local dependencies
Ensure that the following are installed on your system:
- git
- curl
- redis-server
- OpenJDK 8 - JDK (we’re building from source, so a JRE is not sufficient)
- node (version >=8.9.0, can be installed via nvm)
- yarn (
npm install -g yarn
or guide)
Fork all Spinnaker repos
Fork all of the microservices listed here: Spinnaker Microservices on github (guide).
Setup SSH Keys
Follow these guides to setup ssh access to your github.com account from your local machine:
- Generating a new ssh key and adding it to your ssh agent
- Adding a new ssh key to your Github account
Required Hal Invocations
Currently, Halyard defaults to a Local Debian install when first run, so Developers must change their deployment type to Local Git type. You can run the following command.
hal config deploy edit --type localgit --git-origin-user=<YOUR_GITHUB_USERNAME>
NOTE: Be sure to use the same username here that you forked the Spinnaker repositories to
Further Reading
- Spinnaker Architecture for a better understanding of the Distributed installation.
Next Steps
Now that your deployment environment is set up, you need to provide Spinnaker with a Persistent Storage source.