企业级运维之云原生与Kubernetes实战课程 - 第四章第2讲 ACK集群升级

简介: 随着社区K8s版本的不断演进,新的版本有着更为先进的新特性、更加全面的安全加固和漏洞修复。阿里云ACK也会对社区版本做适配,并且提供一键升级集群的功能。

企业级运维之云原生与Kubernetes实战课程

第四章第2讲 ACK集群升级

 

 

视频地址:

https://developer.aliyun.com/learning/course/913/detail/14566

 

 

一、 ACK集群升级流程

 

1.  集群升级难点

 

随着社区K8s版本的不断演进,新的版本有着更为先进的新特性、更加全面的安全加固和漏洞修复。阿里云ACK也会对社区版本做适配,并且提供一键升级集群的功能。

 

集群升级被比喻为“给飞行的飞机换引擎”,大多数Kubernetes用户对于集群升级都持保守态度。集群升级的难点主要有三个方面:

 

  • 集群经过长时间运行后,已经积累了比较复杂的运行状态,升级会引发不可预见的异常问题;
  • 每个集群都会有个性化的配置,这种千集群千面的情况,也增加了集群升级的复杂性;
  • 云上运行K8s集群使用大量云计算底层资源,升级集群可能会对底层云资源产生不确定因素。

 

2.  集群升级流程

 

针对集群升级的难点,阿里云设计了集群升级流程如下:

 image.png

 

集群升级首先会对系统组件、集群节点配置等进行预检查,预检查通过后才会进行升级操作,升级master、升级node以及升级核心组件,最后完成升级。

 

3.  集群升级入口

 

参考文档:https://help.aliyun.com/document_detail/86497.html

 

  • 登录容器服务管理控制台,在控制台左侧导航栏中,单击集群,在集群列表页面中,选择目标集群,并在目标集群右侧的操作列下,选择更多–集群升级;
  • 进入集群升级页面,会显示升级流程,系统会自动进行升级预检查,通过后才会进行后面的升级操作,如果集群存在不合理配置或潜在风险,则无法通过预检查。

 image.png

 

二、升级预检查

 

通过对集群进行比较全面的预检,来消除升级集群的不确定性。

 

升级预检查主要包括三个方面:

 

1.  核心组件检查

 

  • 网络组件:

确保网络组件版本和K8S目标版本兼容;

 

  • Apiservice:

确保集群内所有apiservice可用;

 

  • 节点:

确保节点全部健康;

 

2.  节点配置检查

 

  • os配置:

yum、systemd、ntp是否正常以及内核参数设置是否合理;

 

  • kubelet:

kubelet是否正常、配置是否正确;

 

  • docker:

docker是否正常、配置是否正确;

 

3.  云资源检查

 

  • apiserver的slb:

实例健康状态,端口配置(转发配置、acl控制);

 

  • 集群的vpc、vswitch是否存在;


  • 集群内的ecs实例:

确定健康状况和网络配置。

 

下图是升级预检查的检查报告示例,如果方框内的○都是绿色,则代表检查无异常。

 image.png

 

如有红色的点,则代表有错误,单击查看详情按钮,跳转到集群运维页面,查看具体的失败原因。

 image.png

三、集群升级三部曲

 

升级集群主要考量集群服务不中断、业务无感知。

 

1.  升级master

 

  • 采用滚动升级,访问集群不可用;
  • 升级master核心组件:

kube-apiserver

kube-controller-manager

kube-scheduler

 

注意:为保证Kubernetes的API Server可用性不中断,在master中的kube-apiserver至少需要2个,以实现滚动升级。

 

2.  升级node

 

  • 采用分批升级策略;
  • 主要升级kubelet、cni等组件;

 

3.  升级核心组件

 

  • 根据社区的版本兼容矩阵;
  • 组件包括:coredns、kube-proxy等。

 

 

本讲小结

 

1、回顾:本章讲解了集群升级的原理及过程。

2、思考:

  • 某一个woker节点not ready,是否可以升级成功?
  • 升级预检查失败该如何排查?
  • 提示:可以针对升级预检查操作生成的namespace中的pods资源进行排查。
  • 集群升级失败该如何排查?
  • 提示:可以针对kube-upgrade这个命名空间中的pods资源进行排查。

 

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 Kubernetes 网络安全
关于阿里云 Kubernetes 容器服务(ACK)添加镜像仓库的快速说明
本文介绍了在中国大陆地区因网络限制无法正常拉取 Docker 镜像的解决方案。作者所在的阿里云 Kubernetes 集群使用的是较旧版本的 containerd(1.2x),且无法直接通过 SSH 修改节点配置,因此采用了一种无需更改 Kubernetes 配置文件的方法。通过为 `docker.io` 添加 containerd 的镜像源,并使用脚本自动修改 containerd 配置文件中的路径错误(将错误的 `cert.d` 改为 `certs.d`),最终实现了通过多个镜像站点拉取镜像。作者还提供了一个可重复运行的脚本,用于动态配置镜像源。虽然该方案能缓解镜像拉取问题,
1302 3
|
存储 Kubernetes 监控
K8s集群实战:使用kubeadm和kuboard部署Kubernetes集群
总之,使用kubeadm和kuboard部署K8s集群就像回归童年一样,简单又有趣。不要忘记,技术是为人服务的,用K8s集群操控云端资源,我们不过是想在复杂的世界找寻简单。尽管部署过程可能遇到困难,但朝着简化复杂的目标,我们就能找到意义和乐趣。希望你也能利用这些工具,找到你的乐趣,满足你的需求。
1391 33
|
存储 人工智能 Kubernetes
ACK Gateway with AI Extension:面向Kubernetes大模型推理的智能路由实践
本文介绍了如何利用阿里云容器服务ACK推出的ACK Gateway with AI Extension组件,在Kubernetes环境中为大语言模型(LLM)推理服务提供智能路由和负载均衡能力。文章以部署和优化QwQ-32B模型为例,详细展示了从环境准备到性能测试的完整实践过程。
|
存储 运维 Kubernetes
容器数据保护:基于容器服务 Kubernetes 版(ACK)备份中心实现K8s存储卷一键备份与恢复
阿里云ACK备份中心提供一站式容器化业务灾备及迁移方案,减少数据丢失风险,确保业务稳定运行。
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
815 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
本文内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
1051 15
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
746 59
|
运维 Cloud Native 测试技术
极氪汽车云原生架构落地实践
随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
511 13

热门文章

最新文章

推荐镜像

更多