往期精彩文章 :
- 提升CKA考试胜算:一文带你全面了解RBAC权限控制!
- 揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
- CKA认证必备:掌握k8s网络策略的关键要点
- 提高CKA认证成功率,CKA真题中的节点维护全攻略!
- 数据无忧,一学就会:掌握CKA认证必备的etcd备份与还原秘籍!
- 提升你的云技能:深入了解CKA认证之k8s升级秘籍!
- 揭秘CKA认证:Service四层代理的神秘面纱
- 提升CKA认证成功率:Kubernetes Ingress七层代理全攻略!
- CKA考生注意:这些Deployment要点能助你一臂之力!
- 从NodeSelector到NodeAffinity:探索Kubernetes节点亲和性的进化之路
Kubernetes
集群由Master节点和多个Node节点组成,Node节点是集群中的工作单元。每个Node节点都运行一个Kubelet进程,负责与Master节点通信,执行Pod中的容器。Ready状态是指Node节点是否准备好接收和执行工作负载。在大规模集群中,确保Node节点保持Ready状态至关重要。
那有什么方法监控Node节点状态呢?
Kubernetes 云原生集群监控主要涉及到如下三类指标:node 物理节点指标、pod & container 容器资源指标和Kubernetes 云原生集群资源指标。针对这三类指标都有比较成熟的方案,见下图:
架构图使用kubectl
命令可以方便地查看Node节点的Ready状态。通过以下命令可以列出所有Node节点以及它们的Ready状态:
kubectl get nodes
Kube-state-metrics
是一个开源的Kubernetes监控工具,可以通过Prometheus进行数据采集。使用Kube-state-metrics,可以轻松获取Node节点的Ready状态指标,并创建相应的监控仪表板。
Prometheus
是一种开源监控和报警工具,支持Kubernetes集成。通过使用Prometheus进行监控,可以定义查询和报警规则,确保及时发现并解决Node节点Ready状态的问题。
在Kubernetes集群中,Node节点的Ready状态对于保持应用程序的可靠性和稳定性至关重要。通过使用kubectl命令、Kube-state-metrics和Prometheus等工具,结合自动化监控和报警系统,可以有效地统计和处理Node节点的Ready状态,确保集群的健康运行。在管理K8s集群时,定期检查Ready状态并及时响应任何异常情况,将有助于提高整个集群的可用性。
切换 k8s 集群环境:
kubectl config use-context k8s
Task:检查集群中有多少节点为 Ready 状态(不包括被打上 Taint: NoSchedule 的节点
),之后将数量写到/opt/KUSCO0402/kusc00402.txt
。
kubectl config use-context k8s
kubectl get nodes | grep -w Ready | wc -l
例如,我们在killercoda模拟环境上操作如下:
controlplane $ kubectl get nodes | grep Ready | wc -l
2
controlplane $
kubectl describe nodes | grep Taints | grep -I NoSchedule | wc -l
在killercoda模拟环境上操作如下:
controlplane $ kubectl describe nodes | grep Taints | grep -I NoSchedule | wc -l
0
controlplane $
echo 1 > /opt/KUSC00402/kusc00402.txt
例如在killercoda上操作的结果如下
controlplane $ mkdir -p /opt/KUSC00402/ #在考试中不需要创建
controlplane $ touch /opt/KUSC00402/kusc00402.txt #在考试中不需要创建
controlplane $ echo 2 >> /opt/KUSC00402/kusc00402.txt
controlplane $ cat /opt/KUSC00402/kusc00402.txt
2