Spinnaker and Kubernetes (the peanut butter to your jam)
Apr 28, 2017 by Armory
Kubernetes: an open source container management tool for cloud management
- I already have Kubernetes – why do I need Spinnaker?
Spinnaker is already made to fit Kubernetes out of the box and provides additional features that complements Kubernetes. Lars, a Google engineer working on Spinnaker-Kubernetes integration, says that the goal of Spinnaker is “to allow you to automate and make reliable your deployments and your rollback steps, so you can set up pipelines describing how you want to deploy to your cloud provider of choice and also safely rollback in case anything goes wrong.”
- But does Spinnaker actually provide any extra features on top of Kubernetes?
The important thing to note is that Spinnaker streamlines deploying to Kubernetes – they do not do the exact same functions. If Kubernetes requires a rollback it will require multiple manual steps in order to do so whereas Spinnaker utilizes methods such as Red/Black (AKA Blue/Green) deployment strategy to facilitate immediate rollbacks as simply as possible. In short, Kubernetes is capable of automating your deployments but it is not meant for orchestrating them.
- How does Spinnaker work with Kubernetes?
Spinnaker is the best at giving you oversight into your deployed infrastructure – showing you what you have running, what’s eating up traffic, what’s healthy, etc. The resource mapping of Spinnaker is based on server groups that are load-balanced behind services with security rules. While Kubernetes does have this type of deployments API, it isn’t always enough to give you a fully automated deployment flow from code to production. This is the gap that Spinnaker fills by allowing for orchestration of multiple steps through defining your deployment pipelines.
- How mature is support for Kubernetes within Spinnaker?
Spinnaker is configured to work with Kubernetes out of the box. Google wrote the integration for supporting Kubernetes with Spinnaker and is constantly maintaining it.
- I want to keep my infrastructure as versioned code in my repository, but use the Spinnaker GUI to get visual input on how things are doing – can this be done?
The best way to achieve this is to use the Spinnaker API instead of the UI. Everything in Spinnaker is backed by JSON based APIs so you can always create your pipelines programmatically. Netflix is also working on declarative pipeline DSL.
Recently Published Posts
Monitoring Spinnaker: Part 1
Overview One of the questions that comes up a lot is how you monitor Spinnaker itself. Not the apps Spinnaker is deploying, but Spinnaker itself and how it’s performing. This is a question that has a lot of different answers. There are a few guidelines, but many of the answers are the same as how […]
Read more →
The Importance of Patents: Interview with Nick Petrella, Head of Legal
In honor of Armory’s recent acquisition of a patent for continuous software deployment, we sat down with Nick Petrella, Head of Legal, for a casual conversation covering a wide range of subjects, from patent law to Nick’s background as a software engineer and why he made the leap to the law. Check out […]
Read more →
Armory Agent for Kubernetes Simplifies K8s Complexity
I’ll be upfront with you, I’m a sucker for a good origin story. It’s one of the reasons I spent hours engrossed in the Marvel Cinematic Universe not too long ago. Rooting for incredibly flawed individuals with an outsized sense of duty and superpowers to back it up….What’s not to love? My partner has a […]
Read more →