在Kubernetes整个体系中,弹性伸缩是至关重要的功能,其分为两种:水平弹性伸缩(Horizontal Pod Autoscaling,简称HPA)垂直弹性伸缩(Vertical Pod Autoscaler,简称VPA)。HPA可以根据观察到的资源实际使用情况(如CPU/内存)或其它自定义指标负载自动调整Pod副本数,VPA可以根据资源实际使用情况为其Pod中的容器设置最新的资源配额req...

Continue reading >>

在 Kubernetes 生产环境中更换 etcd 节点的磁盘是一个高风险操作,需谨慎执行。什么情况需要更换磁盘?

  • 磁盘性能不足,如机械盘升级到 SSD

  • 磁盘硬件存在问题,影响稳定性

ETCD 对磁盘性能要求非常敏感,强烈建议使用 SSD 且独立挂盘。如果有更高性能要求,可以选择分离 snapshot(快照文件)/wal(预写日志)的目录,使用两块盘分离 IO 读写。

以下是详细步骤和注意事项,以三节点...

Continue reading >>

客户有个好几年前的k8s老环境,部署新的应用就出问题了,从部署的服务pod里访问k8s svc地址端口 172.16.0.1:443 不通,宿主机上访问都是通的,kube-proxy mode是 iptables 模式,endpoints检察都正常,svc 后端apiserver 6443 也都能正常访问,重建kube-proxy、kubernetes svc 后 pod 访问 svc 依然不通,...

Continue reading >>

最近在给客户部署一套 k8s 集群时,主节点master1安装完后,master2 join时提示 etcd 证书报错,铲掉重装后问题还是稳定复现,客户提供的机器操作系统为Ubuntu 22.04、Kernel:Linux 5.15.x,报错信息节选如下

error execution phase control-plane-prepare/certs: error creating PKI as...

Continue reading >>

最近在 Kubernetes 使用中,有个 Pod 一直处于 Terminating 状态,通常原因是 Pod 占用的某些资源未被正确释放(如 Finalizers、Volume 挂载、网络资源、节点状态为NotReady等),强制删除也一直卡住,尝试了各种姿势,最后不得不去 ETCD 删除 Pod 数据解决,mark一下。

1. 检查 Finalizers

Finali...

Continue reading >>

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 >>