In 2017 Heptio launched Contour, a Kubernetes ingress controller built using the Envoy proxy project from Lyft. Contour was the first public project to use the new Envoy gRPC API and also the first public project to use the SNI features of Envoy. Heptio chose Envoy as the data plane for its Ingress controller because Envoy represents the first of a new class of HTTP proxies that have made API configuration a first-class citizen. This made it ideal for integration with a highly dynamic system like Kubernetes.
Using the development of the open source Contour Ingress controller as a case study, David Cheney shares real-world advice on how to extend the capabilities of a Kubernetes cluster, how to build servers that speak the Envoy management server API, the traps involved in the components that make up a management server, the Kubernetes Go client, gRPC, and concurrency issues and explains how Envoy made Heptio’s product a success.
David Cheney is a software engineer at Heptio. David has been involved with the Go project for more than eight years. He is a regular contributor to the language, focusing on Go on ARM processors. Previously, he ported Go to FreeBSD/ARM and Solaris/AMD64 and is working on a port to Linux/ARM64. David writes frequently about Go on his blog and has spoken locally and internationally. Together with Andrew Gerrand, David runs the Sydney Go user group.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com