Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Top 11 Continuous Delivery Tools for Kubernetes (Part 2)

DZone's Guide to

Top 11 Continuous Delivery Tools for Kubernetes (Part 2)

In part 2 of this series, we take a look at continuous delivery-specific tools that will help you get your projects done. Ready in 30 minutes or less.

· Cloud Zone ·
Free Resource

Site24x7 - Full stack It Infrastructure Monitoring from the cloud. Sign up for free trial.

In Part 1 of this series, we looked at tools grouped under Package Managers and CI tools with CD support for Kubernetes. In part 2 we will discuss the tools that fall under the CD-only category.

CD-Only Tools

This group contains tools that do only one thing—primarily Continuous Delivery to Kubernetes. With these tools you can choose the CI system that you want, the container registry, but the CD portion will be taken care of for you.

8. Weave Cloud

Weave Cloud is a SaaS that can automatically deploy your application updates to a running Kubernetes cluster. Weave Cloud works alongside your existing CI system and Image repository and handles your deployments to Kubernetes.

When a developer makes a code change and pushes it to ‘git’ or any other Version Control System, it triggers the deployment pipeline. As advocates of the GitOps methodology, a Git push is the catalyst for the pipeline and is also the source of truth for declarative configuration for Kubernetes, deployments manifests as well as source code.

Pros: Weave Cloud is one of the only Continuous Deployment solutions that keeps your cluster credentials secure inside the cluster where they belong. With Weave Cloud an agent acts on behalf of the cluster to listen to events relating to custom resource changes, so they can be consistently applied. The operator that sits inside of your cluster is responsible for synchronizing what’s in Git with what’s running in Kubernetes. It has a pull pattern rather than push where credentials can be leaked outside of the cluster during a deploy.

For more information on this topic see, Approaches to Continuous Delivery in our Kubernetes Library.

Cons: Helm support is currently only in Alpha and requires a little bit of configuration to get working properly.

9. Spinnaker

Developed by Netflix, Spinnaker is an open source tool that manages deployments and pipelines and supports Helm charts. Spinnaker supports any CI tool and cloud provider and it can also handle blue/green and canary deployments.

However, the tool was originally developed to manage VMs and not Kubernetes objects, and can be complex to set up and maintain since it uses a slightly different paradigm.

10. Codefresh

Codefresh s a continuous delivery pipeline tool that also supports Helm charts. Codefresh is a GUI-based environment for building and deploying your applications. It allows you to hook up to and use your favorite repo, CI and image repository. Codefresh has an extensive set of plugins that includes Helm as well as many of the other popular CI/CD tools like Jenkins.

An advantage of Codefresh is that you are free to continue using your favourite tools. But a disadvantage is that third-party tools are setup from their GUI and so when things go wrong it adds another layer of complexity to your pipeline. Codefresh also doesn’t solve the problem of cluster credentials living outside of the cluster which can leave your cluster vulnerable to attacks.

11. Harness

Harness is a delivery as a service. It provides the ability to build out a complete pipeline and also has security at the centre of its pattern. It runs as a SaaS which means you don’t have to worry about setting it up yourself. It also supports a GitOps style of development, hooks into your Git repository and has secrets management.

However, unlike Weave Cloud, it is not agnostic and it only supports a subset of tools out there. This means that you must choose one of the CI tools or one of the repositories that it supports.

In Conclusion

These are the main differences between these 11 different tools. The things we focused on were whether security has to be built separately from the tool, the complexity of set up, whether it’s open source or not, and the approach taken, is it a Pull type pipeline rather than a Push type architecture.

Tool

Built-in Security

Complexity

OSS/ closed source?

Pull vs Push?

Works with most tools

Package Managers






Helm

No

high

OSS

Push

Yes

Draft

No

high

OSS

Push

No

ksonnet & jsonnet

No

Medium

OSS

Push

No

CI Tools with K8S support






Jenkins

No

High

Both

Push

Yes

CircleCI

No

High

Closed

Push

Yes

Gitlab

No

Low

Closed

Push

No

Travis

No

High

OSS

Push

Yes

CD Only tools





Weave Cloud

Yes

Low

Both

Pull

Yes

Spinnaker

No

High

OSS

Push

No

Codefresh

Yes

Medium

Closed

Push

Yes

Harness

Yes

Low

Closed

Push

Yes


Site24x7 - Full stack It Infrastructure Monitoring from the cloud. Sign up for free trial.

Topics:
cloud ,kubernetes ,k8s ,kubernetes cluster ,continuos delivery ,cloud delivery ,gitops

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}