问题记录
环境:V1.29.xxx版本 VPA(版本vpa-release-0.12)
V1.29.xxx版本在做VPA(版本vpa-release-0.12)部署和压力测试期间产生的问题并单独记录
问题一:高版本kubernetes crictl拉取镜像失败,docker镜像拉取成功,无法被kubernetes引用
1、拉取VPA源码
git clone -b vpa-release-0.12 https://github.com/kubernetes/autoscaler.git
2、更改核心组件镜像地址
[root@k8s-docker-master vertical-pod-autoscaler]# pwd
/root/autoscaler/vertical-pod-autoscaler
执行如下指令:
sed -i 's/k8s.gcr.io\/autoscaling/k8sgcrioautoscaling/' deploy/admission-controller-deployment.yaml
sed -i 's/k8s.gcr.io\/autoscaling/k8sgcrioautoscaling/' deploy/recommender-deployment.yaml
sed -i 's/k8s.gcr.io\/autoscaling/k8sgcrioautoscaling/' deploy/updater-deployment.yaml
node节点docker拉取的镜像,高版本kubernetes无法直接引用
[root@k8s-docker-node1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
k8sgcrioautoscaling/vpa-admission-controller 0.12.0 f4325d883003 2 years ago 53.9MB
k8sgcrioautoscaling/vpa-updater 0.12.0 61102daa54f3 2 years ago 54.1MB
k8sgcrioautoscaling/vpa-recommender 0.12.0 fe586fbf5e27 2 years ago 54.7MB
3、处理方式:
[root@k8s-docker-node1 ~]# docker save k8sgcrioautoscaling/vpa-admission-controller:0.12.0 -o vpa-admission-controller.tar
[root@k8s-docker-node1 ~]# ll
总用量 162816
-rw-r--r--. 1 root root 1136 1月 16 20:27 1.txt
-rw-------. 1 root root 696 1月 10 17:04 anaconda-ks.cfg
-rw-------. 1 root root 55251968 1月 17 15:19 vpa-admission-controller.tar
-rw-------. 1 root root 56038912 1月 17 15:13 vpa-recommender.tar
-rw-------. 1 root root 55417344 1月 17 15:12 vpa-updater.tar
[root@k8s-docker-node1 ~]# ctr -n k8s.io images import vpa-admission-controller.tar
unpacking docker.io/k8sgcrioautoscaling/vpa-admission-controller:0.12.0 (sha256:0ce016274f4b87645e37d89dd18b9d04a60f8225e09668110af8efe7b727295d)...done
其他俩个同样执行import导入ctr k8s.io namespace让container引用,注意上述三个vpa核心组件yaml内镜像拉取策略默认是always,需要手动改为IfNotPreSent或者Nerver
4、原因:
高版本kubernetes采用的container做得runc搭建集群,docker拉取的镜像因为Daemon的原因导致container无法直接引用镜像启动为pod,可以参考CRI-O+PodMan方案,但pod必须是被副本控制器管理,以免宕机无daemon导致服务无法拉起,出现问题。
问题二:官方拉取的VPA运行vpa-up.sh时会抛Error adding request extensions defined via -addext 异常
1、运行vpa-up.sh启动vpa
[root@k8s-docker-master hack]# pwd
/root/autoscaler/vertical-pod-autoscaler/hack
[root@k8s-docker-master hack]# ll
总用量 60
-rw-r--r--. 1 root root 565 1月 16 17:44 boilerplate.go.txt
-rwxr-xr-x. 1 root root 1810 1月 16 17:44 convert-alpha-objects.sh
-rwxr-xr-x. 1 root root 2032