K8s编译码头图像的问题

问题描述 投票:0回答:2

克隆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

enter image description here

现在我的问题是K8s如何以及为什么将dirty后缀添加到图像标签?现在当我做kubeam初始化时,它仍将使用v1.14.0标签部署原始图像,并且不会部署具有v1.14.0-dirty标签的新建图像

我如何使用新建的docker图像启动K8?

kubernetes kubeadm kube-apiserver
2个回答
2
投票

一个快速而肮脏的解决方案是添加另一个命令:

docker tag k8s.gcr.io/kube-apiserver:v1.14.0-dirty k8s.gcr.io/kube-apiserver:v1.14.0

这应该为图像创建正确的标签。

当构建器检测到git存储库状态为脏时,可以在tar构建阶段应用dirty标记。


1
投票

Kubeadm在/ etc / kubernetes / manifests下为api服务器,控制器,调度程序服务创建清单。

在上面的路径中更新api服务器映像名称,然后删除api服务器pod。

© www.soinside.com 2019 - 2024. All rights reserved.