K8S哲学 - 资源调度 HPA (horizontal pod autoScaler-sync-period)

kubectl exec:

kubectl exec -it pod-name -c container-name -- /bin/sh

kubectl run 

 

通过一个 deployment来 演示

apiVersion: apps/v1
kind: Deployment
metadata:name: deploylabels: app: deploy
spec: replicas: 1selector: matchLabels:app: deploy-podtemplate:metadata:name: deploy-podlabels:app: deploy-podspec:containers:- name: deploy-conimage: nginxcommand: ["/bin/sh"]args: ["-c", "while true;do wget -q -O http:127.0.0.1 > /dev/null;  done"]livenessProbe:# startupProbe:# readinessProbe:httpGet:path: /index.htmlport: 80successThreshold: 1failureThreshold: 3periodSeconds: 3timeoutSeconds: 5env: -  name: ARGSvalue: hhhhhresources:requests:cpu: 100mmemory: 128Milimits:cpu: 200mmemory: 128MivolumeMounts:# - name: my-volumes#   mountPath: /app- name: my-volumes2mountPath: /app2volumes: - name: my-volumes2hostPath:path: /app2# volumeClaimTemplates:# - metadata: #     name: my-volumes#   spec: #     accessModes: ['ReadWriteOnce']#     resources:#         requests: #           storage: '200Mi'

最小2个node 最大5个

 spec.containers[0].resources 

requests: min

limits: max

执行:

kubectl autoscale deploy deploy --cpu-percent=20 --min=2 --max=5 

my-deploy 创建 HPA

kubectl top 查看  pod 或 node 的占用指标 (metrics) 

表示 pod一旦创建 ,就一直 死循环请求 nginx页面,造成 cpu 升高,让 hpa 自动扩展 pod

数量

超过所限制的 100m 后自动 扩展 pod1 数量

 kubectl exec -it pod-name  -c container-name --/bin/bash 执行这个 pod里面的容器  curl 127.0.0.1查看nginx

但是 如果对 该pod 直接 执行 curl 则无法访问

原因是:

创建一个 service.yaml

重点是kind:service里面  selector 没有 matchLabels 直接写 labels

要和上面的 pod模版里面的 labels 对应上,这样可以 通过 service 实现服务发现

直接 访问 service 的ip 就可访问 pod的 服务,而不用关心pod的ip地址,流量可能打到 任何和 service 绑定的 pod 上面。

类式docker 的 【routing mesh 】思想,

apiVersion: v1
kind: Service
metadata:name: deploy-servicelabels:app: deploy-service
spec: ports: - port: 80targetPort: 80name: deploy-service-podselector: app: deploy-podtype: NodePort

查看 service 与之关联的 pod

这里我用的 是minikube 可以,将 minikube内部ip 和 主机ip 打通

minikube service service-name 

现在 通过 一个死循环的方式 一直 请求这个 servive,让pod的 cpu升高 ,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/6464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Universal Thresholdizer:将多种密码学原语门限化

参考文献: [LS90] Lapidot D, Shamir A. Publicly verifiable non-interactive zero-knowledge proofs[C]//Advances in Cryptology-CRYPTO’90: Proceedings 10. Springer Berlin Heidelberg, 1991: 353-365.[Shoup00] Shoup V. Practical threshold signatures[C…

你不知道的TCP协议:四次握手!

你不知道的TCP协议:四次握手! 前言:我们都知道建立一个tcp连接需要进行三次握手,甚至被问到为什么不是四次握手、两次握手 本文将要介绍tcp协议中的四次握手 正文: 当一个客户端向服务端发起tcp连接请求时&#xf…

YUM源仓库部署

一、YUM仓库服务 1、概述 2、准备安装源 软件仓库的提供方式 YUM软件仓库类型 仓库类型安装路径本地源baseurlfile://…ftp源baseurlftp://…在线源baseurlhttp://… baseurlhttps://… RPM软件包的来源 CentOS发布的RPM包集合第三方组织发布的RPM包集合用户自定义的RPM包…

mac nvm install node<version> error 404

mac m2芯片遇到的问题,估计m系列的应该也有这个问题,在这里记录一下 解决方案: ## 需要先处理一下兼容就OK了arch -x86_64 zsh nvm install returns curl: (22) The requested URL returned error: 404 Issue #2667 nvm-sh/nvm GitHub

【信息系统项目管理师知识点速记】成本管理:制定预算

11.5 制定预算 目的: 制定预算的目的是建立一个经批准的成本基准,汇总项目的所有活动或工作包的成本估算,以便监督和控制项目的绩效。 输入: 项目管理计划: 成本管理计划: 描述如何将项目成本纳入项目预算中。资源管理计划: 提供资源费率、差旅成本估算等信息。范围基…

ue引擎游戏开发笔记(29)——实现第三人称角色随手柄力度进行移动

