文章目录

  • 7. k8s弹性伸缩
    • 7.1 安装heapster监控
      • 7.1.1 上传并导入镜像,打标签
      • 7.1.2 master节点上传heapster配置文件
      • 7.1.3 打开dashboard验证是否监控
    • 7.2 弹性伸缩
      • 7.2.1 修改rc的配置文件
      • 7.2.2 创建弹性伸缩规则
      • 7.2.3 压力测试
      • 7.2.4 导出hpa配置

7. k8s弹性伸缩

k8s弹性伸缩,需要附加插件heapster监控

  • 使用heapster监控

    • heapster通过apiserver查询节点信息
    • heapster向node节点cadvisor获取监控数据
    • heapster将数据写入influxdb数据库中
    • grafana冲数据库中取出数据进行出图
    • dashboard调用grafana的图进行展示

7.1 安装heapster监控

7.1.1 上传并导入镜像,打标签

ls *.tar.gz
for n in `ls *.tar.gz`;do docker load -i $n ;donedocker tag docker.io/kubernetes/heapster_grafana:v2.6.0 10.0.0.11:5000/heapster_grafana:v2.6.0
docker tag  docker.io/kubernetes/heapster_influxdb:v0.5 10.0.0.11:5000/heapster_influxdb:v0.5
docker tag docker.io/kubernetes/heapster:canary 10.0.0.11:5000/heapster:canary

7.1.2 master节点上传heapster配置文件

修改配置文件:
#heapster-controller.yamlspec:nodeName: 10.0.0.13containers:- name: heapsterimage: 10.0.0.11:5000/heapster:canaryimagePullPolicy: IfNotPresent#influxdb-grafana-controller.yamlspec:nodeName: 10.0.0.13containers:全部创建
kubectl create -f .[root@k8s-master monitor]# kubectl get pod -n kube-system
NAME                                           READY     STATUS    RESTARTS   AGE
heapster-mnd99                                 1/1       Running   0          17s
influxdb-grafana-p2vhh                         2/2       Running   0          17s
kube-dns-32943122-3jv34                        4/4       Running   4          5h
kubernetes-dashboard-latest-3467346521-jlx3v   1/1       Running   1          3h

7.1.3 打开dashboard验证是否监控

[root@k8s-master monitor]# systemctl restart kube-apiserver.service

7.2 弹性伸缩

7.2.1 修改rc的配置文件

[root@k8s-master deployment]# cat k8s_deploy.yml
apiVersion: extensions/v1beta1          #扩展版的
kind: Deployment                #资源类型
metadata:                               #资源属性name: nginx-deployment        #资源的名称
spec:replicas: 3                   #副本数minReadySeconds: 60   #滚动升级间隔template:metadata:           #模板labels:app: nginx              #容器的标签spec:containers:- name: nginx             #容器的名称image: 10.0.0.11:5000/nginx:1.13        #容器所使用的镜像ports:- containerPort: 80             #容器对外开放的端口resources:                      #资源限制limits:                       #最大cpu: 100m           #cpu时间片requests:                     #最小cpu: 100m创建deployment资源
kubectl create  -f k8s_deploy.yaml创建service资源
kubectl expose deployment nginx-deployment --port=80 --target-port=80 --type=NodePort--port:指定service端口
--target-port:指定容器端口
--type:指定的服务类型,默认clusterip

7.2.2 创建弹性伸缩规则

创建hpa资源
[root@k8s-master deployment]# kubectl autoscale deployment nginx-deployment --max=10 --min=1 --cpu-percent=5
deployment "nginx-deployment" autoscaled--max:最多扩容到多少台
--min:最少缩容到多少台
--cpu-percent:cpu使用率达到百分之十进行扩容

7.2.3 压力测试

[root@k8s-master deployment]# yum install httpd-tools.x86_64 [root@k8s-node-2 ~]# ab -n 1000000 -c 20 http://10.0.0.12:16410/index.html





7.2.4 导出hpa配置

kubectl get horizontalpodautoscaler --output=yaml

