Docker 経由で Ubuntu に Google Cloud Ops Agent をインストールしようとしていますが、いくつか問題が発生しています。
まず、以下を実行すると、一部の GPG 署名を検証できないというエラーが返されます。
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"]
エラー:
#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.
この問題を回避するために、オンラインで見つけたアドバイスに従って、次の内容を追加しました。
RUN apt -y install software-properties-common
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FEEA9169307EA071 8B57C5C2836F4BEB
次の 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"]
その結果、Ops エージェントに対して非推奨の警告apt-key
と「インストールに失敗しました」というエラーが発生します。
#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.
によるとOps エージェント Google ドキュメントUbuntu Impish はサポートされています。Ubuntu をバージョン 21.10 (impish) から 20.04 (focal) に変更しても効果はないようです。
GPG の問題を修正し、Ubuntu に Google Ops Agent をインストールするためのより良い方法についてアドバイスをいただければ幸いです。
答え1
gpg キーをインポートするために必要なパッケージが不足しているため、インポートが失敗し、初期エラーが発生します。
パッケージのインストール行を次の行に置き換えます。
RUN apt-get -y install curl gnupg
ヒント:apt-get
apt はエンド ユーザーが簡単に使用できるように設計されているため、スクリプトでは の代わりにを使用しますapt
。実際の作業は apt-get によって実行されます。
また、apt-key
2 回目の試行で追加したコマンドは Ubuntu サーバーからキーを取得しようとしますが、パッケージは Google サーバーからダウンロードされるため、キーのインポートはそこから実行する必要があります。
ops-agentのインストールスクリプトでは、同様のコマンドが実行されていることがわかりますapt-key
が、ターゲットはapt-key は、次の URL からダウンロードできます。。
したがって、必要なパッケージ (この場合は ) があれば、インストール スクリプトによってキーが自動的にインポートされるため、自分でキーをインポートする必要はありませんgnupg
。