Linux企业代理环境下安装operator-sdk失败,如何配置代理?
企业代理环境下operator-sdk安装代理配置方案
前置说明
所有配置中的你的企业代理地址:端口替换为你所在企业实际的代理服务地址与端口,有认证的代理按格式补充账号密码:http://账号:密码@代理地址:端口
1 Go模块代理配置
Go工具链拉取依赖包默认从上游源直接拉取,需配置代理:
- 临时生效(当前终端会话有效):
export GOPROXY=http://你的企业代理地址:端口,direct export GOSUMDB=off export GO111MODULE=on
- 永久生效(写入当前用户环境变量配置):
echo 'export GOPROXY=http://你的企业代理地址:端口,direct' >> ~/.bashrc echo 'export GOSUMDB=off' >> ~/.bashrc echo 'export GO111MODULE=on' >> ~/.bashrc source ~/.bashrc
2 Git代理配置
operator-sdk编译过程会拉取多个Git仓库的依赖,需配置Git全局代理:
git config --global http.proxy http://你的企业代理地址:端口 git config --global https.proxy http://你的企业代理地址:端口
如果存在走SSH协议拉取的依赖,在~/.ssh/config中补充以下配置:
Host github.com User git ProxyCommand nc -X connect -x 你的企业代理地址:端口 %h %p
3 Make执行时代理透传
make命令的子进程默认不会继承当前终端的全部环境变量,执行安装命令时需显式传入代理参数,同时配置NO_PROXY跳过内部地址的代理转发:
HTTP_PROXY=http://你的企业代理地址:端口 \ HTTPS_PROXY=http://你的企业代理地址:端口 \ NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,*.企业内部域名 \ make install
4 验证与重新安装
配置完成后先做基础可用性验证:
# 验证Go依赖拉取能力 go get github.com/spf13/cobra@latest # 验证Git拉取能力 git clone https://github.com/operator-framework/operator-sdk.git --depth=1 /tmp/operator-sdk-test && rm -rf /tmp/operator-sdk-test
验证通过后重新执行安装流程:
cd $GOPATH/src/github.com/operator-framework/operator-sdk make clean make dep # 执行带代理参数的make install命令 HTTP_PROXY=http://你的企业代理地址:端口 \ HTTPS_PROXY=http://你的企业代理地址:端口 \ NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,*.企业内部域名 \ make install
异常排查
如果仍有拉取失败的情况,检查以下配置:
- 代理地址是否可连通,是否有对应域名的访问权限
- 部分企业代理会拦截HTTPS证书,可执行
export GOINSECURE=*跳过Go模块的HTTPS证书校验,Git执行git config --global http.sslVerify false跳过Git的证书校验
内容的提问来源于stack exchange,提问作者user3510445
相关产品推荐
相关产品推荐

