
文章插图
3.3 自动伸缩K8S可以通过指标检查工作负载的资源需求 , 例如CPU利用率、响应时长、内存利用率、或者其他 , 从而判断是否需要执行伸缩 , 垂直维度可以是更多的资源分配 , 水平维度可以是更多的集群部署;

文章插图
K8S可以自动伸缩 , 也具备自动修复的能力 , 当节点故障或者应用服务异常时 , 会被检查到 , 可能会进行节点迁移或者重启;
四、应用案例1、服务部署在此前的实践案例中 , 用CLI命令行和脚本文件的方式 , 完成的部署动作 , 而在整个流程中涉及集群的多个组件协作 , 多次的通信和调度;
kubectl create -f pod.yaml 
文章插图
2、交互流程

文章插图
【1】CLI命令行和UI界面 , 都是通过APIserver接口 , 与集群内部组件交互 , 比如上述的Pod部署操作;
【2】在APIserver收到请求之后 , 会将序列化状态的对象写入到etcd中完成存储操作;
【3】Scheduler调度器通过监测(Watch)机制来发现集群中新创建且尚未被调度到节点上的Pod;
【4】在集群中找到一个Pod的所有可调度节点 , 对这些可调度节点打分 , 选出其中得分最高的节点来运行Pod , 然后调度器将这个调度决定通知给APIserver;
【5】APIserver完成信息存储后 , 然后通知相应节点的Kubelet;
【6】Kubelet是基于PodSpec来工作的 , 确保这些PodSpec中描述的容器处于运行状态且运行状况良好 , 每个PodSpec是一个描述Pod的YAML或JSON对象;
【7】Pod是可以在Kubernetes中创建和管理的、最小的可部署的计算单元 , 包括一个或多个容器;
五、参考源码
文档仓库:https://gitee.com/cicadasmile/butte-JAVA-note脚本仓库:https://gitee.com/cicadasmile/butte-auto-parent 【K8S 核心原理分析,你学到了什么?】
推荐阅读
- 揭密Java常用性能调优工具的底层实现原理
- 图像识别是怎么的运行原理?
- 两万字 redis.conf 7.0 配置和原理全解,生产王者必备
- 红外线遥感原理是什么?
- 汽车电路控制板的电子原理是什么?
- 公诉|40集《公诉》今晚开播,9位实力派坐镇,2大核心看点,有爆款潜质
- 地下城与勇士|DNF:15周年庆内容曝光!5大版本核心内容,2项值得期待
- 用ChatGPT搞定K8s!
- golang反射实现原理
- ChatGPT的打字回复效果,原理是什么?我带你们实现!
