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.

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

Reduce the Blast Radius of a Bad Deployment with Automated Canary Analysis

May 23, 2022

Software deployment processes differ across organizations, teams, and applications. The most basic, and perhaps the riskiest, is the “big bang deployment.” This strategy updates all nodes within the target environment simultaneously with the new software version. This deployment strategy causes many issues, including potential downtime or other issues while the update is in progress. It […]

Read more

Reliable and Automatic Multi-Target Deployments

May 16, 2022

Multi-target deployments can feel tedious as you deploy the same code over and over to multiple clouds and environments — and none of them in the same way. With an automatic multi-target deployment tool, on the other hand, you do the work once and deliver your code everywhere it needs to be. Armory provides an […]

Read more

Learning out Loud: KubeCon EU edition

May 11, 2022

KubeCon+CloudNativeCon EU is one of the world’s largest tech conferences. Here, users, developers, and companies who have and intend to adopt the Cloud Native standard of running applications with Kubernetes in their organizations come together for 5 days. From May 16-20, 2022, tech enthusiasts will congregate both virtually and in person in Valencia, Spain to […]

Read more