client-go之WorkQueue

workqueue提供了一个简单的队列,支持以下功能:

  1. 按添加顺序处理item。
  2. 单个item不会同时被处理多次,如果一个项目在被处理前被添加了多次,它只会被处理一次。
  3. 允许一个item在处理过程中被重新排队。

初试Pod垂直扩缩容VPA

概念

相对于水平自动扩缩容(HPA)在pod资源紧张时扩充pod个数来平衡负载。Pod的垂直扩容会自动调整Pod资源申请的requests值及limits值,它会依据pod当前运行状况动态地为Pod资源申请CPU及内存使用量。解放了手动设置request值及limits值的难点,使Pod运行更加智能。目前为Beta阶段

基于自定义指标的HPA实战

概念

Kubernetes自1.11版本开始引入了名为"HorizontalPodAutoscaler"的控制器用于完成Pod基于CPU使用率进行水平扩展。所谓水平扩展是在Pod中CPU的使用率达到设定的某个值时,HPA告知Pod对应的高层控制器(如Deployment、RS等控制器)。高层控制器随即创建出多个pod副本平衡负载使Pod的平均CPU使用率低于我们设定的值。当Pod的平均CPU使用率变小时,又能回收多余的Pod以避免资源浪费。

Etcd:NO SPACE的问题修复步骤

kubectl get cs时发现所有的etcd均返回503报错,查看etcd的告警发现有NO SPACE的信息且etcdctl endpoints status中的DB SIZE大于2GiB时。表示etcd的空间超过最大值需进行压缩。不进行压缩api-server无法继续写入数据,影响集群正常工作。