更改 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.io
pkgs.kubernetes.io
packages.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 节点。