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

本文主要是介绍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 数量

当 cpu 降低后 ,hpa 会将 pod 数量维持在最 低的数量

 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升高 ,

这篇关于K8S哲学 - 资源调度 HPA (horizontal pod autoScaler-sync-period)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961669

相关文章

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

90、k8s之secret+configMap

一、secret配置管理 配置管理: 加密配置:保存密码,token,其他敏感信息的k8s资源 应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中容器 1.1、加密配置: secret: [root@master01 ~]# kubectl get secrets ##查看加密配置[root@master01 ~]# kubectl get se

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad

Golang进程权限调度包runtime

关于 runtime 包几个方法: Gosched:让当前线程让出 cpu 以让其它线程运行,它不会挂起当前线程,因此当前线程未来会继续执行GOMAXPROCS:设置最大的可同时使用的 CPU 核数Goexit:退出当前 goroutine(但是defer语句会照常执行)NumGoroutine:返回正在执行和排队的任务总数GOOS:目标操作系统NumCPU:返回当前系统的 CPU 核数量 p

云原生之高性能web服务器学习(持续更新中)

高性能web服务器 1 Web服务器的基础介绍1.1 Web服务介绍1.1.1 Apache介绍1.1.2 Nginx-高性能的 Web 服务端 2 Nginx架构与安装2.1 Nginx概述2.1.1 Nginx 功能介绍2.1.2 基础特性2.1.3 Web 服务相关的功能 2.2 Nginx 架构和进程2.2.1 架构2.2.2 Ngnix进程结构 2.3 Nginx 模块介绍2.4

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python