企业级运维之云原生与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资源进行排查。

 

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4月前
|
人工智能 安全 Cloud Native
阿里云云原生安全能力全线升级,护航百万客户云上安全
【重磅发布】9月20日,在杭州云栖大会上,阿里云宣布云原生安全能力全线升级,首次发布云原生网络检测与响应产品NDR(Network Detection Response,简称NDR)。同时,阿里云还宣布将持续增加免费的安全防护能力,帮助中小企业客户以极低投入完成基础的云上安全风险治理。
204 15
|
26天前
|
Cloud Native 安全 Java
铭师堂的云原生升级实践
铭师堂完整经历了云计算应用的四个关键阶段:从”启动上云”到”全量上云”,再到”全栈用云”,最终达到”精益用云”。通过 MSE 云原生网关的落地,为我们的组织带来了诸多收益,SLA 提升至100%,财务成本降低67%,算力成本降低75%,每次请求 RT 减少5ms。
铭师堂的云原生升级实践
|
25天前
|
Cloud Native 安全 Java
杭州铭师堂的云原生升级实践
在短短 2-3 年间,杭州铭师堂完整经历了云计算应用的四个关键阶段:从“启动上云”到“全量上云”,再到“全栈用云”,最终达到“精益用云”。也从云计算的第一次浪潮,迈过了第二次浪潮,顺利的进入到了 第三次浪潮 AI + 云。
101 12
|
2月前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
2月前
|
人工智能 Cloud Native 算法
|
3月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
154 17
|
3月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
102 3
|
4月前
|
运维 Cloud Native Docker
云原生技术入门:Docker容器化实战
【9月更文挑战第20天】本文将引导你走进云原生技术的世界,通过Docker容器化技术的实战演练,深入理解其背后的原理和应用。我们将一起探索如何在云平台上利用Docker简化部署、扩展和管理应用程序的过程,并揭示这一技术如何改变现代软件的开发和运维模式。
|
3月前
|
Kubernetes Cloud Native Ubuntu
云原生之旅:Kubernetes集群搭建与应用部署
【8月更文挑战第65天】本文将带你进入云原生的世界,通过一步步指导如何在本地环境中搭建Kubernetes集群,并部署一个简单的应用。我们将使用Minikube和Docker作为工具,探索云原生技术的魅力所在。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和实践技巧。
|
4月前
|
Kubernetes 监控 Cloud Native
Cluster Optimizer:一款云原生集群优化平台
**Cluster Optimizer** 是一款云原生集群优化平台,旨在通过自动化和智能化工具帮助企业降低云成本,解决云原生架构中的成本管理难题。面对资源闲置、配置不当和缺乏自动化优化机制等挑战,Cluster Optimizer能够深入分析云资源、应用和用户行为,精准识别优化机会,并给出具体建议,涵盖节点组、节点、GPU 节点、磁盘、持久卷和应用等多个维度。通过优化实例类型、自动扩缩容和资源分配,帮助企业降低成本、提升性能和效率。[点击此处](https://www.wiseinf.com.cn/docs/setup/) 免费安装和试用 **Cluster Optimizer 社区版**。
115 9