Binary Authorization - 部署失败 - 被Attestor拒绝。 Attestor无法对GKE中的图像进行签名。
创始人
2024-12-17 23:01:16
0

要解决二进制授权部署失败并出现“被Attestor拒绝。 Attestor无法对GKE中的图像进行签名”的问题,您可以按照以下步骤进行操作:

  1. 确保您在Google Kubernetes Engine(GKE)中正确设置了Binary Authorization。确保您已经为Attestor配置了正确的角色和权限,并且已经配置了正确的签名密钥。

  2. 检查Attestor是否已经启用,并且与GKE集群和图像存储库关联。您可以使用以下命令来检查Attestor的状态:

gcloud container binauthz attestors describe [ATTESTOR_NAME] --project=[PROJECT_ID] --location=[LOCATION]

确保Attestor显示为“ENABLED”,并且在“Policy上”部分中包含正确的集群和存储库。

  1. 检查您要部署的镜像是否已经在Attestor的信任列表中。您可以使用以下命令来列出Attestor的信任列表:
gcloud container binauthz attestors describe [ATTESTOR_NAME] --project=[PROJECT_ID] --location=[LOCATION] --format="value(attestorProperties.resourceUri)"

确保要部署的镜像在这个列表中。

  1. 如果您发现Attestor没有正确配置或没有正确信任镜像,请确保您按照GKE文档中的指南正确配置Attestor和信任。

  2. 如果您使用的是自定义Attestor并且遇到签名密钥问题,您可以尝试重新生成签名密钥并将其与Attestor关联。您可以使用以下命令来重新生成签名密钥:

gcloud container binauthz attestors update [ATTESTOR_NAME] --project=[PROJECT_ID] --location=[LOCATION] --note-project=[PROJECT_ID] --note-id=[NOTE_ID]

确保将[ATTESTOR_NAME]替换为您的Attestor的名称,[PROJECT_ID]替换为您的项目ID,[LOCATION]替换为Attestor的位置,[NOTE_ID]替换为您的注释ID。

  1. 如果您仍然遇到问题,请检查二进制授权的审计日志以获取更多详细信息。您可以使用以下命令来查看审计日志:
gcloud logging read "resource.type=audited_resource AND logName:cloudaudit.googleapis.com%2Factivity" --project=[PROJECT_ID] --format="table(timestamp,protoPayload.methodName,protoPayload.resourceName)"

确保将[PROJECT_ID]替换为您的项目ID。

通过按照以上步骤检查和调整配置,您应该能够解决Binary Authorization部署失败并出现“被Attestor拒绝。 Attestor无法对GKE中的图像进行签名”的问题。

相关内容

热门资讯

Android Recycle... 要在Android RecyclerView中实现滑动卡片效果,可以按照以下步骤进行操作:首先,在项...
安装apache-beam==... 出现此错误可能是因为用户的Python版本太低,而apache-beam==2.34.0需要更高的P...
Android - 无法确定任... 这个错误通常发生在Android项目中,表示编译Debug版本的Java代码时出现了依赖关系问题。下...
Android - NDK 预... 在Android NDK的构建过程中,LOCAL_SRC_FILES只能包含一个项目。如果需要在ND...
Akka生成Actor问题 在Akka框架中,可以使用ActorSystem对象生成Actor。但是,当我们在Actor类中尝试...
Agora-RTC-React... 出现这个错误原因是因为在 React 组件中使用,import AgoraRTC from “ago...
Alertmanager在pr... 首先,在Prometheus配置文件中,确保Alertmanager URL已正确配置。例如:ale...
Aksnginxdomainb... 在AKS集群中,可以使用Nginx代理服务器实现根据域名进行路由。以下是具体步骤:部署Nginx i...
AddSingleton在.N... 在C#中创建Singleton对象通常是通过私有构造函数和静态属性来实现,例如:public cla...
Alertmanager中的基... Alertmanager中可以使用repeat_interval选项指定在一个告警重复发送前必须等待...