A More Sophisticated Deployment to Kubernetes Using Spinnaker
Oct 5, 2016 by DROdio
Our CTO Isaac just put together a nice sample Spinnaker deployment pipeline using Kubernetes, which features:
- Triggering/kicking-off a pipeline off an automated push from another build process like jenkins
- Parallel QA and integration tests
- A smoke test
- Parallel deployment to Prod US East, West & Asia
This pipeline showcases the power of using Spinnaker + Kubernetes to quickly deploy to stage, run some QA, integration and smoke tests, and deploy to production.
Read all posts related to Spinnaker + Kubernetes
Here’s the Transcript
DROdio: All right, you guys. It’s [Drodio – 00:01], Ben, and Isaac with Armory. And Isaac just got a really great pipeline that he just built using Kube. So let’s hear about it.
Isaac: What we’re looking at is just a pipeline for Kubernetes. It starts really around publishing a container to a repository so we can take a look at what that looks like. So if you just configure here, you’ll see. It’s listening for any containers that are published to this repository with this name on it. And what it’ll do is it’ll kick off the pipeline automatically. So it’s already kicked off, and what you’re looking at here is it’s actually deploying to stage. Then from stage, you can do two things here. So the first thing is just a manual QA process. So somebody would have to go in here and push Continue. So I’m going to do that now. It’s also running an integration test. This integration test is just a script that is kept in this repository. That’s actually a public repository. You can see that.
Daniel: Hey, Isaac, just a question here. You’ve got a parallel pipeline happening here. Can you just talk about that for a second? Both these stages are happening in parallel.
Isaac: Yeah, they both happen at the same time. So one doesn’t have to wait for the other one to begin. And the reason we do that is so that the next stage, which is deploying to production, Europe, it actually just sits there and waits for both of these to be accepted or to be green before moving on. So this is still being deployed. Once that’s done, I’ve already pushed Ok. I’ve pushed for a manual judgment to move ahead. So then it’ll go to the Prod EU. And then we’ll run an additional smoke test. And then from there, what we’ll do is we’ll deploy to US East, US West, and Asia all at the same time in parallel because we’ve accepted the Prod smoke test and we think that that’s good enough to move on to production. We can also start adding additional tests. Maybe you do Prod US East, add a smoke test US West, and another one in Prod Asia and another one. This is such a small deployment that it doesn’t really matter. But this is really just to show how many different types of configurations and deployment mods you can have inside of Spinnaker.
Daniel: Very cool. Thanks for sharing, man. I appreciate it.
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 →