Kubernetes Windows升级

2023-11-30 39

Kubernetes 集群中,kubeadm 是一个工具,它可以帮助用户快速、轻松地部署一个最小化的 Kubernetes 控制平面和一组工作节点。本教程将解释如何升级用 kubeadm 创建的 Windows 节点。

一、准备

1、必须拥有一个 Kubernetes 的集群,同时必须配置 kubectl 命令行工具与集群通信;

2、建议在至少有两个不作为控制平面主机的节点的集群上运行本教程;

3、如果还没有集群,可以通过 Minikube 构建一个自己的集群,或者可以使用下面的 Kubernetes 练习环境之一:

  • Killercoda
  • 玩转 Kubernetes

Kubernetes 服务器版本必须不低于版本 1.17. 要获知版本信息,请输入 kubectl version。熟悉更新 kubeadm 集群中的其余组件。 在升级 Windows 节点之前会想要升级控制面节点。

二、升级工作节点

1、升级 kubeadm

在 Windows 节点上升级 kubeadm:

# 将 1.28.4 替换为希望的版本
curl.exe -Lo <kubeadm.exe 路径> "https://dl.k8s.io/v1.28.4/bin/windows/amd64/kubeadm.exe"

2、腾空节点

在一个能访问到 Kubernetes API 的机器上,将 Windows 节点标记为不可调度并 驱逐其上的所有负载,以便准备节点维护操作:

# 将 <要腾空的节点> 替换为要腾空的节点的名称
kubectl drain <要腾空的节点> --ignore-daemonsets

应该会看到类似下面的输出:

node/ip-172-31-85-18 cordoned
node/ip-172-31-85-18 drained

3、升级 kubelet 配置

在 Windows 节点上,执行下面的命令来同步新的 kubelet 配置:

kubeadm upgrade node

4、升级 kubelet 和 kube-proxy

在 Windows 节点上升级并重启 kubelet:

stop-service kubelet
curl.exe -Lo <kubelet.exe 路径> "https://dl.k8s.io/v1.28.4/bin/windows/amd64/kubelet.exe"
restart-service kubelet

在 Windows 节点上升级并重启 kube-proxy:

stop-service kube-proxy
curl.exe -Lo <kube-proxy.exe 路径> "https://dl.k8s.io/v1.28.4/bin/windows/amd64/kube-proxy.exe"
restart-service kube-proxy

如果是在 Pod 内的 HostProcess 容器中运行 kube-proxy,而不是作为 Windows 服务, 可以通过应用更新版本的 kube-proxy 清单文件来升级 kube-proxy。

5、对节点执行 uncordon 操作

从一台能够访问到 Kubernetes API 的机器上,通过将节点标记为可调度,使之重新上线:

# 将 <要腾空的节点> 替换为节点名称
kubectl uncordon <要腾空的节点>
  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。