# Host Os Update

Platform9 deploys and operates Kubernetes, the ownership and maintenance of the supporting Operating System is outside of Platform9 Management. To ensure that your clusters remain secure we recommend that the OS be patched on a regular basis following vendor specific guidelines. When an OS upgrade is invoked, it is important to ensure that the packages installed by Platform9 as part of the Cluster lifecycle are not inadvertently upgraded as this may cause an outage.

In order to update nodes that are deployed as part of a Platform9 Managed Kubernetes clusters and mitigate any impact to running workloads, the following packages should be **held** or **version-locked** as its important to not impact the underlying container runtime.

1. Docker-CE
2. Containerd.io

{% hint style="warning" %}
**Warning**

If these packages are **not** held or locked in place and are upgraded as part of an OS upgrade, your pods/containers may be **evicted** from the node and/or **re-scheduled.**
{% endhint %}

The instructions below detail how to place a Hold on each package for Platform9 supported operating systems.

## Ubuntu

* How to Hold packages on Ubuntu: [Ubuntu – apt-mark](http://manpages.ubuntu.com/manpages/bionic/man8/apt-mark.8.html)

{% tabs %}
{% tab title="Bash" %}

```bash
apt-mark hold docker-ce*
apt-mark hold containerd.io
```

{% endtab %}
{% endtabs %}

## RHEL/CentOS

### Yum

* A guide to [Restricting a Package to a Fixed Version Number with yum](https://access.redhat.com/solutions/98873)

{% tabs %}
{% tab title="Bash" %}

```bash
yum versionlock docker-ce*
yum versionlock containerd.io
```

{% endtab %}
{% endtabs %}

### DNF

* How to version lock a package using [DNF – versionlock Plugin](https://dnf-plugins-core.readthedocs.io/en/latest/versionlock.html)

{% tabs %}
{% tab title="Bash" %}

```bash
dnf versionlock add docker-ce*
dnf versionlock add containerd.io
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/managed-kubernetes/5.10/support/host-os-update.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
