k8s学习-CKA真题-k8s升级(kubeadm、kubelet、kubectl等)

简介: k8s学习-CKA真题-k8s升级(kubeadm、kubelet、kubectl等)

题目

解析

结合博主当前环境,调整后题目为:

现有的 Kubernetes 集权正在运行的版本是 1.23.6,仅将主节点上的所有 kubernetes 控制面板和组件升级到版本 1.24.8 另外,在主节点上升级 kubelet 和 kubectl

注意:不升级etcd

命令

博主的master节点是xxx-centos

准备工作

设置为不可用

kubectl cordon xxx-centos

驱逐节点

kubectl drain xxx-centos --delete-emptydir-data --ignore-daemonsets --force

升级组件

Ubuntu

apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.24.0-00 && \
apt-mark hold kubeadm

Centos

yum install -y kubeadm-1.24.0-0 --disableexcludes=kubernetes

验证下载操作正常,并且 kubeadm 版本正确&验证升级计划:

kubeadm version
kubeadm upgrade plan

升级

sudo kubeadm upgrade apply v1.24.0 --etcd-upgrade=false

升级kubectl、kubelet

Ubuntu

apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.24.0-00 kubectl=1.24.0-00 && \
apt-mark hold kubelet kubectl

Centos

yum install -y kubelet-1.24.0-0 kubectl-1.24.0-0 --disableexcludes=kubernetes

收尾

重启kubelet

sudo systemctl daemon-reload
sudo systemctl restart kubelet

恢复为可调度

kubectl uncordon xxx-centos

结果

当前版本

设置节点不可调度

驱逐节点

安装kubeadm

验证kubeadm

查看临时文件

查看kubectl版本

查看kubelet版本及各节点版本

killer 模拟环境

题目

Your coworker said node cluster3-node2 is running an older Kubernetes version and is not even part of the cluster. Update Kubernetes on that node to the exact version that’s running on cluster3-controlplane1. Then add this node to the cluster. Use kubeadm for this.

解析

您的同事说node cluster3-node2 运行的是较旧的Kubernetes版本,甚至不是集群的一部分将该节点上的Kubernetes更新为cluster3-controlplane1上运行的确切版本。然后将此节点添加到集群。为此,请使用kubeadm

解题

查看节点

kubectl get node

发现cluster3-controlplane1的版本是1.26.0,且cluster3-node2没有加入集群。

ssh cluster3-node2
kubeadm version
kubelet--version

发现kubeadm已经是v1.26.0了,只需升级kubelet和kubectl

apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.26.0-00 kubectl=1.26.0-00 && \
apt-mark hold kubelet kubectl

重启kubelet

systemctl daemon-reload
systemctl restart kubelet

之后去主节点生成加入集群的命令

ssh cluster3-master1
kubeadm token create --print-join-command

cluster3-node2节点运行命令

之后验证一下,可以看到集群中加入了cluster3-node2节点。

参考

k8s-升级 kubeadm 集群

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1月前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
16天前
|
Kubernetes 数据安全/隐私保护 Docker
kubeadm 工具实验 k8s一键安装
kubeadm 工具实验 k8s一键安装
|
1月前
|
Kubernetes 应用服务中间件 nginx
Kubernetes学习-深入Pod篇(一) 创建Pod,Pod配置文件详解
Kubernetes学习-深入Pod篇(一) 创建Pod,Pod配置文件详解
|
1月前
|
Kubernetes 安全 API
Kubernetes学习-集群搭建篇(三) Node配置完善和API概述
Kubernetes学习-集群搭建篇(三) Node配置完善和API概述
Kubernetes学习-集群搭建篇(三) Node配置完善和API概述
|
1月前
|
存储 运维 Kubernetes
Kubernetes学习-集群搭建篇(一) 搭建Master结点
Kubernetes学习-集群搭建篇(一) 搭建Master结点
|
1月前
|
存储 Kubernetes API
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
|
3天前
|
Kubernetes Cloud Native 微服务
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
13 3
|
15天前
|
Kubernetes 微服务 容器
Aspire项目发布到远程k8s集群
Aspire项目发布到远程k8s集群
50 2
Aspire项目发布到远程k8s集群
|
5天前
|
Kubernetes 数据处理 调度
天呐!部署 Kubernetes 模式的 Havenask 集群太震撼了!
【6月更文挑战第11天】Kubernetes 与 Havenask 集群结合,打造高效智能的数据处理解决方案。Kubernetes 如指挥家精准调度资源,Havenask 快速响应查询,简化复杂任务,优化资源管理。通过搭建 Kubernetes 环境并配置 Havenask,实现高可扩展性和容错性,保障服务连续性。开发者因此能专注业务逻辑,享受自动化基础设施管理带来的便利。这项创新技术组合引领未来,开启数据处理新篇章。拥抱技术新时代!
|
5天前
|
Kubernetes 前端开发 Serverless
Serverless 应用引擎产品使用合集之如何调用Kubernetes集群内服务
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。