Why Spinnaker and Kubernetes Work Better Together for Continuous Delivery
Kubernetes (K8s) is the go-to-guy when you’re looking to take your container game to the next level. But while K8s has certainly changed how we run cloud-native applications, it’s not a deployment tool.
Say hello to the real star of Netflix, armed and ready to make your K8s deployments even safer: Spinnaker.
Spinnaker is being rapidly adopted by companies in need of high scalability, easy and reliable multi-cloud deployments, and automated Continuous Delivery (CD) pipelines that free up their teams to do their best work. For K8s, it offers a better way to make deployment pipelines more flexible and also helps with visibility, configuration, and easier rollbacks.
If this sounds like something you could make good use of, then here are a few ways Spinnaker gives Kubernetes a power boost and why you may want to take advantage of it.
How (and why) Spinnaker fits with Kubernetes
In an interview with Lars Wander and Matt Duftler, the pair of Google developers (who were working on the K8s and Spinnaker integration) explained that these open source platforms work well together for a few reasons:
The resource mapping of Spinnaker abstractions to K8s is very straightforward thanks to the fact that both platforms work with very similar models. This makes them fully compatible with each other and easy for anyone familiar with either platform to get straight to work with.
As a side note, the resource mapping between Spinnaker and K8s constructs is a lot more flexible in the K8s Provider V2. (You can read more about Kubernetes Provider V2 here.)
Amplified deployment capabilities
Spinnaker complements vanilla K8s by offering advanced capabilities such as multiple deployment strategies and easy rollbacks. While Kubernetes has its own Deployments API, it’s not all that advanced and doesn’t quite cut it for organizations looking for fully automated deployment pipelines.
Spinnaker fills the gap by not only allowing you to define your own deployment pipelines, but also monitor each stage, check what’s running, what’s eating traffic, and the health of a K8s cluster.
First-class support for cloud resources
Many companies use Jenkins with custom scripts to extend K8s’ deployment capabilities. While Jenkins sure is a powerful build server, it tends to fall short since Jenkins isn’t a complete deployment tool either and lacks first-class support for objects in the cloud. Not to mention that Jenkins is in the dark on what the deployment infrastructure is doing.
On the other hand, Spinnaker was developed with first-class support for cloud resources where servers and deployments are built-in (which means farewell to custom scripting).
Manifest versioning for safer deployments
Safety and reliability are major factors for CD and are precisely what K8s is a tad shaky on. The platform does an amazing job at maintaining your application, but it isn’t as efficient at ensuring every configuration resource is versioned so that things don’t break in the event of a rollback. It sort of leaves that up to you.
Here’s where Spinnaker picks up the slack by inspecting every deployed K8s manifest to ensure everything is versioned for safer deployments. If it detects a non-versioned resource deploying with a versioned resource, it automatically assigns a version to the offending party. You can thank Spinnaker’s primary principle of Immutable Infrastructure for this helpful feature.
Learning more about Spinnaker and Kubernetes
While this post barely scratches the surface of what both platforms can accomplish together, it does give you the hint that adopting Spinnaker can help you enforce best practices and automate the tedious parts of your CD pipeline in K8s.
Installing and using Spinnaker is getting easier as it advances, but you may still need a hand along the way. If you have specific questions, jump into the Spinnaker Slack Channel for some impressive community support (we suspect none of them really sleep). Make sure to join the #Kubernetes channel in particular.
For even more support, exclusive talks with tech leaders and the very people who helped built Spinnaker and K8s, take a look at the annual Spinnaker Summit. This is the gig of the year for organizations and anyone invested in adopting open source platforms for better software delivery and management.
Interested? Get your full-access pass here.
Jenny Medeiros is an engineer by degree turned writer by trade. She spent her first years working with Virtual Reality in South America before moving onto UX-focused Web Design and Development in Washington D.C. Now as a serial remote worker, she partners with tech-savvy companies to create content that helps people and computers understand each other better. In her spare time, she hangs with Netflix and often asks Alexa how to fold a fitted sheet.