企业级运维之云原生与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
相关文章
|
2月前
|
运维 监控 安全
打怪升级不是梦!运维也能靠“游戏化”高效运转?试试看就知道了!
打怪升级不是梦!运维也能靠“游戏化”高效运转?试试看就知道了!
61 1
|
2月前
|
SQL 运维 自然语言处理
Dataphin智能化重磅升级!编码难题一扫光,开发运维更高效!
Dataphin重磅推出三大核心智能化能力:智能代码助手提升SQL开发效率;智能运维助手实现移动化任务管理;智能分析通过自然语言生成SQL,助力数据价值释放。未来将持续开放智能ETL、安全助手等能力,助力企业构建高效、稳定的数据资产体系。
285 0
|
3月前
|
运维 安全 关系型数据库
【产品升级】Dataphin V5.1版本发布:跨云数据集成、指标管理、平台运维带来重大更新!
V5.1版本新增多项功能:对接AWS生态(支持Amazon EMR、Redshift等),强化研发技术支撑(如API认证升级、全量任务隔离),完善运营消费链路(新增业务指标管理、指标关系图),提升平台综合能力(自定义菜单、缩短升级停机时间)。这些功能助力企业实现高效数据治理与分析,未来还将拓展智能化与国际化支持。
250 0
|
5月前
|
人工智能 关系型数据库 OLAP
光云科技 X AnalyticDB:构建 AI 时代下的云原生企业级数仓
AnalyticDB承载了光云海量数据的实时在线分析,为各个业务线的商家提供了丝滑的数据服务,实时物化视图、租户资源隔离、冷热分离等企业级特性,很好的解决了SaaS场景下的业务痛点,也平衡了成本。同时也基于通义+AnalyticDB研发了企业级智能客服、智能导购等行业解决方案,借助大模型和云计算为商家赋能。
361 17
|
7月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
7月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
206 10
|
7月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
9月前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
365 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
9月前
|
存储 分布式计算 Hadoop
【产品升级】Dataphin V4.4重磅发布:开发运维提效、指标全生命周期管理、智能元数据生成再升级
Dataphin V4.4版本引入了多项核心升级,包括级联发布、元数据采集扩展、数据源指标上架、自定义属性管理等功能,大幅提升数据处理与资产管理效率。此外,还支持Hadoop集群管理、跨Schema数据读取、实时集成目标端支持Hudi及MaxCompute delta等技术,进一步优化用户体验。
788 3
【产品升级】Dataphin V4.4重磅发布:开发运维提效、指标全生命周期管理、智能元数据生成再升级
|
10月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。

热门文章

最新文章

推荐镜像

更多