更改 Kubernetes 软件包仓库
本页解释了在升级集群时启用所需 Kubernetes 次要版本的包仓库的方法。这仅适用于使用托管在 pkgs.k8s.io 的社区拥有的包仓库的用户。与旧版包仓库不同,社区拥有的包仓库的结构是为每个 Kubernetes 次要版本提供一个专用的包仓库。
说明
本指南仅涵盖 Kubernetes 升级过程的一部分。请参阅 升级指南,以获取有关升级 Kubernetes 集群的更多信息。说明
只有在将集群升级到另一个次要版本时才需要执行此步骤。如果您正在升级到相同次要版本内的另一个补丁版本(例如,从 v1.35.5 升级到 v1.35.7),则无需遵循本指南。但是,如果您仍在使用的旧版包仓库,则需要在升级之前迁移到新的社区拥有的包仓库(有关如何执行此操作的更多详细信息,请参阅下一节)。开始之前
本文档假定您已经在使用社区拥有的包仓库 (pkgs.k8s.io)。如果不是,强烈建议您迁移到社区拥有的包仓库,如 官方公告 中所述。
apt.kubernetes.io 和 yum.kubernetes.io) 已于 2023 年 9 月 13 日弃用并冻结。强烈建议使用托管在 pkgs.k8s.io 的新包仓库,并且为了安装 2023 年 9 月 13 日之后发布的 Kubernetes 版本,这是必需的。旧的已弃用仓库及其内容可能会在未来随时被删除,且不会提前通知。新的包仓库提供从 v1.24.0 开始的 Kubernetes 版本下载。验证是否正在使用 Kubernetes 包仓库
如果您不确定是否正在使用社区拥有的包仓库或旧版包仓库,请执行以下步骤进行验证
打印定义 Kubernetes apt 仓库的文件内容
# On your system, this configuration file could have a different name
pager /etc/apt/sources.list.d/kubernetes.list
如果看到类似如下行
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.34/deb/ /
您正在使用 Kubernetes 包仓库,本指南适用于您。否则,强烈建议您迁移到 Kubernetes 包仓库,如 官方公告 中所述。
打印定义 Kubernetes yum 仓库的文件内容
# On your system, this configuration file could have a different name
cat /etc/yum.repos.d/kubernetes.repo
如果您看到类似于以下输出中的 baseurl
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl
您正在使用 Kubernetes 包仓库,本指南适用于您。否则,强烈建议您迁移到 Kubernetes 包仓库,如 官方公告 中所述。
打印定义 Kubernetes zypper 仓库的文件内容
# On your system, this configuration file could have a different name
cat /etc/zypp/repos.d/kubernetes.repo
如果您看到类似于以下输出中的 baseurl
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl
您正在使用 Kubernetes 包仓库,本指南适用于您。否则,强烈建议您迁移到 Kubernetes 包仓库,如 官方公告 中所述。
说明
用于 Kubernetes 包仓库的 URL 不限于 pkgs.k8s.io,它也可以是以下之一:
pkgs.k8s.iopkgs.kubernetes.iopackages.kubernetes.io
切换到另一个 Kubernetes 包仓库
在从一个 Kubernetes 次要版本升级到另一个 Kubernetes 次要版本时,应执行此步骤,以便访问所需 Kubernetes 次要版本的软件包。
使用您选择的文本编辑器打开定义 Kubernetes
apt仓库的文件nano /etc/apt/sources.list.d/kubernetes.list您应该看到包含当前 Kubernetes 次要版本的 URL 的单行。例如,如果您正在使用 v1.34,您应该看到以下内容
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.34/deb/ /将 URL 中的版本更改为下一个可用的次要版本,例如
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.35/deb/ /保存文件并退出文本编辑器。继续按照相关的升级说明进行操作。
使用您选择的文本编辑器打开定义 Kubernetes
yum仓库的文件nano /etc/yum.repos.d/kubernetes.repo您应该看到一个包含当前 Kubernetes 次要版本的两个 URL 的文件。例如,如果您正在使用 v1.34,您应该看到以下内容
[kubernetes] name=Kubernetes baseurl=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/v1.34/rpm/repodata/repomd.xml.key exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni将这些 URL 中的版本更改为下一个可用的次要版本,例如
[kubernetes] name=Kubernetes baseurl=https://pkgs.k8s.io/core:/stable:/v1.35/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/v1.35/rpm/repodata/repomd.xml.key exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni保存文件并退出文本编辑器。继续按照相关的升级说明进行操作。
接下来
- 请参阅 升级 Linux 节点。
- 请参阅 升级 Windows 节点。