如何制作 KubeVirt 的 Docker 镜像并更新?

作者: 王炳明 分类: 云计算教程 发布时间: 2021-07-23 17:51 热度:3,419

1. 下载代码

使用 docker images 查看镜像版本,也即源代码的版本

以 virt-api 为例 ,tag 打的是 0.40.0-1

如何制作 KubeVirt 的 Docker 镜像并更新?

去 kubevirt 的 gtihub 仓库上切换到对应的 Tag :https://github.com/kubevirt/kubevirt/tree/v0.40.0,下载源代码到机器上并解压

如何制作 KubeVirt 的 Docker 镜像并更新?

2. 编译代码

进行解压过后项目根目录,执行如下命令编译

# 设置代理
go env -w GOPROXY=https://goproxy.cn,direct

# 编译代码 go build cmd/virt-api/virt-api.go

编译完成后,会在项目根目录下生成一个 virt-api 的可执行文件

3. 制作镜像

在集群中有 virt-api 镜像的节点上(一般是 worker 节点)新建 Dockerfile

FROM registry.suse.com/harvester-beta/virt-api:0.40.0-1
COPY virt-api /usr/bin/virt-api

然后把上面编译好的 virt-api 也放到与 Dockerfile 同级目录,执行如下命令

docker build -t egistry.suse.com/harvester-beta/virt-api:0.40.0-2

执行完成后,docker images 就会看到刚刚制作的 0.40.0-2 的镜像。

4. 更新 Pod

然后使用如下命令,更新 virt-api pod 所使用的 image,对应的 Pod 就会自动重启。

$  kubectl patch pod virt-api-775dd874f5-rjclv -n harvester-system  -p '{"spec":{"containers":[{"name":"virt-api","image":"registry.suse.com/harvester-beta/virt-api:0.40.0-2"}]}}'

文章有帮助,请作者喝杯咖啡?

发表评论