Kubernetes (十七) 资源监控

一. 资源监控                                                                                                             Kubernetes (十七) 资源监控_第1张图片Kubernetes (十七) 资源监控_第2张图片

二. metrics-server资源下载配置                                                                         

     官网:资源下载:https://github.com/kubernetes-incubator/metrics-server      

 wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

      1. 将文件中所需要的镜像路径修改下载并上传到仓库      vim.components.yaml

 docker pull bitnami/metrics-server:0.6.2
 docker tag bitnami/metrics-server:0.6.2 reg.westos.org/library/metrics-server:0.6.2
 docker push reg.westos.org/library/metrics-server:0.6.2

Kubernetes (十七) 资源监控_第3张图片

           2.  添加这个选项

           3.  应用文件后查看是否成功Kubernetes (十七) 资源监控_第4张图片Kubernetes (十七) 资源监控_第5张图片

   部署时可能遇到的错误  Kubernetes (十七) 资源监控_第6张图片Kubernetes (十七) 资源监控_第7张图片Kubernetes (十七) 资源监控_第8张图片Kubernetes (十七) 资源监控_第9张图片Kubernetes (十七) 资源监控_第10张图片

三.dashboard资源下载配置                                                                                          

    官方网址:https://github.com/kubernetes/dashboard                       

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

              1. 将文件中所需要镜像下载并上传到仓库     vim recommended.yaml

docker pull  kubernetesui/metrics-scraper:v1.0.8
docker tag kubernetesui/metrics-scraper:v1.0.8 reg.westos.org/kubernetesui/metrics-scraper:v1.0.8
docker push reg.westos.org/kubernetesui/metrics-scraper:v1.0.8

docker pull kubernetesui/dashboard:v2.7.0

docker tag  kubernetesui/dashboard:v2.7.0 reg.westos.org/kubernetesui/dashboard:v2.7.0
 docker push reg.westos.org/kubernetesui/dashboard:v2.7.0Kubernetes (十七) 资源监控_第11张图片

                2. 应用文件查看是否成功Kubernetes (十七) 资源监控_第12张图片

           

四.hpa工作原理                                                                                                            Kubernetes (十七) 资源监控_第13张图片

HorizontalPodAutoscaler 演练 | KubernetesHorizontalPodAutoscaler(简称 HPA ) 自动更新工作负载资源(例如 Deployment 或者 StatefulSet), 目的是自动扩缩工作负载以满足需求。水平扩缩意味着对增加的负载的响应是部署更多的 Pod。 这与“垂直(Vertical)”扩缩不同,对于 Kubernetes, 垂直扩缩意味着将更多资源(例如:内存或 CPU)分配给已经为工作负载运行的 Pod。如果负载减少,并且 Pod 的数量高于配置的最小值, HorizontalPodAutoscaler 会指示工作负载资源(Deployment、StatefulSet 或其他类似资源)缩减。本文档将引导你完成启用 HorizontalPodAutoscaler 以自动管理示例 Web 应用程序的扩缩的示例。 此示例工作负载是运行一些 PHP 代码的 Apache httpd。准备开始 你必须拥有一个 Kubernetes 的集群,同时你必须配置 kubectl 命令行工具与你的集群通信。 建议在至少有两个不作为控制平面主机的节点的集群上运行本教程。 如果你还没有集群,你可以通过 Minikube 构建一个你自己的集群,或者你可以使用下面的 Kubernetes 练习环境之一:Killercoda 玩转 Kubernetes 你的 Kubernetes 服务器版本必须不低于版本 1.23. 要获知版本信息,请输入 kubectl version. 如果你运行的是旧版本的 Kubernetes,请参阅该版本的文档版本 (可用的文档版本)。按照本演练进行操作,你需要一个部署并配置了 Metrics Server 的集群。 Kubernetes Metrics Server 从集群中的 kubelets 收集资源指标, 并通过 Kubernetes API 公开这些指标, 使用 APIService 添加代表指标读数的新资源。icon-default.png?t=N7T8https://kubernetes.io/zh-cn/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/Kubernetes (十七) 资源监控_第14张图片

                 1. 下载并上传镜像到私有仓库Kubernetes (十七) 资源监控_第15张图片

              2.创建编辑文件       vim hpa.yaml

apiVersion: apps/v1

kind: Deployment

metadata:

  name: php-apache

spec:

  selector:

    matchLabels:

      run: php-apache

  replicas: 1

  template:

    metadata:

      labels:

        run: php-apache

    spec:

      containers:

      - name: php-apache

        image: hpa-example

        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

               3. 创建hpa动态弹缩

kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10Kubernetes (十七) 资源监控_第16张图片

             4. 增加负载  不断给CPU施压Kubernetes (十七) 资源监控_第17张图片

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

   触发hpa扩容pod  此时查看到已经拉伸到8个pod  

Kubernetes (十七) 资源监控_第18张图片

      pod负载上升

                  5. 停止施压 

             ctrl+c  

         此时发现占有CUP会下降Kubernetes (十七) 资源监控_第19张图片

       此时看到仍然没有缩容因为有冷却五分钟

              到时间后在查看已经缩容为1个

     实验完成直接删除pod即可

  多项量度指标          

           修改文件,增加内存指标               

kubectl get hpa php-apache -o yaml > hpa-v2.yamlKubernetes (十七) 资源监控_第20张图片Kubernetes (十七) 资源监控_第21张图片

你可能感兴趣的:(kubernetes,容器,云原生,运维,linux)