vpa垂直伸缩
链接: https://pan.baidu.com/s/1cVmxDJAPrsmZebvxk7NiVg?# 如果不能访问外网,则需要使用代理,10.0.0.1虚拟为交换机ip,端口在vpn上设置。# 这个是vpa绑定上面那个应用,通过收集她的数据,以及自己更新策略,来做出相应动作。# 拉取,如果有设置allow LAN的话按照以下形式拉取,没有的话下载我的。# 测试用的是Off,就是只给建议的资源
·
1. 相关
这个分为几种: kubectl explain vpa.spec.updatePolicy.updateMode Off # 不自动伸缩,但给出推荐值 Initial Recreate InPlaceOrRecreate Auto # 测试用的是Off,就是只给建议的资源大小,不自动更新
2. 导入镜像 vpa.tar.gz
镜像 通过网盘分享的文件:vpa.tar.gz 链接: https://pan.baidu.com/s/1cVmxDJAPrsmZebvxk7NiVg?pwd=eivq 提取码: eivq
ctr -n k8s.io import vpa.tar.gz # 如果没有的话,可以看以下配置,然后拉取相应镜像即可 cd ./autoscaler/vertical-pod-autoscaler/deploy/ admission-controller-deployment.yaml recommender-deployment.yaml updater-deployment.yaml # 主要是版本可能不同 # 拉取,如果有设置allow LAN的话按照以下形式拉取,没有的话下载我的 export https_proxy="http://10.0.0.1:7890";registry.k8s.io/autoscaling/vpa-admission-controller:1.4.1
3. 拉取官方的git
export https_proxy="http://10.0.0.1:7890";git clone https://github.com/kubernetes/autoscaler.git # 如果不能访问外网,则需要使用代理,10.0.0.1虚拟为交换机ip,端口在vpn上设置
4. 使用脚本,部署vpa
cd autoscaler/vertical-pod-autoscaler && ./hack/vpa-up.sh
5. 查看是否成功
kubectl get -n kube-system po [root@k8s-cluster241 metrics]# kubectl get -n kube-system po | grep vpa vpa-admission-controller-5d79d9f956-fkp58 1/1 Running 0 45m vpa-recommender-544df95d65-xmdrm 1/1 Running 0 45m vpa-updater-54ddf66b6d-vfcql 1/1 Running 0 45m
6. 编写测试用的资源清单
#这个是有nginx的一个deploy cat > testVpa.yaml << 'EOF' apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx name: nginx namespace: vpa spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - image: docker.io/jasonyin2020/oldboyedu-games:v0.6 name: nginx resources: requests: cpu: 100m memory: 250Mi EOF
# 这个是vpa绑定上面那个应用,通过收集她的数据,以及自己更新策略,来做出相应动作 cat > vpa.yaml << 'EOF' apiVersion: autoscaling.k8s.io/v1 kind: VerticalPodAutoscaler metadata: name: nginx-vpa namespace: vpa spec: targetRef: apiVersion: "apps/v1" kind: Deployment name: nginx updatePolicy: updateMode: "Off" resourcePolicy: containerPolicies: - containerName: "nginx" minAllowed: cpu: "250m" memory: "100Mi" maxAllowed: cpu: "2000m" memory: "2048Mi" EOF
7. 启用
kubectl apply -f testVpa.yaml kubectl apply -f vpa.yaml
注:关于模式方面
在vpa.yaml中,我们可以看到以下片段 updatePolicy: updateMode: "Off" 以上的Off代表vpa的策略
8. 查看是否成功
kubectl describe -n vpa vpa nginx-vpa [root@k8s-cluster241 metrics]# kubectl describe -n vpa vpa nginx-vpa 。。。 Recommendation: Container Recommendations: Container Name: nginx Lower Bound: Cpu: 250m Memory: 262144k Target: Cpu: 250m Memory: 262144k Uncapped Target: Cpu: 25m Memory: 262144k Upper Bound: Cpu: 537m Memory: 561970914 Events: <none>
更多推荐
所有评论(0)