您现在的位置是:网站首页> 新闻快讯> 软件使用 新闻快讯
proxyserver
小玉2023-07-05【软件使用】
211人已围观
简介如果使用的是托管的Kubernetes集群(如GKE、EKS、AKS),那么您应该没有太多需要处理的东西。如果您自己管理集群(例如kubeadm

proxyserver
最后更新:2023-07-05 03:59:38
推荐指数:
如果使用的是托管的Kubernetes集群(如GKE、EKS、AKS),那么您应该没有太多需要处理的东西。如果您自己管理集群(例如kubeadm),并使用Docker作为容器运行时,那么您必须切换运行时,才能继续Kubernetes的更新。首先检查什么从与Kubernetes安装本身相关的更改来看,对集群中运行的工作负载的影响应该是有限的。如果您在工作负载中使用了Docker-in-Docker并挂载了Dockersocket:socket/var/run/Docker.sock,在这种情况下,从Docker切换到新的容器运行时之前,您必须找到一个替代方案(例如Kaniko)。另外还强烈建议在继续进行容器运行时切换之前备份数据!开始变更在本文中,我将使用containerd作为容器运行时,但以下步骤可以适用于任何容器运行时(如CRI-O)我们将首先改变所有工作节点,然后通过控制平面完成其他变更。变更Worker节点必须在每个工作节点上应用以下步骤。1.先cordon并drain节点,以便在变更过程中不会在节点上安排和执行新的工作负载。kubectlcordonkubectldrain备注:如果在节点上运行了DaemonSet,则可以使用标志--ignoreDaemonSets来继续进行drain节点2.驱赶后,停止kubelet服务:sudosystemctlstopkubeletsudosystemctlstatuskubelet3.卸载Docker。您可以查看Docker文档来卸载引擎。4.安装containerd(根据containerd文档选择自己喜欢的安装方式)5.启用并启动containerd服务sudosystemctlenablecontainerdsudosystemctlstartcontainerdsudosystemctlstatuscontainerdKubernetes通过CRI插件与容器运行时通信。通过编辑配置文件/etc/containerd/config.toml并检查disabled_plugins列表,确保在containerd安装中未禁用此插件:disabled_plugins=[""]6.根据需要重新启动containerd服务sudosystemctlrestartcontainerd7.编辑kubelet配置文件/var/lib/kubelet/kubbeadm-flags.env,将以下标志添加到kubelet_kubeadm_ARGS变量(如果需要,调整容器运行时端点路径):--container-runtime=remote--container-runtime-endpoint=/run/containerd/containerd.sock8.启动kubeletsudosystemctlstartkubelet9.检查节点上是否正确使用了新的运行时:kubectldescribenode您应该看到容器运行时版本和名称:SystemInfo:ContainerRuntimeVersion:containerd://1.4.3KubeletVersion:v1.20.2Kube-ProxyVersion:v1.20.210.解开节点,将其标记为可调度,并检查pod的运行状态kubectluncordon一旦所有pod都重新启动,就可以继续下一个工作节点了控制平面在主节点上升级容器运行时的过程与在工作节点上的过程完全相同。但是,如果您使用的是单个主节点配置,则必须当心。因为,虽然新的容器运行时将提取kube-apiserver、etcd和coredns映像,然后创建相应的容器,但集群或不可用。您也不能运行kubectl命令。以下是一些排错提示,可帮助您遵循新的容器运行时开始并解决潜在问题:使用journalctl跟踪kubelet日志:journalctl-ukubelet同时观察容器日志:journalctl-ucontainerd使用crictl命令跟踪容器部署crictl--runtime-endpoint/run/containerd/containerd.sockps在升级结束时,通过在主节点上执行describe命令,检查您是否使用了新的容器运行时:kubectldescribenode@K8s技术圈@运维猿@北漂运维@波波说运维@高效运维
很赞哦! (0)
下一篇:lol补丁(LOL补丁怎么用)
相关文章
文章评论
验证码: