哪家网站建设做的好网页游戏开发需要学什么

news/2025/9/23 0:51:56/文章来源:
哪家网站建设做的好,网页游戏开发需要学什么,安徽建设厅网站网址,在线看网站源码Horizontal Pod Autoscaling in Kubernetes写在前面我们平时部署web服务#xff0c;当服务压力大撑不住的时候#xff0c;我们会加机器(加钱)#xff1b;一般没有上容器编排是手动加的#xff0c;临时加的机器#xff0c;临时部署的服务还要改Nginx的配置#xff0c;最后…Horizontal Pod Autoscaling in Kubernetes写在前面我们平时部署web服务当服务压力大撑不住的时候我们会加机器(加钱)一般没有上容器编排是手动加的临时加的机器临时部署的服务还要改Nginx的配置最后回收机器的时候也是手动回收手动修改Nginx的挺麻烦的其实而K8s是支持这整个流程的自动化的也就是HPA;HPA介绍HPA全称Horizontal Pod Autoscaler 对应中文叫Pod的自动水平伸缩Pod的水平伸缩是水平方向增加/减少Pod的数量Pod的垂直伸缩则是垂直方向上控制Pod的硬件比如增加/缩减CPU、内存等资源k8s的HPA一般会根据一个具体的指标来做比如常见CPU、内存的负载也可以根据web服务的吞吐量、单位时间内的传输字节数等另外还可以根据自定义的指标比如RabbitMQ的队列数量、Webhook等我这里先讲讲怎么根据CPU、内存的负载来做HPA;HPA实操环境$ kubectl versionClient Version: version.Info{Major:1, Minor:22, GitVersion:v1.22.5Server Version: version.Info{Major:1, Minor:22, GitVersion:v1.22.5$ kubectl get nodeNAME             STATUS   ROLES                  AGE    VERSION docker-desktop   Ready    control-plane,master   177d   v1.22.5检查获取指标是否正常是否安装了metrics-serverHPA是需要获取具体的指标做伸缩的, metrics-server是提供指标的$ kubectl  get pod -n kube-system|grep   metrics-server metrics-server-5d78c4b4f5-x5c46          1/1     Running   2 (3d12h ago)       10d是否正常获取指标$ kubectl  top node  docker-desktop   133m         0%     2671Mi          16%如果没有的需先安装metrics-server安装metrics-server下载yamlwget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml修改yamlspec:containers:- args:- --cert-dir/tmp- --secure-port4443- --kubelet-preferred-address-typesInternalIP,ExternalIP,Hostname- --kubelet-use-node-status-port- --metric-resolution15s- --kubelet-insecure-tls #加上这个不推荐生产这样用#image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1 #这个镜像需要梯子image: registry.cn-hangzhou.aliyuncs.com/chenby/metrics-server:v0.6.1 #换成网友阿里云的镜像imagePullPolicy: IfNotPresent提交yamlkubectl apply -f  components.yaml  -n kube-system再验证kubectl  get pod -n kube-system|grep   metrics-serverkubectl  top node部署一个测试的Pod(Webapi)创建一个hpa-api.yaml的文件内容如下apiVersion: apps/v1 kind: Deployment metadata:name: hpa-api spec:selector:matchLabels:app: hpa-apireplicas: 1template:metadata:labels:app: hpa-apispec:containers:- name: hpa-apiimage: gebiwangshushu/hei-ocelot-api:1.0 #这是我写其他文章上传的镜像代码https://github.com/gebiWangshushu/Hei.Ocelot.ApiGateway/blob/master/Hei.Api/Controllers/WeatherForecastController.csports:- containerPort: 80resources:requests:cpu: 1000mmemory: 100Mi# limits:#   cpu: 100m#   memory: 100Mi --- apiVersion: v1 kind: Service metadata:name: hpa-apilabels:app: hpa-api spec:ports:- port: 80nodePort: 30999type: NodePortselector:app: hpa-apikubectl apply -f hpa-api.yaml这里创建了一个测试的webapi所用镜像是gebiwangshushu/hei-ocelot-api:1.0源码在这这个Deployment的副本数是1资源requests为cpu: 1000m         memory: 100Mi并且创建了一个nodePort:30999 类型的Service访问看看image-20221008112122162172.16.6.90 是我自己k8s集群的地址测试的webapi部署好了我们来给他创建一个HPA(HorizontalPodAutoscaler);创建HPA--HorizontalPodAutoscaler查看当前HPA支持版本$ kubectl api-versions|grep autoscaling autoscaling/v1 autoscaling/v2beta1 autoscaling/v2beta2autoscaling/v1:  只支持基于CPU的自动伸缩autoscaling/v2beta1 支持Resource Metrics资源指标如pod的CPU和Custom Metrics自定义指标的缩放。autoscaling/v2beta2支持Resource Metrics资源指标如pod的CPU和Custom Metrics自定义指标和ExternalMetrics额外指标的缩放。创建一个HPA.yaml的文件内容如下apiVersion: autoscaling/v2beta2  kind: HorizontalPodAutoscaler metadata:name: hpa-api spec:scaleTargetRef:apiVersion: apps/v1kind: Deployment  #针对Deployment做伸缩name: hpa-api minReplicas: 1   #最小副本数maxReplicas: 10  #最大副本数metrics: - type: Resource resource:name: cpu target:type: Utilization  #Utilization 使用率做指标averageUtilization: 50 #CPU平均使用率超requests要求的cpu的50%时开始做扩容#type: averageValue #averageValue: 30  #使用平均值averageValue平均值 做指标type: Utilization   #Utilization 表示用使用率作为指标此外还有Value 或 AverageValueaverageUtilization:  50  表示CPU平均使用率超requests要求的cpu的50%时开始做扩容apiVersion: autoscaling/v2beta2  autoscaling的版本不同版本的字段和支持的指标不一样;当然这里的apiVersion: autoscaling/v2beta2 支持还支持很多参数例如metrics: - type: Resource resource:name: cpu target:type: UtilizationaverageUtilization: 60 #CPU平均负载超requests60%时开始做扩容# - type: Resource#   resource:#     name: cpu #     target:#       type: AverageValue #       averageValue: 500m # - type: Pods #Pods类型的指标#   pods:#     metric:#       name: packets-per-second#     target:#       type: AverageValue#       averageValue: 1k# - type: Object#   object:#     metric:#       name: requests-per-second#     describedObject:#       apiVersion: networking.k8s.io/v1#       kind: Ingress#       name: main-route#     target:#       type: Value#       value: 10k# behavior: #控制伸缩行为速率的#   scaleDown: #     policies: #支持多个策略#     - type: Pods #       value: 4 #       periodSeconds: 60  #60秒内#最多缩容4个pod#     - type: Percent#       value: 300  #       periodSeconds: 60 #60秒内#最多缩容300%#     selectPolicy: Min#     stabilizationWindowSeconds: 300 #   scaleUp: #     policies: #     - type: Pods#       value: 5 #       periodSeconds: 60 #60秒内#最多缩容5个pod#     # - type: Percent#     #   value: 100  #最多扩容100%#     #   periodSeconds: 60 #60秒内#     selectPolicy: Max#     stabilizationWindowSeconds: 0metrics中的type字段有四种类型的值Object、Pods、Resource、External。Resource指的是当前伸缩对象下的pod的cpu和memory指标只支持Utilization和AverageValue类型的目标值。Object指的是指定k8s内部对象的指标数据需要第三方adapter提供只支持Value和AverageValue类型的目标值。Pods指的是伸缩对象statefulSet、replicaController、replicaSet底下的Pods的指标数据需要第三方的adapter提供并且只允许AverageValue类型的目标值。External指的是k8s外部的指标(比如prometheus)数据同样需要第三方的adapter提供只支持Value和AverageValue类型的目标值。另外还有自定义指标等需要1.23及以上版本才支持了创建HPA资源kubectl apply -f HPA.yaml查看HPA$ kubectl get hpaNAMESPACE    NAME      REFERENCE            TARGETS   MINPODS   MAXPODS   REPLICAS   AGE aspnetcore   hpa-api   Deployment/hpa-api   0%/50%    1         10        1          8d验证hpa开启watch监控模式$ kubectl get hpa --watch NAME      REFERENCE            TARGETS   MINPODS   MAXPODS   REPLICAS   AGE hpa-api   Deployment/hpa-api   0%/50%    1         10        1          8d ...  #阻塞监听状态用ab压测工具压一下ab -n 200000 -c 10 http://172.16.6.90:30999/user没安装的自己搜索安装下这里的 -n请求个数-c : 请求并发数查看资源使用情况$ kubectl top po NAME                      CPU(cores)   MEMORY(bytes) hpa-api-88ddc5c49-2vgjd   1m           301Mi hpa-api-88ddc5c49-4h5pz   1m           300Mi hpa-api-88ddc5c49-8c8d2   1m           340Mi hpa-api-88ddc5c49-8hmnm   1m           300Mi hpa-api-88ddc5c49-cgxm9   1m           23Mi hpa-api-88ddc5c49-tdrc6   1m           23Mi扩容情况kubectl get hpa --watch NAME      REFERENCE            TARGETS   MINPODS   MAXPODS   REPLICAS   AGE hpa-api   Deployment/hpa-api   0%/50%    1         10        1          8d hpa-api   Deployment/hpa-api   262%/50%   1         10        1          8d hpa-api   Deployment/hpa-api   33%/50%    1         10        4          8d hpa-api   Deployment/hpa-api   0%/50%     1         10        6          8d  #这里请求结束了伸容过程$ kubectl describe hpa hpa-apiName:                                                  hpa-api ... Reference:                                             Deployment/hpa-api Metrics:                                               ( current / target )resource cpu on pods  (as a percentage of request):  262% (2628m) / 50%  #这里资源直接远超1000m的50%,达到了262% (2628m) Deployment pods:                                       1 current / 4 desired .. Deployment pods:                                       1 current / 4 desired Conditions:Type            Status  Reason            Message----            ------  ------            -------AbleToScale     True    SucceededRescale  the HPA controller was able to update the target scale to 4ScalingActive   True    ValidMetricFound  the HPA was able to successfully calculate a replica count from cpu resource utilization (percentage of request)ScalingLimited  True    ScaleUpLimit      the desired replica count is increasing faster than the maximum scale rateEvents:Type    Reason             Age   From                       Message----    ------             ----  ----                       -------Normal  SuccessfulRescale  39s   horizontal-pod-autoscaler  New size: 4; reason: cpu resource utilization (percentage of request) above target #扩容到4个Normal  SuccessfulRescale  3m11s  horizontal-pod-autoscaler  New size: 6; reason: All metrics below target #扩容到6个一旦 CPU 利用率降至 0HPA 会自动将副本数缩减为 1;扩容详情HPA 控制器基于 Master 的 kube-controller-manager 服务启动参数 --horizontal-pod-autoscaler-sync-period 定义的探测周期默认值为 15s 周期性地监测目标 Pod 的资源性能指标 并与 HPA 资源对象中的扩缩容条件进行对比 在满足条件时对 Pod 副本数量进行调整。在每个时间段内控制器管理器都会根据每个 HorizontalPodAutoscaler 定义中指定的指标查询资源利用率。控制器管理器找到由 scaleTargetRef 定义的目标资源然后根据目标资源的 .spec.selector 标签选择 Pod 并从资源指标 API针对每个 Pod 的资源指标或自定义指标获取指标 API适用于所有其他指标。对于按 Pod 统计的资源指标如 CPU控制器从资源指标 API 中获取每一个 HorizontalPodAutoscaler 指定的 Pod 的度量值如果设置了目标使用率 控制器获取每个 Pod 中的容器资源使用 情况 并计算资源使用率。如果设置了 target 值将直接使用原始数据不再计算百分比。接下来控制器根据平均的资源使用率或原始值计算出扩缩的比例进而计算出目标副本数。需要注意的是如果 Pod 某些容器不支持资源采集那么控制器将不会使用该 Pod 的 CPU 使用率。如果 Pod 使用自定义指示控制器机制与资源指标类似区别在于自定义指标只使用 原始值而不是使用率。如果 Pod 使用对象指标和外部指标每个指标描述一个对象信息。这个指标将直接根据目标设定值相比较并生成一个上面提到的扩缩比例。在 autoscaling/v2beta2 版本 API 中这个指标也可以根据 Pod 数量平分后再计算。HorizontalPodAutoscaler 的常见用途是将其配置为从metrics.k8s.io、custom.metrics.k8s.io 或 external.metrics.k8s.io获取指标。metrics.k8s.io API 就是我们前面安装Metrics Server 的插件扩容算法期望副本数  ceil[当前副本数 * (当前指标 / 期望指标)]例如如果当前指标值为 200m而期望值为 100m则副本数将加倍 因为 200.0 / 100.0 2.0 如果当前值为 50m则副本数将减半 因为 50.0 / 100.0 0.5。如果比率足够接近 1.0在全局可配置的容差范围内默认为 0.1 则控制平面会跳过扩缩操作。套入上面的实例期望副本数  ceil[ 1 * (262% / 50%)]  6类似本实例的示意图img可以看到这里的指标是针对所有pod的总结k8s的东西太多只学了点皮毛有个基本的概念就赶紧记下来k8s集群版本、HPA的版本的不同又有很多限制与字段的区别需要后面更多的实践与学习[参考]https://kubernetes.io/zh-cn/docs/tasks/run-application/horizontal-pod-autoscale/#algorithm-detailshttps://blog.51cto.com/smbands/4903843https://kubernetes.io/zh-cn/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v2beta2/https://www.cnblogs.com/fanggege/p/12299923.html

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

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

