OVHcloud Managed Kubernetes certified Kubernetes 1.18

 Our OVH Managed Kubernetes product has now been available for more than one year on general availability. From now on, Kubernetes version 1.18 is certified by the CNCF on our platform.

Kubernetes is in constant evolution and amelioration, every new version brings a lot of new feature and fixes. And this version 1.18 is not the exception:

Kubernetes 1.18 consists of 38 enhancements: 15 enhancements are moving to stable, 11 enhancements in beta and 12 enhancements in alpha.

We are very proud to help our customers transit to this very flexible and amazing product: Kubernetes!

Let’s check together some of the features of this new release.

Before updating Kubernetes, we recommend to update kubectl to orchestrate Kubernetes.

kubectl can be updated independently from the Kubernetes cluster version, keep kubectl updated to profit of all the new features

To install or update kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl/.

Creating ephemeral containers with Kubectl for debugging (Alpha)

Kubernetes 1.18 adds new extended debugging capabilities to kubectl, as it can now create ephemeral Pods to debug other Pods in the same namespace.

For more informations: https://kubernetes.io/docs/tasks/debug-application-cluster/debug-running-pod/#ephemeral-container

Server-side Apply – Beta 2

Server-side Apply is a new merging algorithm, so the system knows when two actors are trying to edit the same field.

This feature can be used with the following flag when applying a manifest: kubectl apply --server-side

If you need to force the conflicts you can use the flags “--force-conflicts” and that’s it.

For more informations: https://kubernetes.io/blog/2020/04/01/kubernetes-1.18-feature-server-side-apply-beta-2/

Improvements to the Ingress API

There are 3 significant additions to this API:

  • A new pathType field that can specify how Ingress paths should be matched.
  • A new IngressClass resource that can specify how Ingresses should be implemented by controllers.
  • Support for wildcards in hostnames.

For more information: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/

Upgrading your Cluster to Kubernetes 1.18

Additionally to automatic patch updates according to the security policy you choose in your customer panel, OVHcloud offers you to upgrade easily your cluster to Kubernetes 1.18. Let’s look at it together!

Before upgrading your cluster

Understand your needs. Kubernetes follows an N-2 support policy, meaning that the 3 most recent minor versions (currently 1.16, 1.17 and 1.18) continue receiving security and bug fixes, so any of those versions at the latest patch is considered “stable”.

If you require the latest features you should consider upgrading to the latest minor version, else you should simply care about applying the latest patches.

Ensure you can upgrade

We recommend you to have at least 2 nodes in your cluster and properly configured ReplicaSets to minimize the downtime. Also take care of the processing capabilities of your cluster to ensure a graceful rolling upgrade of your worker nodes.

For example, if you have 2 nodes with a CPU usage of 50%, when the first node is going to be upgraded, the second node will take the load of the first node, so you need to ensure that you are in capacity to run your applications with 1 less node.

Ensure that you have all your Kubernetes manifests up to date and applicable, it is not a good practice to directly edit the server-side deployments.

You can use the KubePug tool to help you to detect the breaking change and deprecated usages, don’t forget Kubernetes is in continuous evolution.

Upgrading your cluster


Go to your cluster on the OVHcloud Control Panel and click on “Upgrade to the next minor version of Kubernetes”.


Last, but not least

The team is also polishing a series of new features, like control of your nodes and nodes pools directly through a Kubernetes CRD. Stay tuned !


+ posts

I am an SRE Engineer working on the OVHCloud Managed Kubernetes Service product, very enthusiastic about contributing to the french Cloud.

+ posts

Backend/Ops developer in OVHcloud's Managed Kubernetes team, I am fond of the Python and Go languages, and an active proponent of automation, code efficiency and clean coding.