当你按照我的最新教程创建了你自己的超低成本集群,这里就是你要的升级指南了。
如果你之前没读过我的“用Hetzner搭建本地Kubernetes云并省下一大笔钱”的帖子——现在有个机会可以读一下:
部署本地Kubernetes云使用Hetzner并节省大量成本。(NFS、指标及其他)避免托管Kubernetes云的高昂费用,使用本教程在您的Hetzner账户中部署Kubernetes云。更多详情,请访问……medium.com当我们创建Kubernetes集群时,我们使用kubespray来安装所有组件。这次,我们将更新kubespray仓库的代码,并通过简单几步升级集群。
你应该在主节点(例如我们上一次教程里的“node1”)上运行以下命令。我们将其命名为“node1”。
我们可以在现有的虚拟环境内通过在 shell 中输入以下命令连接。
VENVDIR=kubespray-venv # 指定虚拟环境的目录 KUBESPRAYDIR=kubespray # 指定 kubespray 项目的目录 ANSIBLE_VERSION=2.12 # 指定 ansible 的版本 virtualenv -p $(which python3) $VENVDIR # 使用 which 命令查找 python3 并创建虚拟环境。 source $VENVDIR/bin/activate # 激活刚刚创建的虚拟环境。
cd kubespray: 切换到kubespray目录 git pull: 拉取最新代码
现在我们已经在kubespray仓库里,并且已经准备好最新的kubernetes-config版本。
或:
pip install -U -r requirements.txt
(更新并安装requirements.txt文件中列出的所有依赖包)
kubectl version # 检查 kubectl 版本
你现在应该看到这样的内容:
客户端版本: v1.29.5 Kustomize 版本: v5.0.4-0.20230601165947-6ce0bf390ce3 (配置管理工具) 服务器版本: v1.29.2
你的客户端版本比服务器的更新。这意味着,最高的可升级版本就是客户端版本(在这种情况下,即 1.29.5)。不过,你也可以选择低于客户端版本的其他 Kubernetes 版本(Kubernetes集群)。
在这里你就能更新你的 Kubernetes。
请注意,在最初的教程中,我们添加了一个名为“inventory/mycluster”的目录,并在该目录下添加了一个名为“hosts.yaml”的文件。“hosts.yaml”文件在运行下一个脚本之前必须已经存在。
如果您想安装另一个版本的Kubernetes,您可以轻松替换参数 kube_version 。
如果你不想升级你的Linux系统,就把这个参数项system_upgrade=true从下面的命令中去掉好了。
接着运行这个命令:
ansible-playbook upgrade-cluster.yml --become -i inventory/mycluster/hosts.yaml 文件 \ -e kube_version=v1.29.5 -e system_upgrade=true 设置为 true
现在开始升级了。这可能需要5到20分钟左右。
恭喜你。安装已完成。现在运行 kubectl 检查是否一切已更新。
kubectl version # 检查kubectl版本
你在 ansible-playbook 命令中指定的目标版本应该显示为服务器的版本。现在
客户端版本号:v1.29.5 Kustomize 版本号:v5.0.4–0.20230601165947–6ce0bf390ce3 服务器版本号:v1.29.5
厉害了,你升级了 Kubernetes 集群。
如果你喜欢我的文章,可以关注我一下并为我点个赞。
此致
或
敬上
瑟伦