BlogsShopifyKubectl Plugin for Ingress-Nginx

Kubectl Plugin for Ingress-Nginx

Kubectl Plugin for Ingress-Nginx

2
posts
2018–2019

This feature thread tracks the development and enhancement of tools and strategies for managing and debugging Kubernetes Ingress controllers, specifically ingress-nginx. Initial efforts focused on improving the quality of the debugging experience for ingress-nginx, which is critical for Shopify's infrastructure. This post introduces a new kubectl plugin that simplifies upgrades by identifying breaking changes, provides a more detailed listing of ingress configurations, and streamlines common debugging tasks. It also details the contribution of dynamic configuration to ingress-nginx, allowing for in-memory endpoint updates and eliminating the need for NGINX reloads during application deployments, significantly improving request latencies, especially during deploys.

2019

A New Kubectl Plugin for Kubernetes Ingress Controller ingress-nginx - Shopify

5/1/2019

This post introduces a new kubectl plugin for ingress-nginx that simplifies upgrades by linting configurations for breaking changes, provides a more detailed listing of ingress resources (paths, services, TLS configuration), and streamlines debugging by automating pod selection and providing direct access to controller configurations (nginx.conf, dynamic state).

2018

Iterating Towards a More Scalable Ingress - Shopify

8/31/2018

Contributed dynamic configuration to ingress-nginx, enabling in-memory endpoint updates via a Lua-based HTTP endpoint. This eliminates NGINX reloads during deployments, reducing latency and improving performance, particularly during application updates.