A More Sophisticated Deployment to Kubernetes Using Spinnaker
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.
Here also is a screenshot of a rollback using Spinnaker:
And here are a few other screenshots:
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.