首页 > 其他分享 >在k8s中,怎么模拟负载,利用HPA进行自动扩缩容的场景?

在k8s中,怎么模拟负载,利用HPA进行自动扩缩容的场景?

时间:2023-03-14 17:46:10浏览次数:45  
标签:负载 php run -- 扩缩容 apache HPA k8s cpu


1、通过下面的定义创建应用的pod

apiVersion: apps/v1
kind: Deployment
metadata:
  name: php-apache
spec:
  selector:
    matchLabels:
      run: php-apache
  template:
    metadata:
      labels:
        run: php-apache
    spec:
      containers:
      - name: php-apache
        image: 172.20.58.152/tools/hpa-example:latest
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: 500m
          requests:
            cpu: 200m
---
apiVersion: v1
kind: Service
metadata:
  name: php-apache
  labels:
    run: php-apache
spec:
  ports:
  - port: 80
  selector:
    run: php-apache

 

 

2、通过下面的服务,模拟负载

 

kubectl run -i --tty load-generator --rm \
  --image=172.20.58.152/middleware/busybox:latest \
  --restart=Never -- /bin/sh -c \
  "while sleep 0.01; do wget -q -O- http://php-apache; done"

 

 

 

 

3、通过下面的命令,查看HPA,应用负载的变化,实例数的变化

kubectl get hpa php-apache --watch

 

 

其中:

 

36%是已经扩容到7个实例之后,每个pod的平均cpu使用率

标签:负载,php,run,--,扩缩容,apache,HPA,k8s,cpu
From: https://www.cnblogs.com/chuanzhang053/p/17215725.html

相关文章

  • 开源免费:分享powershell读写k8s的etcd的脚本库
      powershelletcdreadwriteputgetdelkubernetesk8s读写博客园---【前言】--- 篡改记忆=写入你脑仁,这是一项可怕的技术!它可以很容易把猫的爸爸,篡改成狗狗......
  • K8S部署应用详解
    #前言首先以SpringBoot应用为例介绍一下k8s的发布步骤。1.从代码仓库下载代码,比如GitLab;2.接着是进行打包,比如使用Maven;3.编写Dockerfile文件,把步骤2产生的包制作成镜像......
  • K8s
    k8s安装想用K8s,还得先会Docker吗?其实完全没必要Docker安装和加入K8S安装k8s、docker ......
  • 聊聊如何在K8S中实现会话保持
    前言故事的起因是朋友所在的部门最近基于auth2实现单点登录,他们在测试环境单点登录,运行得好好的,但他们把单点登录上到预发布环境,发现单点登录不好使了。他们有部分系统是......
  • K8S-Helm
    一.helm概述1.1什么是helm在没使用helm之前,向kubernetes部署应用,我们要依次部署deployment、svc等,步骤较繁琐。随着很多项目微服务化,复杂的应用在容器中部署以......
  • 基于Kubernetes(k8s)部署Dubbo+Nacos服务
    一、说明本文介绍基于Kubernetes(k8s)环境集成阿里云私有镜像仓库来部署一套Dubbo+Nacos的微服务系统,并使用KubernetesDNS以及port-forward的方式来打通网络......
  • K8S中HPA详解
    一、HPA解决的问题HPA全称是HorizontalPodAutoscaler,也就是对k8s的workload的副本数进行自动水平扩缩容(scale)机制,也是k8s里使用需求最广泛的一种Autoscaler机制,在开始......
  • Rancher管理K8S
    一、Rancher简介Rancher是一个开源的企业级多集群Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理,以确保集群的安全性,加速企业数......
  • 【云原生】k8s 环境快速部署(一小时以内部署完)
    目录1)基于ansible一键部署k8s流程图2)安装ansible3)下载4)修改配置1、修改节点信息,配置文件:/etc/ansible/hosts2、修改install-k8s/init/templates/hosts5)导镜像5)执行部署6)......
  • K8S 性能优化 - OS sysctl 调优
    前言K8S性能优化系列文章,本文为第一篇:OSsysctl性能优化参数最佳实践。参数一览sysctl调优参数一览#KubernetesSettingsvm.max_map_count=262144kernel.softl......