Estou tentando instalar o Google Cloud Ops Agent no Ubuntu via Docker e estou enfrentando alguns problemas.
Em primeiro lugar, executar o seguinte retorna um erro informando que algumas assinaturas GPG não podem ser verificadas:
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"]
Erro:
#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 contornar isso, seguindo alguns conselhos que encontrei online, adicionei:
RUN apt -y install software-properties-common
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FEEA9169307EA071 8B57C5C2836F4BEB
Me dando o seguinte 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"]
O que resulta em um aviso apt-key
obsoleto e um erro de "falha na instalação" para o 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 acordo comDocumentos do Google do agente de operaçõesUbuntu Impish é suportado. Mudar o Ubuntu da versão 21.10 (travesso) para 20.04 (focal) também não parece ajudar.
Qualquer conselho sobre as melhores maneiras de corrigir o problema do GPG e instalar o Google Ops Agent no Ubuntu seria muito apreciado.
Responder1
Está faltando um pacote necessário para importar a chave gpg, então você recebe o erro inicial porque a importação falha.
Substitua a linha de instalação dos pacotes pelo seguinte:
RUN apt-get -y install curl gnupg
Dica:Use apt-get
em scripts em vez de apt
, já que o apt foi criado para ser fácil de usar para os usuários finais, o trabalho "real" é feito por trás do apt-get.
Além disso, o apt-key
comando que você adicionou na segunda tentativa tenta obter a chave dos servidores Ubuntu, mas o pacote está sendo baixado dos servidores do Google, portanto a importação da chave deve ser feita a partir daí.
Você pode ver no script de instalação do ops-agent que um apt-key
comando semelhante é executado, mas tem como alvohttps://packages.cloud.google.com/apt/doc/apt-key.gpg.
Portanto, você não precisa importar a chave sozinho, pois o script de instalação faz isso para você, desde que você tenha o pacote necessário, neste caso gnupg
.