1.需求分析 角色可以随手柄力量大小进行走路和跑步,不动时保持角色停顿。 2.操作实现 1.思路:通过动画蓝图和动画混合实现角色移动和输入的联系。 2.建立动画蓝图和混合空间: 3.在混合空间中对角色移动进行编辑: 4.在蓝图中设定变…

Nginx(搭建高可用集群)

文章目录 1.基本介绍1.在微服务架构中的位置2.配置前提3.主从模式架构图 2.启动主Nginx和两个Tomcat1.启动linux的tomcat2.启动win的tomcat3.启动主Nginx,进入安装目录 ./sbin/nginx -c nginx.conf4.windows访问 http://look.sunxiansheng.cn:7777/search/cal.jsp 3…

python邮件发送

第一种方式 一:发送的邮件要设置授权码,通过邮箱邮箱授权码去验证,让邮件服务器帮我们去转发邮件到要接收的邮件,代码中的授权码,是需要登录126邮箱(我这里是以126邮件发送的,具体的以自己为准…

Mybatis入门2

本文章是下面文章的扩充 Mybatis入门-CSDN博客文章浏览阅读432次,点赞6次,收藏10次。Mapper接口创建在java代码块中//dao层/*** 功能:查询所有用户数据* return*/https://blog.csdn.net/luosuss/article/details/138420052 映射配置文件 i…

【Python可视化】pyecharts

Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。 需要安…

opencv4.8 系列一Trackbar图像管理

创建亮度 static void on_lightness(int b, void* userdata) {Mat image *((Mat*)userdata);dst Mat::zeros(image.size(), image.type());;m Mat::zeros(image.size(), image.type());addWeighted(image,1.0,m,0,b,dst);imshow("亮度与对比度调整",dst); }创建对…

OceanBase 分布式数据库【信创/国产化】- OceanBase 资源单元的均衡

本心、输入输出、结果 文章目录 OceanBase 分布式数据库【信创/国产化】- OceanBase 资源单元的均衡前言OceanBase 数据更新架构资源单元的均衡多种资源CPU 单一资源的均衡示例多种资源占用率的计算资源单元的分配资源单元的均衡资源单元均衡的控制手动迁移资源单元OceanBase 分…

408数据结构-线索二叉树 自学知识点整理

前置知识:二叉树的概念、性质与存储结构 线索二叉树的基本概念 遍历二叉树是以一定的规则将二叉树中的结点排列成一个线性序列(如中序遍历序列),从而得到几种遍历序列,使得该序列中的每个结点(除了首尾两个…

使用PyTorch从头实现Transformer

前言 本文使用Pytorch从头实现Transformer,原论文Attention is all you need paper,最佳解读博客,学习视频GitHub项目地址Some-Paper-CN。本项目是译者在学习长时间序列预测、CV、NLP和机器学习过程中精读的一些论文,并对其进行了…

acwing算法提高之基础算法--前缀和、差分、二分

目录 1 介绍2 训练 1 介绍 本博客用来记录前缀和、差分、二分相关的题目。 2 训练 题目1&#xff1a;99激光炸弹 C代码如下&#xff0c; #include <cstdio> #include <string> #include <iostream> #include <algorithm>using namespace std;cons…

node.js中path模块-路径处理,语法讲解

node中的path 模块是node.js的基础语法&#xff0c;实际开发中&#xff0c;我们通过使用 path 模块来得到绝对路径&#xff0c;避免因为相对路径带来的找不到资源的问题。 具体来说&#xff1a;Node.js 执行 JS 代码时&#xff0c;代码中的路径都是以终端所在文件夹出发查找相…

JSON.stringify()和JSON.parse()

JSON.stringify() JSON.stringify() 是 JavaScript 中的一个内置方法&#xff0c;用于将一个 JavaScript 值&#xff08;对象或值&#xff09;转换为一个 JSON 字符串。这个方法对于在客户端和服务器之间传输数据特别有用&#xff0c;因为 JSON 是一种轻量级的数据交换格式&am…

Scratch编程和Python编程的区别,孩子更适合哪一种

Scratch编程和Python编程有一些显著的不同之处&#xff1a; Scratch是一种基于可视化编程的编程语言&#xff0c;通过拖拽代码块来构建程序&#xff0c;适合初学者和年龄较小的孩子学习。而Python是一种文本编程语言&#xff0c;需要输入代码来编写程序&#xff0c;更适合有一定…

SpringBoot对接口配置跨域设置

目录 1. 使用 @CrossOrigin 注解 2. 全局跨域配置 2.1. 注意事项 在 Spring Boot 应用中,接口配置跨域(Cross-Origin Resource Sharing,CORS)设置是一个常见的需求,特别是当你的前端应用和后端服务部署在不同的域名下时。 以下是几种设置跨域的方法: 1. 使用 @Cross…

基于Springboot的滑雪场管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的滑雪场管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&a…