At almost 12,000 attendees, Kubecon US had its most successful year yet. The consensus from the Weaveworks booth staff was that many who attended were either well on their way to putting Kubernetes in production and looking to span multiple clouds or in the early stages of the journey, and busy researching options, looking for best practices and advice.
With just a week to catch our breath between shows, we packed up the booth and headed over to Las Vegas. Almost 65,000 participants attended Re:Invent this year. Again the Weaveworks booth team found that Kubernetes was definitely a topic that most wanted to know more about. Many who came to the booth were experimenting with Kubernetes and wanted to know how they could roll it out effectively in their organizations. (We can certainly help with that.)
Read on as we discuss the significant announcements from Weaveworks and AWS at Re:invent as well as Weaveworks and Intuit at Kubecon. We’ll also dive into the live WKP demo complete with video and commentary that we presented at the booth at both shows.
Highlights from Kubecon and Re:invent
The major announcement from Weaveworks and Intuit at KubeCon was the merging of the Flux and Argo projects to create the GitOps Engine. The GitOps Engine is the first step towards a common journey where the two teams have started building the best possible GitOps solution together. Argo CD and Flux CD already have similar sets of functionality. The GitOps Engine aims to share common components as well as backwards-compatibility support for both Argo CD and Flux CD.
Kubecon talks by Weaveworkers
Weaveworks made a significant splash at this year’s Kubecon by presenting 12 talks and participating in 2 panels. Find videos of all talks here. Also, watch the blog for the written recaps over the next few weeks.
At AWS Container Days, a Kubecon pre-show event, Alexis Richardson and Rajarajan Pudupatti, Cloud Platforms Architect at Fidelity Investments delivered a practical use case on how Kubernetes and GitOps was successfully implemented into a large financial organization. Read the recap and watch the video.
Re:Invent - Fargate and eksctl profiles
At Re:invent a major announcement for us was that EKS now supports Fargate for running serverless functions. Since eksctl is official CLI for EKS, Fargate is now also supported on the command line. Fargate was implemented in eksctl with a new feature called Profiles.
What are profiles?
Profiles is a new eksctl feature flag that provides a simple way to include specific applications to create a complete EKS platform to meet specific business requirements. Kubernetes add-ons and components that make up a Profile are managed and configured in git with GitOps. Try it out for yourself.
For a more in-depth tutorial on Profiles and how you can implement them, have a look at the posts “MLOps with eksctl and portable profiles”. and "Autoscaling EKS on Fargate with custom metrics"
Below is an example showing where a profile is situated in an EKS stack.
Live Booth Demo - Weave Kubernetes Platform (WKP)
At both Re:Invent and Kubecon, we demonstrated the Weave Kubernetes Platform. WKP automates the management and rollout of Kubernetes platforms for developers. It allows you to configure and build a Kubernetes platform with a stack of common Kubernetes components that we call ‘models’. A stable, fully integrated stack avoids snowflake cluster configuration, and instead, delivers reliable and predictable platforms across different environments. Since the declarative platform model as well as its individual components can be kept in git, the configuration is easily managed with GitOps through pull requests. WKP also provides git-based rules and policies to implement user roles to control who can change what to a cluster.
Reproducible, predictable Kubernetes platforms managed with GitOps
Below is a screenshot of the management console. It displays all of the clusters in one convenient list. All configuration and declarative definitions of these clusters and their applications are stored in git.
Create a new cluster from the WKP UI
From here you can:
- Attach a model to the cluster during create time. Briefly, a model is a collection of applications required for specific Kubernetes platforms. For example if you are doing machine learning, you may need certain apps specific to that business case for development.
- Choose a cloud provider - AWS EKS, GCP: GKE, or Azure: AKS
- Select a region.
- Pick a version of Kubernetes.
- Select a node group type.
The basic idea of WKP is the ability to create a set of pre-configured integrated applications kept in git that are predictable, consistent and easily reproducible across different environments. We refer to this stack as a model.
After you’ve defined a model as a set of integrated components, your team can apply it to a cluster during its creation.
Clicking on a cluster definition takes you to the cluster’s dashboard. The dashboard displays the cluster's added components with a snapshot of its health. The dashboard provides an easy way to drilldown on and view what's been changed to the cluster in git.
With git-backed control and management, clusters are fully compliant with auditable logs of everything that’s been ever been changed or added. Developers also don’t have to learn a new workflow to create new clusters across environments. A single, standard workflow for both application development and cluster operations can also be applied, simplifying Kubernetes management.