k8s集群中 ETCD 一般以 static pod方式部署在 master 0/1/2 节点上,路径一般为 /etc/kubernetes/manifests/etcd.yaml需要针对k8s集群中已经在运行的 ETCD 3 副本进行端口切换变更,从 2379 端口变更到 2378,2380 保持不变。

etcd.yaml示例:

apiVersion: v1
kind: P...
Continue reading >>

最近遇到一个客户k8s测试集群经常崩溃,最终定位是etcd磁盘IO性能不足,最终替换成ssd盘解决,记录一下排查过程。

集群是跑在客户的共享虚机上,磁盘是机械硬盘,问题现象如下:

  1. kube-system下涉及高可用的组件 kube-apiserver、kube-controller-manager、kube-scheduler 频繁重启,某些选主模式的组件、服务反复重启,频繁CrashLoopBack...

Continue reading >>

在k8s集群使用和运维中,每天都需要输入大量 kubectl 常用命令,其实我们可以通过定义 alias 别名和函数简化 kubectl 命令,比如使用k代替kubectl,po代替pods,svc代替services,kgpon代替kubectl get po -n [命名空间+资源名](以参数传入),并且添加kubectl命令自动补全,将这些别名和函数添加到 Shell 配置文件(如&nbsp...

Continue reading >>

Kubernetes Cordon

kubectl cordon 命令用于将节点标记为不可调度。这意味着 Kubernetes 调度器不会将任何新的 Pod 调度到该节点上。但是,已经在该节点上运行的 Pod 不会受到影响,它们将继续运行。在 kubectl cordon 节点后删除节点上已有 Pod,Kubernetes 会自动将新的 Pod 调度到其他可用节点上,从...

Continue reading >>

Kubernetes 集群的性能测试是确保集群在高负载下稳定运行的重要步骤。KubemarkClusterLoader2 是 Kubernetes 社区提供的两个重要工具,专门用于模拟大规模集群负载和性能测试。以下是它们的详细介绍和使用方法:

1. Kubemark

概述

Kubemark 是 Kubernetes 的一个性能测试工具,用于模拟大规模 Kubernetes 集群。它通过创建“空心节...

Continue reading >>

Kubernetes 的污点 (Taint) 容忍度 (Toleration) 是强大的机制,用于控制 Pod 在节点上的调度。它们允许对节点进行标记,并指定哪些 Pod 可以忽略这些标记并仍然被调度到这些节点上。 这对于实现节点隔离、资源专用以及处理节点维护非常有用,Kubernetes 污点和容忍度还可以与其他调度功能(如节点亲和性)结合使用。

污点 (Taint):

污点应用于节点,表示节点的...

Continue reading >>