0

在本地裸机 kubernetes 集群中运行 SCDF。能够从公共和私有 docker 注册表(在 hub.docker.com)注册和运行任务应用程序。我重新标记图像并将其推送到私有本地注册表。但是当我现在注册它们时,SCDF 无法读取应用程序属性的图像元数据标签。该应用程序在使用本地注册表的 imagePullSecret 的集群中运行良好。SCDF 日志有以下错误:

2022-01-23 02:04:25.850  WARN 1 --- [nio-8080-exec-4] ApplicationConfigurationMetadataResolver : Failed to retrieve properties for resource Docker Resource [docker:172.16.16.51:5000/timestamp-task:v1] because of ContainerRegistryException: Could not find an Registry Configuration for: 172.16.16.51:5000

我根据私有注册表的文档做了以下操作。

  1. 为本地注册表创建一个秘密:

    kubectl create secret docker-registry myregcred --docker-server=172.16.16.51:5000 --docker-username=<reguser> --docker-password=<regpwd> --docker-email=<email>

  2. 将密钥作为文件挂载到 SCDF 容器。我验证了 myregcred 的秘密已安装。SCDF pod 中的 /etc/secrets/myregcred 目录具有密钥文件 .dockerconfigjson

  3. 通过提供注册表配置覆盖禁用 SSL 验证(因为注册表是自签名的)

      ...
      container:
        registry-configurations:
          myregistry:
            disable-ssl-verification: true
            registry-hostname: 172.16.16.51:5000
      ...
    
  4. 使用 URI 在 SCDF 仪表板 UI 中注册应用程序:

     docker:172.16.16.51:5000/timestamp-task:v1
    

我了解注册表配置是由 SCDF 基于已安装的机密推断的。所以不知道为什么我会收到这个错误。相同的秘密 myregcred 被用作 imagePullSecret 并且图像从本地注册表中提取并且应用程序运行良好。欣赏任何想法。谢谢。

4

0 回答 0