更改 Kubernetes 软件包仓库
本页面说明了如何在升级集群时启用目标 Kubernetes 次要版本的包仓库。这仅适用于使用社区维护的 pkgs.k8s.io 上的包仓库的用户。与旧版包仓库不同,社区维护的包仓库的结构是为每个 Kubernetes 次要版本都提供一个专用的包仓库。
注意
本指南仅涵盖 Kubernetes 升级过程的一部分。有关升级 Kubernetes 集群的更多信息,请参阅升级指南。注意
只有在将集群升级到另一个次要版本时才需要执行此步骤。如果你是在同一主版本中升级到另一个补丁版本(例如,v1.33.5 升级到 v1.33.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.32/deb/ /
你正在使用 Kubernetes 包仓库,本指南适用于你。 否则,强烈建议按照官方公告中的说明迁移到 Kubernetes 包仓库。
打印定义 Kubernetes yum 仓库的文件内容
# On your system, this configuration file could have a different name
cat /etc/yum.repos.d/kubernetes.repo
如果看到一个 baseurl 类似于下面输出中的 baseurl
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.32/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 类似于下面输出中的 baseurl
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.32/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
apt仓库的文件nano /etc/apt/sources.list.d/kubernetes.list你应该看到包含当前 Kubernetes 次要版本的 URL 的单行。例如,如果使用的是 v1.32,你应该看到
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /将 URL 中的版本更改为下一个可用的次要版本,例如
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.33/deb/ /保存文件并退出文本编辑器。继续遵循相关的升级说明。
使用你选择的文本编辑器打开定义 Kubernetes
yum仓库的文件nano /etc/yum.repos.d/kubernetes.repo你应该看到一个文件,其中包含你的当前 Kubernetes 次要版本的两个 URL。例如,如果使用的是 v1.32,你应该看到
[kubernetes] name=Kubernetes baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/v1.32/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.33/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/repodata/repomd.xml.key exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni保存文件并退出文本编辑器。继续遵循相关的升级说明。
下一步
- 查看如何升级 Linux 节点。
- 查看如何升级 Windows 节点。