Best installation? halyard vs armory.io vs helm charts


#1

Hi!

I’d like to get an idea from the community about the pros and cons of different methods of getting a production-ready spinnaker deployed. From the docs, spinnaker looks like the right solution for my organization’s CD needs, but I’d like to evaluate it in a form as close to what our final production system will look like.

Another desire is to deploy spinnaker in a manner as close to possible as our actual application deployment (AWS, kubernetes, helm charts) to reduce the amount of cognitive overhead necessary for our SRE team.

After a very small amount of investigation, I see three approaches to this: halyard, armory dot io and the helm charts in the github repo kubernetes/charts, at /stable/spinnaker

My sense of the pros/cons of these are:

Halyard (kubernetes V1/V2 deployment)

pros:

  • supported by the official spinnaker project
  • super easy to get started

cons:

  • doesn’t work out of the box as well as I hoped
  • a bit of a black box
  • requires a bit of extra config through the hal cli

armory dot io

pros:

  • enterprise support
  • packaged product, hopefully easy to deploy

cons:

  • unclear on pricing model (have contacted them, waiting for a response)
  • worried about vendor lock-in
  • worried about lack of configurability/flexibility

Helm charts

pros:

  • fits in well with our organisational expertise
  • more easy to configure/customise (hopefully)

cons:

  • doesn’t work out of the box as well as I had hoped
  • worried that charts won’t be supported/updated as spinnaker project progresses.

I’ve only been investigating this for a few days, so I may have missed or misunderstood many details. Any insight on how Spinnaker is being deployed in production would be very welcome.

Thank you!


#2

We’re working to update the helm charts to rely on Halyard, rather than hard-code configuration. I think when that’s done the choice between Helm & Halyard shouldn’t be so stark.


#3

Hi lwander

Thanks for the response! What form would that take, having the helm charts rely on Halyard? Does that mean you would deploy halyard using a helm chart in your cluster, and then allow it to spin everything up from there?


#4

Yes – that’s the plan.


#5

Thanks for the info. I’m hoping to build something similar following the instructions in this blog post: Best installation? halyard vs armory.io vs helm charts.

I’ll report back about how well I get on.


#6

Does this work live anywhere public right now? I’m super interested in this, as I was planning on rolling something like this by hand.


#7

Hey @eac!

I’ll probably fire up a branch in the next week or so. If you’d like I can ping you via Github to give it a look and contribute.


#8

@blaffoy I posted a similar question in the DevOps subreddit here: https://www.reddit.com/r/devops/comments/90nomd/productiongrade_spinnaker_using_helm/. You hit the nail on the head. I’ve tried all three, and came to similar conclusions.

The PR that @viglesias mentioned is here: https://github.com/helm/charts/pull/6407. I couldn’t get the installation working personally; see the PR above for my issue. Looking forward to the development of that installation method since it seems to be the best of both worlds: automated install using Helm, but in an official way with Halyard.


#9

I use Helm charts, did some updates and added fiat and kayenta myself, pretty good for me at least.


#10

For what it’s worth, the newest Helm chart defers to Halyard for installation: https://github.com/helm/charts/tree/master/stable/spinnaker


#11

Can’t trust helm , better stay with halyard , though its a pain initially but once you get the ~/.hal/config ready and up , its just couple of changes that need to appended accordingly , and by the way halyard offically recommended .