HPA 与pod调度

HPA  

自动更新工作负载资源(例如 Deployment 或者 StatefulSet), 目的是自动扩缩工作负载以满足需求。 绑定到deploy上,控制pod   依托于metrics-server  HorizontalPodAutoscaler

水平pod自动扩缩:意味着对增加的负载的响应是部署更多的 Pod。 这与“垂直(Vertical)”扩缩不同,对于 Kubernetes, 垂直扩缩意味着将更多资源(例如:内存或 CPU)分配给已经为工作负载运行的 Pod。

如果负载减少,并且 Pod 的数量高于配置的最小值, HorizontalPodAutoscaler 会指示工作负载资源(Deployment、StatefulSet 或其他类似资源)缩减。

 可以加压力 kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10最多十台Pod 最少一台 会自动加pod 关闭以后又会自动减少pod  50的意思是平均每个Pod超过50%cpu使用率就新建一个

      还可以基于内存扩缩memory   还有垂直扩缩VPA 水平扩缩比较好(负载均衡 高可用单点故障)

度量值:cpu,网络流量,内存

  • 1.启动速度 2.扩展性--》自动扩缩 3.资源的消耗方面--》节省服务器 速度 价格--》成本 稳定性 可靠性

滚动升级

  • 一个一个去升级,前面的成功了就继续升级后面的 RollingUpdate,即滚动升级
  • 当新Pod准备就绪后,控制器会杀死一个旧版本的Pod,确保任何时候都有足够的健康Pod提供服务。

workloads 工作负载

  1. Deployment
    • 功能:用于声明式更新应用,管理无状态应用的副本。
    • 特点:自动扩展、滚动更新、回滚。
    • 使用场景:适合需要高可用性的无状态服务。
  2. ReplicaSet
    • 功能:保持集群中指定数量的Pod副本。
    • 特点:保证至少有指定数量的Pod始终运行。
    • 使用场景:通常不直接使用,而是作为Deployment的基础组件。
  3. StatefulSet
    • 功能:管理有状态应用的副本,每个Pod具有唯一的持久化身份和持久存储。
    • 特点:保证顺序启动和停止、支持持久化存储。
    • 使用场景:适合数据库、消息队列等需要持久化存储和稳定网络标识的服务。
  4. DaemonSet
    • 功能:确保所有(或某些)节点上运行一个指定的Pod副本。
    • 特点:自动在新节点上运行Pod,确保所有节点上的服务可用。
    • 使用场景:适用于日志收集、监控等需要在集群所有节点上运行的服务。
  5. Job
    • 功能:完成指定任务后自动结束。
    • 特点:确保Pod成功执行完毕,即使Pod失败也会重新启动直到完成。
    • 使用场景:适用于批处理任务、数据迁移等一次性工作。
  6. CronJob
    • 功能:根据预定义的时间表创建Jobs。   特点:定时执行任务。
    • 使用场景:适用于定期执行的任务,如备份、清理等。

pod调度

kubectl label nodes k8s-node-1 sex=pro (打标签)

查看 describe 或者 get node -o  yaml

优先打散  给空闲率最高的分配

FIFO 先进先出 first in first out

kubectl delete pod  $(kubectl get pod |awk 'NR>1{print $1}') 删除所有Pod

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值