K8s中HPA自动扩缩容及hml

1.HPA:基于cpu的利用率来动态实现pod数量的自动伸缩,创建的方法一种是yaml文件,一种是命令行(运用比较少);在yaml文件中必须要有资源控制(cpu)的字段才能生效的。

必要条件:

前置必要条件:控制创建,而且必须能设置副本数

配置的必要条件:必须要声明pod的资源控制

HPA依赖环境:metrices-server:收集资源使用数据,给hpa

2.前面讲了手动扩容的方法:对pod的数量进行扩缩容、针对控制器创建的pod、pod的副本数量可以通过静态命令行及yam脚本进行扩缩容

3.部署hpa的依赖环境

三台同步

导入yaml文件到hpa目录下并且运行

vim hpa.yaml

hpa通过名称进行监控控制器

节点查看

扩容和缩容一旦达到阈值会立即扩容;但是缩容的速度会相对较慢;为了保证pod的正常工作,扩容必须要快;缩容的时候为了保证pod的资源突然又变大了,可以继续维持pod的数量,在一定时间内pod占用的资源维持在较低的比率,然后开始慢慢缩容。

二、如何对命名空间进行资源控制

limitRange:只要是创建在这个命名空间的pod,都会根据limitRange的配置来对所有的pod进行统一的资源限制(应用比较少)

四、helm

1.heml:提供了一个模板,可以一键化部署微服务;通过打包的方式,把所有需要的yaml文件集合起来,然后一键部署;可以支持回滚;依赖于k8s

2.heml的三个概念:

Chart:部署安装k8s微服务的模板,类似于linux里面的rpm包

Repository:仓库,用来保存Chart

Release:当我们使用chart部署微服务时,每部署一次就会有一个release可以理解为版本号

3.heml实验:

拖包、解压

自动补齐命令

安装仓库Repository和模板,仓库里面有模板

helm repo add bitnami https://charts.bitnami.com/bitnami

helm repo add stable http://mirror.azure.cn/kubernetes/charts

helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

helm repo add incubator https://charts.helm.sh/incubator

更新当前所有仓库的chart模板

查看仓库个数

查看当前仓库有多少模板

查看chart的详细情况

删除仓库:

自定义仓库

tree nginx/

查看配置有无语法错误

打包

部署:第一次部署release就是版本号1

做映射 vim /etc/hosts 后访问

相关推荐
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS2 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
codeejun2 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
赵文宇(温玉)2 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang2 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
忆~遂愿2 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Thneonl2 天前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、2 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
ChaITSimpleLove2 天前
云原生性能对决:JDK21虚拟线程+GraalVM vs .NET10/11 技术栈深度对比
微服务·云原生·serverless·graalvm native·native aot·runtime async·.net11/java21