Kubernetes学习笔记八:Metrics Server和HPA

阅读: 评论:0

Kubernetes学习笔记八:Metrics Server和HPA

Kubernetes学习笔记八:Metrics Server和HPA

部署metrics server

metrics-server release github地址

wget .3.6/components.yaml

kubectl apply -f components.yaml

遇到问题:Failed to pull image “io/metrics-server-amd64:v0.3.6”: rpc error: code = Unknown desc = Error response from daemon: Get “/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
无法拉取镜像。

一开始我使用的版本是scofield/metrics-server:v0.3.6,v0.3.6无法拉取镜像,然后改成v0.3.7就可以了。

- name: metrics-serverimage: scofield/metrics-server:v0.3.7imagePullPolicy: IfNotPresentargs:- --cert-dir=/tmp- --secure-port=4443- /metrics-server- --kubelet-insecure-tls- --kubelet-preferred-address-types=InternalIP



kubectl get pods -n kube-system|grep metrics
kubectl top nodes

查看metrics-server的日志,有以下报错:
Failed to make webhook authorizer request: the server could not find the requested resource

参考:k8s-v1.22安装metrics-server

在github/metrics server有提到metrics server支持的k8s版本,我使用的是1.23版本,需要使用0.4以上的版本,而我当前使用的是0.3+的版本。在网上找了一遍,将使用的镜像修改为phperall/metrics-server:v0.4.1


修改yaml文件后执行以下命令:
docker pull phperall/metrics-server:v0.4.1
kubectl apply -f components.yaml

换成0.4+镜像后日志打印正常。

可能还会遇到以下问题:

解决方案:
关于本地k8s部署metrics-server的no such host问题

使用效果:
kubectl top pods -n kube-system --sort-by=‘cpu’
根据cpu的使用对Pod进行排序

kubectl top nodes
查看Node的资源使用情况

HPA

定义Deployment和Service。定义quests.cpu是关键。

apiVersion: v1
kind: Service
metadata:name: myngx
spec:ports:- name: myngxport: 3080targetPort: 80selector:app: myngx
---
apiVersion: apps/v1
kind: Deployment
metadata:name: myngx
spec:replicas: 10strategy:rollingUpdate:maxSurge: 40%maxUnavailable: 40%type: RollingUpdateselector:matchLabels:app: myngxtemplate:metadata:labels:app: myngxspec:containers:- image: nginx:1.7.9name: myngxports:- containerPort: 80resources:requests:cpu: 30m

kubectl autoscale deployment myngx --min=1 --max=40 --cpu-percent=20
kubectl get hpa

yum install httpd-tools -y
安装ab测试软件

watch -n 0.5 kubectl get pods
每隔0.5秒监控pod的变化

ab -c 5000 -n 50000 10.99.174.166:3080/
每次并发5000个请求,一共50000个请求。

kubectl top nodes
查看节点的CPU和内存使用情况。

在CPU使用增加时,Pod会自动扩容。CPU使用减少时,Pod会自动缩容。

本文发布于:2024-02-01 13:44:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170676628937022.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:学习笔记   Kubernetes   Metrics   HPA   Server
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23