相关文章

泰兴网站设计河南网站推广多少钱

眼中有细节,学习的过程才能平稳! 1.游戏更新时把名字也更新 代码如下: 效果如下: 2.因为是第三人称,从背后看,所以名称应该水平对称,翻转一下!rotate y180 游戏内效果如下&#xf…

互联网创业就是做网站吗局域网做网站

openchatai/OpenCopilot Stars: 3.8k License: MIT OpenCopilot 是一个允许你拥有自己产品的 AI 副驾驶员的项目。它集成了产品底层 API,并可以在需要时执行 API 调用。它使用 LLMs 来确定用户请求是否需要调用 API 端点,然后决定调用哪个端点并根据给定…

建设医院网站的重点与难点在于专业网站设计开发网站

项目背景 最近停在门前的车被人开走了,虽然有监控,但是看监控太麻烦了,于是想着框选一个区域用yolov8直接检测闯入到这个区域的所有目标,这样1ms一帧,很快就可以跑完一天的视频 用到的技术 COpenCVYolov8 OnnxRunt…

网站开发获客渠道做企业网站备案都需要什么资料

文章目录 前言一、题意描述输入描述:输出描述: 二、代码1.代码的实现2.读入数据 总结 前言 在python基础知识的学习中,我们很多时候会遇见让我们把数字拆分成各个位数的题,下面这道就是经典的数字拆分的l例题 一、题意 描述 牛…

