What’s new in Kubernetes 1.16: Ephemeral containers for easy pod debugging, support for dual-stack network, new options for the scheduler and much more. These are the features that look more exciting to us for this release (ymmv): Ephemeral containers are a great way to debug running pods, as you can’t add regular containers to a pod after creation (you should use sysdig tools like kubectl capture or kubectl trace for that though!), but you can run ephemeral containers. Right now the steps to run an ephemeral container aren’t straightforward.
Once this feature is stable you may be able to run them with just kubectl debug: These containers executes within the namespace of an existing pod and has access to the file systems of its individual containers. Ephemeral containers aren’t meant to be used for regular deployments, so they have some limitations. For example, they will never be automatically restarted and you can’t configure them as a regular container.
In particular, fields like ports, livenessProbe, readinessProbe or lifecycle that imply a role in a pod will be disallowed. As the use of IPv6 increases it’s getting more common to manage clusters with mixed IPv4 and IPv6 network configurations. Up until now a Kubernetes cluster could only run in either IPv4 or IPv6 mode.
You needed the assistance of plugins to assign dual-stack addresses on a pod, and it wasn’t a convenient solution, as Kubernetes would only be aware of one address per pod.