ack-onepilot在为应用注入init-container时,默认会使用ack-onepilot Deployment(通常部署在ack-onepilot命名空间,Deployment名称一般叫做ack-onepilot-ack-onepilot)的ONEPILOT_INIT_IMAGE_URL作为init-container的镜像地址。同时在默认情况下,即使您在ONEPILOT_INIT_IMAGE_URL中填写了一个非VPC的镜像地址,ack-onepilot也会自动将该镜像地址改为VPC内网镜像地址。
如果您不希望ack-onepilot注入VPC内网镜像的init-container,可以在ack-onepilot的Deployment上添加如下环境变量:NODE_IS_EXTERNAL=true
。
然后,再将ack-onepilot的Deployment下ONEPILOT_INIT_IMAGE_URL中的-vpc
后缀去除,从而去拉取公网的init-container镜像,例如:registry-cn-hangzhou.ack.aliyuncs.com/acs/ack-onepilot-init:3.2.5
。
待ack-onepilot Deployment重启完毕后,新接入的应用挂载的init-container使用的镜像地址就不需要通过VPC网络拉取了。