Remove instructions for legacy package repos
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>pull/43407/head
parent
f906b0625e
commit
7d706d9921
|
@ -149,29 +149,16 @@ For more information on version skews, see:
|
|||
* Kubeadm-specific [version skew policy](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#version-skew-policy)
|
||||
|
||||
{{< note >}}
|
||||
Kubernetes has two different package repositories starting from August 2023.
|
||||
The Google-hosted repository is deprecated and it's being replaced with the
|
||||
Kubernetes (community-owned) package repositories. The Kubernetes project strongly
|
||||
recommends using the Kubernetes community-owned package repositories, because the
|
||||
project plans to stop publishing packages to the Google-hosted repository in the future.
|
||||
|
||||
There are some important considerations for the Kubernetes package repositories:
|
||||
|
||||
- The Kubernetes package repositories contain packages beginning with those
|
||||
Kubernetes versions that were still under support when the community took
|
||||
over the package builds. This means that anything before v1.24.0 will only be
|
||||
available in the Google-hosted repository.
|
||||
- There's a dedicated package repository for each Kubernetes minor version.
|
||||
When upgrading to a different minor release, you must bear in mind that
|
||||
the package repository details also change.
|
||||
|
||||
Kubernetes has [new package repositories hosted at `pkgs.k8s.io`](/blog/2023/08/15/pkgs-k8s-io-introduction/)
|
||||
starting from August 2023. The legacy package repositories (`apt.kubernetes.io` and `yum.kubernetes.io`)
|
||||
have been frozen starting from September 13, 2023. Please read our
|
||||
[deprecation and freezing announcement](/blog/2023/08/31/legacy-package-repository-deprecation/)
|
||||
for more details.
|
||||
{{< /note >}}
|
||||
|
||||
{{< tabs name="k8s_install" >}}
|
||||
{{% tab name="Debian-based distributions" %}}
|
||||
|
||||
### Kubernetes package repositories {#dpkg-k8s-package-repo}
|
||||
|
||||
These instructions are for Kubernetes {{< skew currentVersion >}}.
|
||||
|
||||
1. Update the `apt` package index and install packages needed to use the Kubernetes `apt` repository:
|
||||
|
@ -208,49 +195,13 @@ In releases older than Debian 12 and Ubuntu 22.04, `/etc/apt/keyrings` does not
|
|||
you can create it by running `sudo mkdir -m 755 /etc/apt/keyrings`
|
||||
{{< /note >}}
|
||||
|
||||
### Google-hosted package repository (deprecated) {#dpkg-google-package-repo}
|
||||
|
||||
These instructions are for Kubernetes {{< skew currentVersion >}}.
|
||||
|
||||
1. Update the `apt` package index and install packages needed to use the Kubernetes `apt` repository:
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
# apt-transport-https may be a dummy package; if so, you can skip that package
|
||||
sudo apt-get install -y apt-transport-https ca-certificates curl
|
||||
```
|
||||
|
||||
2. Download the Google Cloud public signing key:
|
||||
|
||||
```shell
|
||||
curl -fsSL https://dl.k8s.io/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
|
||||
```
|
||||
|
||||
3. Add the Google-hosted `apt` repository:
|
||||
|
||||
```shell
|
||||
# This overwrites any existing configuration in /etc/apt/sources.list.d/kubernetes.list
|
||||
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
|
||||
```
|
||||
|
||||
4. Update the `apt` package index, install kubelet, kubeadm and kubectl, and pin their version:
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y kubelet kubeadm kubectl
|
||||
sudo apt-mark hold kubelet kubeadm kubectl
|
||||
```
|
||||
|
||||
{{< note >}}
|
||||
In releases older than Debian 12 and Ubuntu 22.04, `/etc/apt/keyrings` does not exist by default;
|
||||
you can create it by running `sudo mkdir -m 755 /etc/apt/keyrings`
|
||||
{{< /note >}}
|
||||
|
||||
{{% /tab %}}
|
||||
{{% tab name="Red Hat-based distributions" %}}
|
||||
|
||||
1. Set SELinux to `permissive` mode:
|
||||
|
||||
These instructions are for Kubernetes {{< skew currentVersion >}}.
|
||||
|
||||
```shell
|
||||
# Set SELinux in permissive mode (effectively disabling it)
|
||||
sudo setenforce 0
|
||||
|
@ -266,10 +217,6 @@ sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
|
|||
settings that are not supported by kubeadm.
|
||||
{{< /caution >}}
|
||||
|
||||
### Kubernetes package repositories {#rpm-k8s-package-repo}
|
||||
|
||||
These instructions are for Kubernetes {{< skew currentVersion >}}.
|
||||
|
||||
2. Add the Kubernetes `yum` repository. The `exclude` parameter in the
|
||||
repository definition ensures that the packages related to Kubernetes are
|
||||
not upgraded upon running `yum update` as there's a special procedure that
|
||||
|
@ -295,41 +242,6 @@ sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
|
|||
sudo systemctl enable --now kubelet
|
||||
```
|
||||
|
||||
### Google-hosted package repository (deprecated) {#rpm-google-package-repo}
|
||||
|
||||
These instructions are for Kubernetes {{< skew currentVersion >}}.
|
||||
|
||||
2. Add the Google-hosted `yum` repository. The `exclude` parameter in the
|
||||
repository definition ensures that the packages related to Kubernetes are
|
||||
not upgraded upon running `yum update` as there's a special procedure that
|
||||
must be followed for upgrading Kubernetes.
|
||||
|
||||
```shell
|
||||
# This overwrites any existing configuration in /etc/yum.repos.d/kubernetes.repo
|
||||
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
|
||||
[kubernetes]
|
||||
name=Kubernetes
|
||||
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
|
||||
exclude=kubelet kubeadm kubectl
|
||||
EOF
|
||||
```
|
||||
|
||||
3. Install kubelet, kubeadm and kubectl, and enable kubelet to ensure it's automatically started on startup:
|
||||
|
||||
```shell
|
||||
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
|
||||
sudo systemctl enable --now kubelet
|
||||
```
|
||||
|
||||
{{< note >}}
|
||||
If the `baseurl` fails because your RPM-based distribution cannot interpret `$basearch`, replace `\$basearch` with your computer's architecture.
|
||||
Type `uname -m` to see that value.
|
||||
For example, the `baseurl` URL for `x86_64` could be: `https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64`.
|
||||
{{< /note >}}
|
||||
|
||||
{{% /tab %}}
|
||||
{{% tab name="Without a package manager" %}}
|
||||
Install CNI plugins (required for most pod network):
|
||||
|
|
|
@ -6,21 +6,23 @@ weight: 120
|
|||
|
||||
<!-- overview -->
|
||||
|
||||
This page explains how to switch from one Kubernetes package repository to another
|
||||
when upgrading Kubernetes minor releases. Unlike deprecated Google-hosted
|
||||
repositories, the Kubernetes package repositories are structured in a way that
|
||||
there's a dedicated package repository for each Kubernetes minor version.
|
||||
This page explains how to enable a package repository for a new Kubernetes minor release
|
||||
for users of the community-owned package repositories hosted at `pkgs.k8s.io`.
|
||||
Unlike the legacy package repositories, the community-owned package repositories are
|
||||
structured in a way that there's a dedicated package repository for each Kubernetes
|
||||
minor version.
|
||||
|
||||
## {{% heading "prerequisites" %}}
|
||||
|
||||
This document assumes that you're already using the Kubernetes community-owned
|
||||
package repositories. If that's not the case, it's strongly recommended to migrate
|
||||
to the Kubernetes package repositories.
|
||||
This document assumes that you're already using the community-owned
|
||||
package repositories (`pkgs.k8s.io`). If that's not the case, it's strongly
|
||||
recommended to migrate to the community-owned package repositories as described
|
||||
in the [official announcement](/blog/2023/08/15/pkgs-k8s-io-introduction/).
|
||||
|
||||
### Verifying if the Kubernetes package repositories are used
|
||||
|
||||
If you're unsure whether you're using the Kubernetes package repositories or the
|
||||
Google-hosted repository, take the following steps to verify:
|
||||
If you're unsure whether you're using the community-owned package repositories or the
|
||||
legacy package repositories, take the following steps to verify:
|
||||
|
||||
{{< tabs name="k8s_install_versions" >}}
|
||||
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
||||
|
@ -39,7 +41,8 @@ deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io
|
|||
```
|
||||
|
||||
**You're using the Kubernetes package repositories and this guide applies to you.**
|
||||
Otherwise, it's strongly recommended to migrate to the Kubernetes package repositories.
|
||||
Otherwise, it's strongly recommended to migrate to the Kubernetes package repositories
|
||||
as described in the [official announcement](/blog/2023/08/15/pkgs-k8s-io-introduction/).
|
||||
|
||||
{{% /tab %}}
|
||||
{{% tab name="CentOS, RHEL or Fedora" %}}
|
||||
|
@ -64,7 +67,8 @@ exclude=kubelet kubeadm kubectl
|
|||
```
|
||||
|
||||
**You're using the Kubernetes package repositories and this guide applies to you.**
|
||||
Otherwise, it's strongly recommended to migrate to the Kubernetes package repositories.
|
||||
Otherwise, it's strongly recommended to migrate to the Kubernetes package repositories
|
||||
as described in the [official announcement](/blog/2023/08/15/pkgs-k8s-io-introduction/).
|
||||
|
||||
{{% /tab %}}
|
||||
|
||||
|
@ -90,7 +94,8 @@ exclude=kubelet kubeadm kubectl
|
|||
```
|
||||
|
||||
**You're using the Kubernetes package repositories and this guide applies to you.**
|
||||
Otherwise, it's strongly recommended to migrate to the Kubernetes package repositories.
|
||||
Otherwise, it's strongly recommended to migrate to the Kubernetes package repositories
|
||||
as described in the [official announcement](/blog/2023/08/15/pkgs-k8s-io-introduction/).
|
||||
|
||||
{{% /tab %}}
|
||||
{{< /tabs >}}
|
||||
|
|
|
@ -54,9 +54,9 @@ The upgrade workflow at high level is the following:
|
|||
|
||||
## Changing the package repository
|
||||
|
||||
If you're using the Kubernetes community-owned repositories, you need to change
|
||||
the package repository to one that contains packages for your desired Kubernetes
|
||||
minor version. This is explained in [Changing the Kubernetes package repository](/docs/tasks/administer-cluster/kubeadm/change-package-repository/)
|
||||
If you're using the community-owned package repositories (`pkgs.k8s.io`), you need to
|
||||
enable the package repository for the desired Kubernetes minor release. This is explained in
|
||||
[Changing the Kubernetes package repository](/docs/tasks/administer-cluster/kubeadm/change-package-repository/)
|
||||
document.
|
||||
|
||||
## Determine which version to upgrade to
|
||||
|
|
|
@ -19,9 +19,9 @@ upgrade the control plane nodes before upgrading your Linux Worker nodes.
|
|||
|
||||
## Changing the package repository
|
||||
|
||||
If you're using the Kubernetes community-owned repositories, you need to change
|
||||
the package repository to one that contains packages for your desired Kubernetes
|
||||
minor version. This is explained in [Changing the Kubernetes package repository](/docs/tasks/administer-cluster/kubeadm/change-package-repository/)
|
||||
If you're using the community-owned package repositories (`pkgs.k8s.io`), you need to
|
||||
enable the package repository for the desired Kubernetes minor release. This is explained in
|
||||
[Changing the Kubernetes package repository](/docs/tasks/administer-cluster/kubeadm/change-package-repository/)
|
||||
document.
|
||||
|
||||
## Upgrading worker nodes
|
||||
|
|
Loading…
Reference in New Issue