
Estoy intentando instalar Google Cloud Ops Agent en Ubuntu a través de Docker y tengo un par de problemas.
En primer lugar, ejecutar lo siguiente devuelve un error que indica que algunas firmas GPG no se pueden verificar:
FROM ubuntu:impish
RUN apt update
RUN apt -y install curl
RUN curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh && bash add-google-cloud-ops-agent-repo.sh --also-install --verbose
CMD ["tail", "/dev/null"]
Error:
#6 20.71 Hit:1 http://ports.ubuntu.com/ubuntu-ports impish InRelease
#6 21.00 Hit:2 http://ports.ubuntu.com/ubuntu-ports impish-updates InRelease
#6 21.00 Get:3 https://packages.cloud.google.com/apt google-cloud-ops-agent-impish-all InRelease [5474 B]
#6 21.09 Err:3 https://packages.cloud.google.com/apt google-cloud-ops-agent-impish-all InRelease
#6 21.09 The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FEEA9169307EA071 NO_PUBKEY 8B57C5C2836F4BEB
#6 21.33 Hit:4 http://ports.ubuntu.com/ubuntu-ports impish-backports InRelease
#6 21.64 Hit:5 http://ports.ubuntu.com/ubuntu-ports impish-security InRelease
#6 21.72 Reading package lists...
#6 22.12 W: GPG error: https://packages.cloud.google.com/apt google-cloud-ops-agent-impish-all InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FEEA9169307EA071 NO_PUBKEY 8B57C5C2836F4BEB
#6 22.12 E: The repository 'https://packages.cloud.google.com/apt google-cloud-ops-agent-impish-all InRelease' is not signed.
Para solucionar esto, siguiendo algunos consejos que encontré en línea, agregué:
RUN apt -y install software-properties-common
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FEEA9169307EA071 8B57C5C2836F4BEB
Dándome el siguiente Dockerfile:
FROM ubuntu:impish
RUN apt update
RUN apt -y install software-properties-common curl
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FEEA9169307EA071 8B57C5C2836F4BEB
RUN curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh && bash add-google-cloud-ops-agent-repo.sh --also-install --verbose
CMD ["tail", "/dev/null"]
Lo que da como resultado una advertencia que apt-key
está en desuso y un error de "error de instalación" para Ops Agent:
#7 7.659 E: Unable to locate package google-cloud-ops-agent
#7 7.659 + fail 'google-cloud-ops-agent installation failed.'
#7 7.660 ++ date +%Y-%m-%dT%H:%M:%S%z
#7 7.661 + echo '[2022-05-02T20:40:14+0000] google-cloud-ops-agent installation failed.'
#7 7.661 [2022-05-02T20:40:14+0000] google-cloud-ops-agent installation failed.
De acuerdo aAgente de operaciones Documentos de GoogleSe admite Ubuntu Impish. Cambiar Ubuntu de la versión 21.10 (traviesa) a 20.04 (focal) tampoco parece ayudar.
Se agradecería mucho cualquier consejo sobre mejores formas de solucionar el problema de GPG e instalar Google Ops Agent en Ubuntu.
Respuesta1
Le falta un paquete necesario para importar la clave gpg, por lo que obtiene el error inicial porque falla la importación.
Reemplace la línea de instalación de paquetes con lo siguiente:
RUN apt-get -y install curl gnupg
Consejo:Úselo apt-get
en scripts en lugar de apt
, ya que apt está destinado a ser fácil de usar para los usuarios finales, el trabajo "real" lo realiza apt-get.
Además, el apt-key
comando que agregó en su segundo intento intenta obtener la clave de los servidores de Ubuntu, pero el paquete se descarga de los servidores de Google, por lo que la importación de la clave debe realizarse desde allí.
Puede ver en el script de instalación de ops-agent que apt-key
se ejecuta un comando similar pero tiene como objetivohttps://packages.cloud.google.com/apt/doc/apt-key.gpg.
Por lo tanto, no necesita importar la clave usted mismo ya que el script de instalación lo hace por usted, dado que tiene el paquete requerido, en este caso gnupg
.