In this step, you tell Halyard in what type of environment to install Spinnaker.
The recommended path is a distributed installation onto a Kubernetes cluster, but all of these methods are supported:
Distributed installation on Kubernetes
Halyard deploys each of Spinnaker’s microservices separately. This is highly recommended for use in production.
Local installations of Debian packages
Spinnaker is deployed on a single machine. This is ok for smaller Spinnaker deployments, but Spinnaker will be unavailable when it’s being updated.
Local git installations from GitHub
This is for developers contributing to the Spinnaker project. If you’re a contributor, you’ll probably have two separate installations—a distributed one for using Spinnaker in production, and this local Git one for developing Spinnaker contributions.
Distributed installations are for development orgs with large resource footprints, and for those who can’t afford downtime during Spinnaker updates.
Spinnaker is deployed to a remote cloud, with each microservice deployed independently. Halyard creates a smaller, headless Spinnaker to update your Spinnaker and its microservices, ensuring zero-downtime updates.
Run the following command, using the $ACCOUNT
name you created when you
configured the provider:
hal config deploy edit --type distributed --account-name $ACCOUNT
If you haven’t already done so, configure a provider for the environment in which you will install Spinnaker.
This must be on a Kubernetes cluster. It does not have to be the same provider as the one you’re using to deploy your applications.
We recommend at least 4 cores and 16GB of RAM available in the cluster where you will deploy Spinnaker.
Make sure kubectl is installed on the machine running Halyard.
After you install it, you might need to update the $PATH
to ensure Halyard
can find it, and if Halyard was already running you might need to restart it
to pick up the new $PATH
:
hal shutdown
Then invoke any hal
command to restart the Halyard daemon.
Optionally, configure
Kubernetes liveness probes
for your Spinnaker services, setting the initialDelaySeconds
to the upper bound of your longest service startup time:
hal config deploy edit --liveness-probe-enabled true --liveness-probe-initial-delay-seconds $LONGEST_SERVICE_STARTUP_TIME
The Local Debian installation means Spinnaker will be downloaded and run on the single machine Halyard is currently installed on.
We recommend at least 4 cores and 16GB of RAM.
Note: Local Debian installation requires Ubuntu 14.04 or 16.04.
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.
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
The Local Git installation means Spinnaker will be cloned, built, and run on the single machine Halyard is run on.
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.
For a short guide to getting up and running with developing Spinnaker, see the developer setup guide .
We recommend at least 4 cores and 16GB of RAM.
Ensure that the following are installed on your system:
sudo apt-get install git
sudo apt-get install curl
sudo apt-get install netcat
sudo apt-get install redis-server
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
# Follow instructions at end of script to add nvm to ~/.bash_rc
nvm install v12.16.0
npm install -g yarn
or
guide/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew install curl
brew install netcat
brew install redis
brew services start redis
brew cask install adoptopenjdk/openjdk/adoptopenjdk8
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
# Follow instructions at end of script to add nvm to ~/.bash_rc
nvm install v12.16.0
npm install -g yarn
or
guideFork all of the microservices listed here: Spinnaker Microservices on github ( guide ).
Follow these guides to setup ssh access to your github.com account from your local machine:
Halyard defaults to a Local Debian install when first run. If you will be contributing code to the Spinnaker project, you can change your deployment type to Local Git type and set up your development environment with the latest code.
hal config deploy edit --type localgit --git-origin-user=<YOUR_GITHUB_USERNAME>
hal config version edit --version branch:upstream/master
NOTE: Be sure to use the same username here that you forked the Spinnaker repositories to
Now that your deployment environment is set up, you need to provide Spinnaker with a Persistent Storage source.