提升CKA认证成功率,CKA真题中的节点维护全攻略!

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 提升CKA认证成功率,CKA真题中的节点维护全攻略!

K8S集群运维过程中可能会有维护Node节点的需求,例如Node操作系统软件存在漏洞,需要对系统进行更新和维护。这里我们以K8S集群节点的操作系统进行更新操作为例。

Kubernetes中的三个命令:cordondrain 以及 delete 都可以实现 node 的停止调度,也就是后面再创建的 pod 不会继续被调度到该节点上,他们之间最大的区别是暴力程度不一样。

设置节点不可调度

命令格式:

kubectl cordon [node name]
  • 临时将节点从Kubernets集群隔离
  • 影响最小,只会将node节点标识为SchedulingDisabled,也就是禁止调度
  • 后面创建的Pod,将不会调度到这个节点
  • 原来节点运行的Pod不受影响,继续对外服务

首先将节点标记为不可调度,避免新的Pod在此节点创建和运行

kubectl cordon k8s-node2

查看节点状态:

root@k8s-master:~# kubectl get node k8s-node2
NAME        STATUS                     ROLES    AGE   VERSION
k8s-node2   Ready,SchedulingDisabled   <none>   5d    v1.28.2

可以看到 k8s-node2为 SchedulingDisabled 表示不可调度。新创建的pod不会调度到这个k8s-node2节点上,原来在k8s-node2的pod依然正常运行。

驱逐节点上的Pod

由于k8s-node2节点上还运行Pod,这样是不能直接对节点上的进行关机升级操作的,需要把这些pod驱逐到其他的节点上。

kubectl drain k8s-node2 --delete-local-data --ignore-daemonsets --force

这里有3个参数:

  • --ignore-daemonsets, 忽略DaemonSet 管理的 Pod(避免删除,创建这样的死循环)。
  • --delete-local-data,使用 emptyDir 数据卷的 Pod 也要删除。
  • --force,不是由 ReplicationController 、ReplicaSet 、Job 、DaemonSet 、StatefulSet 管理的Pod(没有绑定任何控制器)也要删除。

维护节点

等完全把k8s-node2上的Pod驱逐完,就可以对该节点进行软件的升级或硬件的升级。

  • 升级操作系统apt update && apt upgrade

恢复节点可调度

节点维护结束后,回复可调度状态

kubectl uncordon k8s-node2
root@k8s-master:~# kubectl uncordon k8s-node2
node/k8s-node2 uncordoned
root@k8s-master:~# kubectl get node
NAME         STATUS   ROLES           AGE     VERSION
k8s-master   Ready    control-plane   6d19h   v1.28.2
k8s-node1    Ready    <none>          6d19h   v1.28.2
k8s-node2    Ready    <none>          5d1h    v1.28.2

kubectl delete node

不建议使用kubectl delete node [node name],Node 节点删除,Master 将会失去对其的控制,该节点从集群去除,delete 是一种非常暴力的删除节点方式,驱逐时都是强制干掉容器的进程,并没有做到优雅终止 Pod,相比较而言,drain 相对比较安全。

CKA真题

切换 k8s 集群环境:kubectl config use-context ek8s

Task

将 ek8s-node-1 节点设置为不可用,然后重新调度该节点上的所有 Pod。

kubectl config use-context ek8s
kubectl cordon ek8s-node-1
kubectl drain cka-node1 --delete-emptydir-data  --ignore-daemonsets --force


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
目录
相关文章
|
1月前
|
存储 运维 Kubernetes
PV与PVC知多少?解锁CKA认证考点攻略!
PV与PVC知多少?解锁CKA认证考点攻略!
44 0
|
1月前
|
存储 Kubernetes 容器
【CKA模拟题】一文教你如何查看并优雅地排序SVC资源
【CKA模拟题】一文教你如何查看并优雅地排序SVC资源
80 1
|
1月前
|
Kubernetes 应用服务中间件 nginx
【CKA模拟题】别再犯难!一文教你用两种方式快速创建Pod!
【CKA模拟题】别再犯难!一文教你用两种方式快速创建Pod!
20 1
|
1月前
|
运维 Kubernetes 监控
CKA备考攻略:掌握Pod日志收集,事半功倍的秘诀!
CKA备考攻略:掌握Pod日志收集,事半功倍的秘诀!
26 0
CKA备考攻略:掌握Pod日志收集,事半功倍的秘诀!
|
7月前
|
存储 Kubernetes Cloud Native
CKA考试的容器网络10个重点题目
作为云计算领域的重要认证机构,Cloud Native Computing Foundation(CNCF)推出了许多认证考试,其中 Certified Kubernetes Administrator(CKA)认证是 Kubernetes 相关最具权威的认证之一,对于想要成为容器化云计算方面专家的 IT 从业者来说,CKA 是非常有价值的。 在进行 CKA 考试时,需要掌握 Kubernetes 的核心概念和操作,能够有效管理 Kubernetes 集群,并且能够识别和解决集群中的故障。而在 Kubernetes 中,容器是必不可少的核心组件。本文将向您介绍 CKA 考试中关于容器的 10
|
5月前
|
Kubernetes 容器 Perl
k8s学习-CKA真题-sidecar代理
k8s学习-CKA真题-sidecar代理
51 0
|
5月前
|
Kubernetes 监控 容器
k8s学习-CKA真题-监控Pod日志
k8s学习-CKA真题-监控Pod日志
78 0
|
1月前
|
存储 Kubernetes Perl
【CKA模拟题】容忍度策略实战案例
【CKA模拟题】容忍度策略实战案例
21 1
|
1月前
|
存储 Kubernetes 应用服务中间件
数据无忧,一学就会:掌握CKA认证必备的etcd备份与还原秘籍!
数据无忧,一学就会:掌握CKA认证必备的etcd备份与还原秘籍!
20 0
|
1月前
|
Kubernetes 应用服务中间件 nginx
CKA考生注意:这些Deployment要点能助你一臂之力!
CKA考生注意:这些Deployment要点能助你一臂之力!
17 0