Kubernetes 1.19
github.com
github.com
https://kubernetes.io/docs/setup/release/version-skew-policy...
Although you can't launch new clusters on it anymore, Google hasn't even forced clusters on 1.14 to update to a newer version yet.
Of course it'll probably be another few months (if not six) before we see this in gke/eks.
AWS is really dragging their feet on supporting latest version of K8s
Edit: I stand corrected. 1.17 was officially supported on July, 1.16 on April and 1.15 on March. Those versions were released a long time ago.
But, being behind is expected from a SaaS offering of 3rd party software: it takes time to ensure you can deliver the quality of service your customers expect, and for 3rd party software you don't get a head start.
[1] https://kubernetes.io/docs/concepts/overview/kubernetes-api/...
sure, it's useful at much smaller scales too, but then you are not likely to feel the upgrade crunch, because you'll likely only use (and will be exposed to) a fraction of all the moving parts of it.
Looking at NGINX, Kong, Traefik, and the loose change of community-contributed extensions to NGINX, Kong, Traefik, I always wonder why it isn't just part of the core. Anyone know if that is the eventual plan? If so, what happens to the small companies building solutions, do their products just become 2nd class citizens?
Our use case is transferring large size files and NGINX is rumored to have bad performance in that regard.
In my opinion, people are always going to want their special thing; compatibility with their legacy nginx.conf, support for HTTP/3, whatever. Kubernetes can never satisfy people with those requirements. For that reason, I think people need to agree on a service discovery protocol, a route discovery protocol, and then hook those into their frontend proxy of choice. For example, I never really liked Ingress (lots of unspecified landmines, like what order rules are evaluated in when matching a request to a route), and so just run Envoy inside Kubernetes. Envoy is then fed a static route table and a valid TLS certificate, and handles all traffic in an explicit and easy to debug way. I wrote something to glue Envoy's service discovery to Kubernetes so my static config file contains less boilerplate (https://github.com/jrockway/ekglue), and it's served me well. (I need to write something to add route table entries to DNS, though. I currently do that by editing my DNS records in a web interface, which is tedious and uninteresting.)
With that in mind, what people should really be focusing on is standardizing xDS (Envoy's config language basically), and hooking it into their container orchestration framework and web server of choice. Then you can run Nginx on Openshift or Apache on ECS and everyone is using the same tools to do the very boring gruntwork of figuring out what your backends are called, and what syntax you use to say "send all requests that match example.com/foobar to a backend my container orchestration framework calls foo-bar-v2". I am sure it will sort itself out eventually -- xDS has a lot of momentum in things that aren't Envoy (notably gRPC), so this could all be a solved problem outside of Kubernetes soon enough.
IMO, I'd like to see a broad standardization on xDS/UDP to all services where direct dataplane integration would be beneficial. Why can't I direct Envoy to autoscaling so they can tell me what endpoints are available and what certs to use? or to RDS to direct me to nearby replicas and assist with authentication/authorization? I think the typical solution would be to embed more magic into the infrastructure, but that breaks down as you split things across the cloud and on-prem. While some customers only want magic and will change whatever they have to to get it, other customers don't/won't buy into that. Having a general-purpose method for a control plane to configure an arbitrary dataplane would be a big benefit for them.
(I do think that xDS is a non trivial interface to learn and standardize on though and is probably overkill for most.)
This is always a spectrum, of course, and xDS is probably missing crucial features... but at least if it becomes somewhat widely used, there will be an incentive to add the missing features.
https://kubernetes.io/docs/concepts/services-networking/ingr...
I'm curious what are the reasons for the reliance on annotations for this object type?