学网站建设设计要钱吗wordpress wampsever

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数 -e 格式如下: echo -e "\033[字背景颜…

优质外贸网站海南美容网站建设

letconst解构赋值字符串数组函数对象SymbolSetWeakSetMapWeakMapProxyreflectProxy与Reflex结合实例classpromiseiteratorGerneratorDecorators模块学习资料 let /* let 声明变量 *//* es6相对于es5的全局和局部作用域,多了一个块作用域,块作用域里声明的…

修改备案网站信息广东外贸网站定制

Domain-Oriented Knowledge Transfer for Cross-Domain Recommendation IEEE(CCF B.SCI 1)-Guoshuai Zhao, Xiaolong Zhang, Hao Tang, Jialie Shen, and Xueming Qian-2024 思路 在CDR中,构建连接两个域的桥梁是实现跨域推荐的基础。然而现在的CDR方法往往在连接两个域时忽…

聊城网站开发个人网页传奇世界翅膀升级

来源:机器人圈概要:AI可以帮助人们预测就业市场接下来的变动,发现(并满足)新的培训劳动力的需求,以此缓冲它自身及其他因素造成的影响。人们对人工智能(AI)抱有极高的期待&#xff0…

做网站与运营一般多少钱专业定制网站开发公司

Vuex 是什么 Vuex有几个属性及作用注意事项vuex 使用举例Vuex3和Vuex4有哪些区别 创建 Store 的方式在组件中使用 Store辅助函数的用法响应式的改进Vuex4 支持多例模式 Vuex 是什么 Vuex是一个专门为Vue.js应用设计的状态管理构架,它统一管理和维护各个Vue组件的可…

网站备案中商城服务性质是什么个人能进行网站开发

文章目录 前言一、版本要求1. SpringBoot版本2. 其他2.1 System Requirements2.2 Servlet Containers2.3 GraalVM Native Images 3. 版本定型 二、新建工程1.IDEA创建 ( 推荐 ) \color{#00FF00}{(推荐)} (推荐)2. 官方创建 三、第一个SpringBoot程序1. 引入web2. 启动类3. 启动…

如何查看网站模板广州营销网站建设

文件不到70kb,加载非常快 无配置,没有详情页,上传就可以直接使用 使用教程:上传到网站template目录并解压、进入网站后台选择模板 注意:默认调用ID为1的数据和扩展分类,建议新建站使用 源码下载&#xf…

电子商务网站开发的流程图网站设计哪家比较好

现如今,计算机科学、人工智能、数据科学已成为技术发展的主要推动力。无论是要翻阅这些领域的文章,还是要参与相关任务,你马上就会遇到一些拦路虎:想过滤垃圾邮件,不具备概率论中的贝叶斯思维恐怕不行;想试…

网站布局模式wordpress 百度网盘插件

目标 探索特征工程和多项式回归,使用线性回归来拟合非常复杂甚至非线性的函数。 1.为什么线性回归能拟合非线性函数? fxw*xb,属于线性回归的扩展,这个公式在数学中不属于线性,因为有x,而在机器学习中属于…

什么网站可以免费做试卷网站后台查找软件

github上的开源项目,看介绍可以将设计ui图片转换为 HTML 和 CSS 源码地址: GitCode - 开发者的代码家园 我的mac安装了2.7和3.11,就用3吧直接上代码 安装 pip3 install keras tensorflow pillow h5py jupyter 报错 ERROR: Could not in…

网站建设juxinghulian营销推广平台都干什么的

或者HMster开启后几秒消失问题解决 报错如图: 首先jps命令查看当前运行的内容有没有HMaster,如果没有,开启一下hbase,稍微等一会儿,再看一下HMaster,如果仍和下图一样没有,就基本找到问题了 本人问题原因:hbase-site…

杭州制作网站的公司视频怎么到wordpress

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

基本的网站建设知识全国网站联盟

8 Linux实操篇-用户管理 文章目录 8 Linux实操篇-用户管理8.1 添加用户8.2 指定/修改密码8.3 删除用户8.4 切换用户8.5 查询用户信息/查看用户8.6 用户组8.7 用户和组相关文件 学习视频来自于B站【小白入门 通俗易懂】2021韩顺平 一周学会Linux。可能会用到的资料有如下所示&am…

网站制作 手机版长春紧急通知

1.面向过程和面向对象(面向对象三大特性:封装 继承 多态)面向对象编程:分析解决问题组成的对象,从中抽象出类,调用方法(协调对象间的联系与通信),解决问题.面向过程编程:分析解决问题的步骤,实现函数,一次调用2类和对象:类和对象是面向对象的核心类:具有相同特征和行为的事物的…

商城网站建设哪家好asp.net 知名网站

Excel双向柱状图在绘制增减比较的时候经常用到,叫法繁多,双向柱状图、上下柱状图、增减柱状图都有。 这里主要介绍一下Excel的基础绘制方法和复杂一点的双向柱状图的绘制 基础双向柱状图的绘制 首先升降的数据如下: 月份上升下降20220359-…

遵义市和城乡建设局网站网站建设规划设计方案

1、漏洞理解 点击劫持(Click Jacking)是一种视觉上的欺骗手段,攻击者通过使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,通过调整iframe页面的位置,可以使得伪造的页面…