etcd性能问题排查及解决方案
最近遇到一个客户k8s测试集群经常崩溃,最终定位是etcd磁盘IO性能不足,最终替换成ssd盘解决,记录一下排查过程。
集群是跑在客户的共享虚机上,磁盘是机械硬盘,问题现象如下:
kube-system下涉及高可用的组件 kube-apiserver、kube-controller-manager、kube-scheduler 频繁重启,某些选主模式的组件、服务反复重启,频繁CrashLoopBack...
最近遇到一个客户k8s测试集群经常崩溃,最终定位是etcd磁盘IO性能不足,最终替换成ssd盘解决,记录一下排查过程。
集群是跑在客户的共享虚机上,磁盘是机械硬盘,问题现象如下:
kube-system下涉及高可用的组件 kube-apiserver、kube-controller-manager、kube-scheduler 频繁重启,某些选主模式的组件、服务反复重启,频繁CrashLoopBack...
在k8s集群使用和运维中,每天都需要输入大量 kubectl 常用命令,其实我们可以通过定义 alias 别名和函数简化 kubectl 命令,比如使用k代替kubectl,po代替pods,svc代替services,kgpon代替kubectl get po -n [命名空间+资源名](以参数传入),并且添加kubectl命令自动补全,将这些别名和函数添加到 Shell 配置文件(如 ...
Continue reading >>Kubernetes Cordon
kubectl cordon 命令用于将节点标记为不可调度。这意味着 Kubernetes 调度器不会将任何新的 Pod 调度到该节点上。但是,已经在该节点上运行的 Pod 不会受到影响,它们将继续运行。在 kubectl cordon 节点后删除节点上已有 Pod,Kubernetes 会自动将新的 Pod 调度到其他可用节点上,从...
Continue reading >>Kubernetes 集群的性能测试是确保集群在高负载下稳定运行的重要步骤。Kubemark 和 ClusterLoader2 是 Kubernetes 社区提供的两个重要工具,专门用于模拟大规模集群负载和性能测试。以下是它们的详细介绍和使用方法:
Kubemark 是 Kubernetes 的一个性能测试工具,用于模拟大规模 Kubernetes 集群。它通过创建“空心节...
Continue reading >>Kubernetes 的污点 (Taint) 和容忍度 (Toleration) 是强大的机制,用于控制 Pod 在节点上的调度。它们允许对节点进行标记,并指定哪些 Pod 可以忽略这些标记并仍然被调度到这些节点上。 这对于实现节点隔离、资源专用以及处理节点维护非常有用,Kubernetes 污点和容忍度还可以与其他调度功能(如节点亲和性)结合使用。
污点 (Taint):
污点应用于节点,表示节点的...
Continue reading >>客户有个服务的PV需要扩容容量,由于服务刚初始化还没有正式上线,并且存储卷使用的是云盘,支持动态调整大小,评估后决定使用kubectl patch pv手动更新pv的容量信息,当然前提需要云盘先扩容到指定容量。生产中这种方法非常危险,请评估好风险!
操作步骤:
1.找到pod使用的存储卷,登陆云厂商控制台找到对应的存储卷扩容到指定容量
kubectl get pvc&nbs...Continue reading >>