Rebuilding Linkerd's continuous integration (CI) with Kubernetes in Docker (kind) and GitHub Action

Click for: original source

In mid-2019, the Linkerd project’s continuous integration (CI) took 45 minutes, all tests were serialized on a single Kubernetes cluster, and multi-hour backups were common. A migration onto one-off Kubernetes in Docker (kind) clusters and GitHub Actions got CI below 10 minutes, and made it parallelizable. By Andrew Seigner.

While the goal of this article is to detail an end user story of how to efficiently test Kubernetes applications in CI, some background on Linkerd is helpful. Linkerd is an open source service mesh, and a CNCF member project.

Linkerd Architecture

Source: https://buoyant.io/2020/09/16/linkerds-ci-kubernetes-in-docker-github-actions/

In the article the author captures following:

  • What is Linkerd?
  • Testing Linkerd
  • Prioritized CI requirements
  • CI tech evaluation
  • Lessons learned

Kind is a great tool, not only for CI but for local development as well. There are similar flavors of Kubernetes, such as Minikube and k3d. We selected kind because it’s used heavily by the Kubernetes community for testing Kubernetes itself. Also a huge shout out to the #kind channel in Kubernetes Slack. Nice one!2

[Read More]

Tags cloud docker kubernetes containers devops