Ich versuche, Google Cloud Ops Agent über Docker auf Ubuntu zu installieren und stoße auf einige Probleme.
Erstens gibt das Ausführen des Folgenden einen Fehler zurück, der besagt, dass einige GPG-Signaturen nicht verifiziert werden können:
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"]
Fehler:
#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.
Um dies zu umgehen, habe ich einige Ratschläge befolgt, die ich online gefunden habe:
RUN apt -y install software-properties-common
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FEEA9169307EA071 8B57C5C2836F4BEB
Gibt mir das folgende 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"]
Dies führt zu einer veralteten Warnung apt-key
und einem „Installation fehlgeschlagen“-Fehler für 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.
EntsprechendOps Agent Google DokumenteUbuntu Impish wird unterstützt. Das Ändern von Ubuntu von Version 21.10 (impish) auf 20.04 (focal) scheint auch nicht zu helfen.
Ich bin für jeden Ratschlag dankbar, mit dem sich das GPG-Problem besser beheben und Google Ops Agent unter Ubuntu installieren lässt.
Antwort1
Ihnen fehlt ein zum Importieren des GPG-Schlüssels erforderliches Paket, sodass Sie zunächst den Fehler erhalten, weil der Import fehlschlägt.
Ersetzen Sie die Paketinstallationszeile durch Folgendes:
RUN apt-get -y install curl gnupg
Tipp:Verwenden Sie es apt-get
in Skripten anstelle von apt
, da apt für Endbenutzer einfach zu verwenden sein soll und die „eigentliche“ Arbeit im Hintergrund von apt-get erledigt wird.
Außerdem apt-key
versucht der Befehl, den Sie bei Ihrem zweiten Versuch hinzugefügt haben, den Schlüssel von Ubuntu-Servern abzurufen, aber das Paket wird von Google-Servern heruntergeladen, sodass der Schlüsselimport von dort erfolgen sollte.
Sie können im Installationsskript für ops-agent sehen, dass ein ähnlicher apt-key
Befehl ausgeführt wird, der jedoch aufhttps://packages.cloud.google.com/apt/doc/apt-key.gpg.
Sie müssen den Schlüssel also nicht selbst importieren, da das Installationsskript dies für Sie erledigt, vorausgesetzt, Sie haben in diesem Fall das erforderliche Paket gnupg
.