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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 提升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


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
9月前
|
Kubernetes 应用服务中间件 nginx
【CKA模拟题】别再犯难!一文教你用两种方式快速创建Pod!
【CKA模拟题】别再犯难!一文教你用两种方式快速创建Pod!
140 1
|
9月前
|
存储 Kubernetes 容器
【CKA模拟题】一文教你如何查看并优雅地排序SVC资源
【CKA模拟题】一文教你如何查看并优雅地排序SVC资源
146 1
|
9月前
|
运维 Kubernetes 监控
CKA备考攻略:掌握Pod日志收集,事半功倍的秘诀!
CKA备考攻略:掌握Pod日志收集,事半功倍的秘诀!
203 0
CKA备考攻略:掌握Pod日志收集,事半功倍的秘诀!
|
9月前
|
存储 运维 Kubernetes
PV与PVC知多少?解锁CKA认证考点攻略!
PV与PVC知多少?解锁CKA认证考点攻略!
125 0
|
存储 Kubernetes Cloud Native
CKA考试的容器网络10个重点题目
作为云计算领域的重要认证机构,Cloud Native Computing Foundation(CNCF)推出了许多认证考试,其中 Certified Kubernetes Administrator(CKA)认证是 Kubernetes 相关最具权威的认证之一,对于想要成为容器化云计算方面专家的 IT 从业者来说,CKA 是非常有价值的。 在进行 CKA 考试时,需要掌握 Kubernetes 的核心概念和操作,能够有效管理 Kubernetes 集群,并且能够识别和解决集群中的故障。而在 Kubernetes 中,容器是必不可少的核心组件。本文将向您介绍 CKA 考试中关于容器的 10
203 2
|
9月前
|
Kubernetes 容器 Perl
k8s学习-CKA真题-sidecar代理
k8s学习-CKA真题-sidecar代理
110 0
|
9月前
|
Kubernetes 监控 容器
k8s学习-CKA真题-监控Pod日志
k8s学习-CKA真题-监控Pod日志
118 0
|
9月前
|
Kubernetes 应用服务中间件 nginx
【CKA模拟题】如何发布一个SVC资源
【CKA模拟题】如何发布一个SVC资源
70 1
|
9月前
|
网络协议 Docker 容器
【CKA模拟题】不可不知:NodePort操作全攻略!
【CKA模拟题】不可不知:NodePort操作全攻略!
183 1
|
9月前
|
存储 Kubernetes Perl
【CKA模拟题】容忍度策略实战案例
【CKA模拟题】容忍度策略实战案例
143 1