KubeVirt CI 适配国内网络

  1. 添加 go package 国内代理
  2. 项目根目录的WORKSPACE文件的gcr.io上的镜像换成国内可以访问的镜像。

不加修改,按照KubeVirt getting-started文档执行make && make push && make manifests是会报错的。

原因是国内的网络环境。

最好的方式是让网络环境成为科学的,若因网络限制,只能使用国内的网络环境,至少有两个地方需要修改:

添加 go package 国内代理

hack/bootstrap.shset -e下面加上两行

GO_PROXY="https://goproxy.cn,direct"
go env -w GOPROXY=${GO_PROXY}

项目根目录的WORKSPACE文件的gcr.io上的镜像换成国内可以访问的镜像。

例如release-0.53版本的KubeVirt,只需要修改WORKSPACE下面的一处内容:

# Pull go_image_base
container_pull(
    name = "go_image_base",
    digest = "sha256:f65536ce108fcc41cdcd5cb101006fcb82b9a1527409263feb9e34032f00bda0",
    registry = "gcr.io",
    repository = "distroless/base",
)

因为有大量内容需要访问Github,国内针对github.com没有封掉,但让其有一定的概率访问不了,所以make && make push && make manifests流程即使按上面的修改后还是有一定的失败概率。


转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以邮件至 backendcloud@gmail.com