克隆repo(标签v1.14.0)到本地机器后;我修改了cmd/kube-apiserver/app/server.go
文件;我添加了一行新代码,这是在K8s代码编译的客户日志条目我在_output/release-images/amd64/
找到了docker图像tar球,我使用docker load -i _output/release-images/amd64/kube-apiserver.tar
它添加了一个新建的apiserver docker图像但是,而不是覆盖标记它创建一个新标签v1.14.0-dirty
现在我的问题是K8s如何以及为什么将dirty
后缀添加到图像标签?现在当我做kubeam初始化时,它仍将使用v1.14.0
标签部署原始图像,并且不会部署具有v1.14.0-dirty
标签的新建图像
我如何使用新建的docker图像启动K8?
一个快速而肮脏的解决方案是添加另一个命令:
docker tag k8s.gcr.io/kube-apiserver:v1.14.0-dirty k8s.gcr.io/kube-apiserver:v1.14.0
这应该为图像创建正确的标签。
当构建器检测到git存储库状态为脏时,可以在tar构建阶段应用dirty
标记。
Kubeadm在/ etc / kubernetes / manifests下为api服务器,控制器,调度程序服务创建清单。
在上面的路径中更新api服务器映像名称,然后删除api服务器pod。