Par défaut, lorsque ack-onepilot injecte un conteneur d'initialisation dans une application, il utilise la valeur de ONEPILOT_INIT_IMAGE_URL issue du déploiement ack-onepilot (généralement nommé ack-onepilot-ack-onepilot et situé dans le namespace ack-onepilot) comme URL d'image pour ce conteneur. ack-onepilot réécrit automatiquement cette URL en adresse interne au Virtual Private Cloud (VPC), même si vous spécifiez une URL externe au VPC.
Dans la console ACK, choisissez Workloads > Stateless dans le volet de navigation de gauche. Repérez le déploiement ack-onepilot-ack-onepilot et ouvrez ses paramètres de variables d'environnement. La variable ONEPILOT_INIT_IMAGE_URL affiche une valeur semblable à registry-cn-zhangjiakou-vpc.ack.aliyuncs.com/acs/ack-o... (une URL d'image interne au VPC).
Pour empêcher ack-onepilot d'injecter un conteneur d'initialisation utilisant une image interne au VPC, ajoutez la variable d'environnement suivante au déploiement ack-onepilot : NODE_IS_EXTERNAL=true.
Ensuite, supprimez le suffixe -vpc de la variable ONEPILOT_INIT_IMAGE_URL dans le déploiement ack-onepilot. Cette modification permet de télécharger l'image du conteneur d'initialisation depuis un endpoint public, tel que registry-cn-hangzhou.ack.aliyuncs.com/acs/ack-onepilot-init:3.2.5.
Après le redémarrage du déploiement ack-onepilot, les conteneurs d'initialisation des nouvelles applications instrumentées n'ont plus besoin d'accéder au réseau VPC pour télécharger leurs images.