网站开发专业就业好不好,品牌设计公司排名品牌形象广告,深圳网站设计成功柚米,百度识图网页入口作者#xff1a;justmine头条号#xff1a;大数据达摩院微信公众号#xff1a;大数据处理系统创作不易#xff0c;在满足创作共用版权协议的基础上可以转载#xff0c;但请以超链接形式注明出处。为了方便大家阅读#xff0c;可以关注头条号或微信公众号#xff0c;后续… 作者justmine头条号大数据达摩院微信公众号大数据处理系统创作不易在满足创作共用版权协议的基础上可以转载但请以超链接形式注明出处。为了方便大家阅读可以关注头条号或微信公众号后续所有的文章将在移动端首发想学习更多云原生知识请关注我。前言k8s已经成为了容器管理和编排的标准当应用容器化到K8S后如何根据服务器资源自动伸缩应用以应对任何的突发流量。请考虑如何实现以下应用场景当服务器高负载时自动扩容应用服务运行数量当服务器低负载时自动缩减应用服务运行数量以实现“合适规模”的应用部署从而更好地利用集群资源。本篇就来演示K8S如何实现上面的场景。准备工作安装metrics-server项目地址https://github.com/kubernetes-sigs/metrics-serverKubernetes Metrics Server 是集群中资源使用情况数据的聚合器。下载wget https://github.com/kubernetes-sigs/metrics-server/archive/v0.3.6.tar.gz tar -xzf v0.3.6.tar.gz;部署# Kubernetes 1.7$ kubectl create -f metrics-server-0.3.6/deploy/1.7/# Kubernetes 1.8$ kubectl create -f metrics-server-0.3.6/deploy/1.8/验证kubectl get deployment metrics-server -n kube-system演示1、创建一个简单的 Apache Web 服务器应用程序kubectl run httpd --imagehttpd --requestscpu100m --limitscpu200m --expose --port80向此Apache Web服务器Pod提供100 millicpu和200 MB内存并在端口80上提供服务。2、为 httpd 部署创建 Horizontal Pod Autoscaler 资源。kubectl autoscale deployment httpd --cpu-percent50 --min1 --max10为Apache Web服务器创建50%CPU利用率的Autoscaler并设置伸缩参数如下min(下限)1当平均CPU负载低于50%时Autoscaler尝试减少部署中的Pod数量最低1个。max(上限)10当平均CPU负载大于50%时Autoscaler尝试增加部署中的Pod数量最高10个。查看Autoscaler详细信息如下命令kubectl describe hpa/httpd3、模拟高负载向Apache Web服务器并发50万请求命令如下kubectl run apache-bench -i --tty --rm --imagehttpd -- ab -n 500000 -c 1000 http://httpd.default.svc.cluster.local/输出4、查看Apache Web服务器整个自动伸缩过程kubectl get horizontalpodautoscaler.autoscaling/httpd --watch从上面可以看出当服务器高负载时Pod数量从1扩容到了10当服务器低负载时Pod数量从10又缩减到了1这就是K8S的水平伸缩过程也是K8S相对于传统部署方式的突出优势。总结本篇演示了K8S的水平伸缩这种伸缩方式非常适合于无状态服务那么问题来了如下如何伸缩有状态服务呢答案使用K8S的垂直伸缩器。当K8S集群资源不够如何进行集群级别的伸缩呢答案使用K8S的集群伸缩器。欲知后事如何请关注下回演示。工欲善其事必先利其器K8S还有很多超能力想学习更多K8S知识及相关实践可以关注我。参考https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscalehttps://github.com/kubernetes/community/blob/master/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.mdhttps://docs.aws.amazon.com/zh_cn/eks/latest/userguide/horizontal-pod-autoscaler.html