0.7版本
由于vpa代码是使用vender模式,所以在本地调试有点麻烦
1.把github上autoscaler代码下载到$GOPATH下的这里
2.用goland打开autoscaler下的vertical-pod-autoscaler
3.关掉gomod
4.修改下createKubeConfig方法
func createKubeConfig(kubeApiQps float32, kubeApiBurst int) *rest.Config {
var K8sConfig string
if home := homedir.HomeDir(); home != "" {
K8sConfig = filepath.Join(home, ".kube", "config")
} else {
K8sConfig = "config"
}
config, err := clientcmd.BuildConfigFromFlags("", K8sConfig)
if err != nil {
panic(err)
}
config.QPS = kubeApiQps
config.Burst = kubeApiBurst
return config
}
这里还有个问题
由于vpa使用的client-go版本没有下面这个方法,所以我给换成了clien-go1.19版本
clientcmd.BuildConfigFromFlags
直接吧1.19版本的client-go复制到这里了
在启动就能启动成功了
5.本地打包
0.9版本
0.9版本么这么复杂,只需要修改下createKubeConfig方法就好,已经是mod模式