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