K8s Workflows with Armory & Spinnaker, from Day 0 to Deployment
Nov 16, 2020 by Stu Posluns
Armory, Spinnaker, and Kubernetes
We are excited to announce that Armory now provides a K8s-native continuous delivery experience from end-to-end, unlocking Kubernetes deployments in the enterprise at massive scale. As a cloud-native, multi-cloud CD platform, Spinnaker has always been a powerful tool for deploying to Kubernetes. In fact, AWS and Google engineering teams helped to build the Spinnaker Clouddrivers for deploying to EKS and GKE, and Spinnaker powers more than 8 million monthly K8s deployments.
Monthly OSS Spinnaker deployments to K8s are up 5x since April.
Armory is enhancing Spinnaker by introducing a familiar Kubernetes workflow, eliminating context-switching and domain-specific languages, and helping Spinnaker scale deployments to thousands of Kubernetes clusters.
Day 0: The Armory Operator
The Armory Operator is a Kubernetes operator for implementing and managing Spinnaker, bringing a Kubernetes-native GitOps workflow to managing Spinnaker’s full lifecycle. With the Operator, you treat Spinnaker as simply another Kubernetes deployment, installing, managing, and upgrading it with familiar tools such as
kustomize. Install Spinnaker with just a few keystrokes, and upgrade your Spinnaker version simply by changing the version number in a config file and applying. Access to other Kubernetes features, such as Kubernetes Secrets, also comes enabled out of the box.
The Operator also unlocks the scalability and security of a GitOps workflow by defining all of your Spinnaker configs as code and centralizing them in a single Git repo. This enables collaborative code reviews on all config changes to ensure that Spinnaker is stable and secure. Pre-flight validation of all changes adds a further layer of safety. In the event of a bad update, built-in config version control allows for rapid rollbacks and auditability.
The Operator is available for both Armory and open source Spinnaker.
Building your Deployment Pipelines: PaCRD
PaCRD (a combination of “Pipelines as Code” and “Custom Resource Definition”) is a Kubernetes controller that manages the lifecycle of Spinnaker applications and pipelines as objects within your K8s cluster. PaCRD extends Kubernetes functionality to support Spinnaker Application and Pipeline objects that can be observed for changes through a mature lifecycle management API.
With PaCRD you can:
- Maintain your Spinnaker pipelines as code with the rest of your Kubernetes manifests.
- Persist Pipeline and Application changes with confidence to your Spinnaker cluster.
- Leverage existing tools
kustomizeto template your pipelines across teams and projects.
Pipelines as Code is one of Armory’s most powerful features. It brings security and repeatability to your application deployments by enabling you to templatize and share pre-blessed pipelines that are up-to-date with your organizational best practices and security & compliance policies. With PaCRD, we are providing another method for accessing those benefits, but with a K8s-native workflow and some additional Kubernetes functionality.
PaCRD is available as an early release feature with select Armory Design Partners.
Deployment to Production: The Armory Agent for Kubernetes
Spinnaker is the tool of choice for hundreds of the world’s leading enterprises to deploy to Kubernetes. The Armory Agent for Kubernetes adds further scalability and security to Kubernetes deployments on Spinnaker, unlocking enterprise use cases at the highest scale as you expand your Kubernetes footprint. With the Agent, you can deploy to thousands of Kubernetes clusters as easily as you deploy to two.
The Agent acts as a highly performant and efficient Kubernetes controller on behalf of Spinnaker’s Clouddriver service. Its distributed, optimized caching model eliminates latency and accelerates pipeline execution times, while its decentralized account management design enhances security and enables individual teams to manage permissions for their specific clusters. These security and account management features are also enabling Armory Cloud, a SaaS version of the Armory Platform that is currently in early release.
The Armory Agent in Agent mode (other modes available).
The Proof Is in the Pudding
Spinnaker today handles millions of Kubernetes deployments from thousands of users, and that number will only continue to accelerate with the new features Armory has been rolling out to our customers and the broader community. Here are what some of those customers have to say:
“The Armory platform has been a huge upgrade over our existing tooling in helping us quickly roll out innovative solutions with confidence. As a cloud-native continuous delivery platform designed for scale in a microservices world, Armory has helped OpenGov scale up from twenty to more than a hundred Kubernetes services.”
– Ashwani Wason, VP of Engineering & Operations at OpenGov
“With Armory’s help, we’ve scaled up Spinnaker to support daily deployments to 30+ Kubernetes clusters and multiple environments.”
– Paul Selden, Principal Engineer at OpenX
Read about how other companies are leveraging Armory and Spinnaker here.
From implementing and managing Spinnaker to building and sharing your deployment pipelines to deploying your applications into production environments at largest scale, Armory and Spinnaker provide a deep Kubernetes-native workflow and set of functionality. Join dozens of the world’s leading enterprises, from hyper-growth startups to Fortune 20 banks, in deploying to K8s with Armory. Reach out to us here to learn more about accelerating your Kubernetes deployments.