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

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

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

第四章第2ACK集群升级

 

 

视频地址:

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配置:

yumsystemdntp是否正常以及内核参数设置是否合理;

 

  • kubelet

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

 

  • docker

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

 

3.  云资源检查

 

  • apiserverslb

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

 

  • 集群的vpcvswitch是否存在;


  • 集群内的ecs实例:

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

 

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

 image.png

 

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

 image.png

三、集群升级三部曲

 

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

 

1.  升级master

 

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

kube-apiserver

kube-controller-manager

kube-scheduler

 

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

 

2.  升级node

 

  • 采用分批升级策略;
  • 主要升级kubeletcni等组件;

 

3.  升级核心组件

 

  • 根据社区的版本兼容矩阵;
  • 组件包括:corednskube-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
相关文章
|
运维 监控 安全
打怪升级不是梦!运维也能靠“游戏化”高效运转?试试看就知道了!
打怪升级不是梦!运维也能靠“游戏化”高效运转?试试看就知道了!
225 1
|
SQL 运维 自然语言处理
Dataphin智能化重磅升级!编码难题一扫光,开发运维更高效!
Dataphin重磅推出三大核心智能化能力:智能代码助手提升SQL开发效率;智能运维助手实现移动化任务管理;智能分析通过自然语言生成SQL,助力数据价值释放。未来将持续开放智能ETL、安全助手等能力,助力企业构建高效、稳定的数据资产体系。
825 0
|
运维 安全 关系型数据库
【产品升级】Dataphin V5.1版本发布:跨云数据集成、指标管理、平台运维带来重大更新!
V5.1版本新增多项功能:对接AWS生态(支持Amazon EMR、Redshift等),强化研发技术支撑(如API认证升级、全量任务隔离),完善运营消费链路(新增业务指标管理、指标关系图),提升平台综合能力(自定义菜单、缩短升级停机时间)。这些功能助力企业实现高效数据治理与分析,未来还将拓展智能化与国际化支持。
679 0
|
10月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
存储 运维 关系型数据库
开源新发布|PolarDB-X v2.4.1 增强企业级运维能力
PolarDB-X 是阿里云推出的云原生分布式数据库,自2021年10月开源以来,持续迭代升级,至2024年4月发布的v2.4.1版本,重点增强了企业级运维能力,如无锁变更、物理扩缩容、数据TTL等,提供金融级高可用、透明分布式、HTAP一体化等特性。PolarDB-X 支持集中式和分布式一体化形态,兼容MySQL生态,适用于金融、通信、政务等行业。
2361 101
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
存储 分布式计算 Hadoop
【产品升级】Dataphin V4.4重磅发布:开发运维提效、指标全生命周期管理、智能元数据生成再升级
Dataphin V4.4版本引入了多项核心升级,包括级联发布、元数据采集扩展、数据源指标上架、自定义属性管理等功能,大幅提升数据处理与资产管理效率。此外,还支持Hadoop集群管理、跨Schema数据读取、实时集成目标端支持Hudi及MaxCompute delta等技术,进一步优化用户体验。
1411 3
【产品升级】Dataphin V4.4重磅发布:开发运维提效、指标全生命周期管理、智能元数据生成再升级
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
运维 Cloud Native Docker
云原生技术入门:Docker容器化实战
【9月更文挑战第20天】本文将引导你走进云原生技术的世界,通过Docker容器化技术的实战演练,深入理解其背后的原理和应用。我们将一起探索如何在云平台上利用Docker简化部署、扩展和管理应用程序的过程,并揭示这一技术如何改变现代软件的开发和运维模式。
299 18
|
Kubernetes Cloud Native Docker
云原生入门:Docker容器化部署实战
【8月更文挑战第31天】在数字化浪潮中,云原生技术成为企业转型的助推器。本文通过Docker容器化部署的实践案例,引导读者从零基础到掌握基础的云原生应用部署技能。我们将一起探索Docker的魅力,学习如何将一个应用容器化,并在云平台上运行起来,为深入云原生世界打下坚实基础。