k8s弹性伸缩与heapster监控相关推荐

  1. k8s mysql 弹性_kubernetes云平台管理实战:k8s弹性伸缩(十八)

    一.什么是弹性伸缩 Horizontal Pod Autoscaler的操作对象是Replication Controller.ReplicaSet或Deployment对应的Pod,根据观察到的CP ...

  2. k8s 弹性伸缩的使用

    1.手动扩缩容 编辑一个yaml文件 vi deployment-nginx.yaml apiVersion: apps/v1 kind: Deployment metadata:lables:app ...

  3. Kubernetes大集群怎么管?基于监控的弹性伸缩方法

    导语: 我们通常使用Prometheus来对Kubernetes运行情况进行监控.并根据监控数据来扩容或者缩容.通常的扩/缩容都是根据内存或者CPU的使用,但是很多时候我们扩/缩容的依据通常是业务监控 ...

  4. K8S实战集训第一课 Ansible自动化部署k8s、弹性伸缩、Helm包管理、k8s网络模型介绍

    Ansible自动化部署K8S集群 一.Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部 ...

  5. Kubernetes弹性伸缩与监控

    kubernetes的弹性伸缩 kubernetes 监控 cadvisor kubernetes内置监控系统 为了解决docker stats的问题(存储.展示),谷歌开源的cadvisor诞生了, ...

  6. Kubernetes(k8s)的弹性伸缩

    1.什么是K8s的弹性伸缩? 答:Hpa(全称叫做Horizontal Pod Autoscaler),Horizontal Pod Autoscaler的操作对象是Replication Contr ...

  7. 混合云K8s容器化应用弹性伸缩实战

    简介:混合云K8s容器化应用弹性伸缩实战 1. 前提条件 本最佳实践的软件环境要求如下: 应用环境: ①容器服务ACK基于专有云V3.10.0版本. ②公共云云企业网服务CEN. ③公共云弹性伸缩组服 ...

  8. 深入玩转K8S之智能化的业务弹性伸缩和滚动更新操作

    在上篇我们讲到了较为傻瓜初级的弹性伸缩和滚动更新,那么接下来我们来看看较为高级的智能的滚动更新.本节的知识点呢是K8S的liveness和readiness探测,也就是说利用健康检查来做更为智能化的弹 ...

  9. 运维实操——kubernetes(十九)k8s中部署Prometheus、监控nginx、HPA自动伸缩

    k8s中部署Prometheus.监控nginx.HPA自动伸缩 1.什么是Prometheus? 2.k8s中部署Prometheus监控 3.prometheus监控nginx 4.基于prome ...

最新文章

  1. 如何在 Kaggle 首战中进入前 10%(转)
  2. 基于MATLAB的costas载波同步+gardner时间同步,QPSK调制
  3. ElementUI dialog弹框 退出时重置表单数据
  4. matlab中对伺服电机,基于Matlab的伺服电机Modbus通讯研究
  5. Javascript 面向对象编程
  6. java面试准备之---Struts2体系知识点,系统复习,struts2原理,ognl,el支持.---随时更新
  7. ES6学习(四)—字符串的新增方法
  8. down perm什么意思_没想到“羽绒服”竟叫down coat!为啥有个down?
  9. URL,URLConnection,HttPURLConnection的使用
  10. 数据结构与算法实验题 4.2 Who is the strongest
  11. 步入restful之前先了解一下localStorage
  12. 总结---JavaScript数组
  13. segy地震数据的读取python_SEGY地震数据格式分析与读写
  14. layoutit+Bootstrap html页面布局+CSS
  15. PAIP VCF通讯录的乱码以及导入导出
  16. Ubuntu 更改系统语言
  17. 有消息队列的地方,就有英特尔傲腾持久内存
  18. 计算机校本培训 培训总结,校本培训工作总结(2015—2016学年度)
  19. 火车采集器V9入门之网址采集 实例讲解
  20. opencv实现眼动检测【胡子哥哥】

热门文章

  1. 将字符串数组转换为字符串类型
  2. 基于‘纯洁的微笑’开源项目 — Favorites 源码分析
  3. JS 函数的执行时机
  4. 网络安全-木马入侵windows -msfvenom反弹shell(CMD)
  5. Socket 保证长连接的两种方式
  6. 2017年第21届德国杜塞尔多夫国际包装机械、包装及糖果机械展览会会刊(参展商名录)
  7. BUZ-缓存/状态管理
  8. 超声波明渠流量计测流系统
  9. 华硕ASUS F81 se win7 声卡(RealTek HDAudio) 杂音 解决办法
  10. AOP是什么?如何使用AOP?