我正在构建一个带有 Fargate 托管节点的 AWS EKS 集群,一切都很好,直到我想从托管在 Harbor 的远程本地 docker 注册表中提取 docker 镜像。 CA 在本地是完全私有的,我认为这可能是一个问题。
作为一种解决方法,我尝试使用由 AWS PCA (来自另一个帐户!) 生成的 SSL 密钥和证书创建一个 Apache 代理。后来定制的 docker pull 端点调用通过这个代理移动(拉)。
我从代理实例以及另一个堡垒主机实例测试了此设置,并且图像通过 Harbor 身份验证(不是来自 EKS)正确提取。
我检查过,在 AWS PCA 中创建的 CA 没有过期(2022 年到期)。
从 AWS EKS 内部,此拉取无法正常工作。我包括错误消息:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning LoggingDisabled 78s fargate-scheduler Disabled logging because aws-logging configmap was not found. configmap "aws-logging" not found
Normal Scheduled 5s fargate-scheduler Successfully assigned <name-of-deployment-here> to fargate-ip-10-155-250-49.eu-central-1.compute.internal
Normal Pulling 2s kubelet Pulling image "<image_name_here>"
Warning Failed 2s kubelet Failed to pull image "<apache-proxy-address>/<docker-repository-address>": rpc error: code = Unknown desc = failed to pull and unpack image "<apache-proxy-address>/<docker-repository-address>": failed to resolve reference "<apache-proxy-address>/<docker-repository-address>: failed to do request: Head https://<apache-proxy-address>/<****>/<docker-repository-address>: x509: certificate signed by unknown authority
Warning Failed 2s kubelet Error: ErrImagePull
Normal BackOff 1s kubelet Back-off pulling image "<apache-proxy-address>/<docker-repository-address>"
Warning Failed 1s kubelet Error: ImagePullBackOff
错误是由:
x509: certificate signed by unknown authority
你们有什么想法吗?
提前致谢!
答案 0 :(得分:1)
目前没有解决此问题的方法。我们必须等待 AWS 从 ACM 私有 CA 在 EKS 中实现私有证书支持。目前,EKS 服务接受的证书必须由一些公共 CA 签署。