;我已经修改了cmd/kube-apiserver/app/server.go
文件;我添加了一行新代码,这是自定义日志条目
在K8s代码编译后,我在_output/release-images/amd64/
中找到了docker images tar ball,并使用了docker load -i _output/release-images/amd64/kube-apiserver.tar
它添加了一个新建立的apiserver docker映像,但是没有覆盖它,而是创建了一个新标签v1.14.0-dirty
现在我的问题是 K8如何以及为什么在图像标签上添加dirty
后缀?
现在,当我执行kubeam init时,它仍将部署带有v1.14.0
标签的原始映像,并且不会部署具有v1.14.0-dirty
标签的新建映像
如何使用新建的docker镜像启动K8?
答案 0 :(得分:2)
一种快速而肮脏的解决方案是添加另一个命令:
docker tag k8s.gcr.io/kube-apiserver:v1.14.0-dirty k8s.gcr.io/kube-apiserver:v1.14.0
那应该为图像创建正确的标签。
dirty
标签可以在tar构建阶段应用,因为构建器检测到git仓库状态为 dirty 。
答案 1 :(得分:1)
Kubeadm在/ etc / kubernetes / manifests下为api服务器,控制器,调度程序服务创建清单。
在上述路径中更新api服务器映像名称,然后删除api服务器容器。