2

我正在尝试通过以下命令使用JKubedeployment.yml生成我的 Kubernetes 清单(和service.yml) :mvn k8s:resource

但我收到了这个错误:

[INFO] Scanning for projects...
[INFO] 
[INFO] -------------------< io.social.carpooling:trips-api >-------------------
[INFO] Building trips-api 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- kubernetes-maven-plugin:1.1.1:resource (default-cli) @ trips-api ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.979 s
[INFO] Finished at: 2021-03-18T19:11:24+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.eclipse.jkube:kubernetes-maven-plugin:1.1.1:resource (default-cli) on project trips-api: Execution default-cli of goal org.eclipse.jkube:kubernetes-maven-plugin:1.1.1:resource failed.: NullPointerException -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

这是我的pom.xml样子:

<properties>
        ...
        <jkube.version>1.1.1</jkube.version>
        <jkube.generator.name>my-dockerhub-username/${project.artifactId}:${project.version}</jkube.generator.name>
        ...
</properties>
...
<plugin>
            <groupId>org.eclipse.jkube</groupId>
            <artifactId>kubernetes-maven-plugin</artifactId>
            <version>${jkube.version}</version>
            <configuration>
                <images>
                    <image>
                        <name>my-dockerhub-username/${project.artifactId}:${project.version}</name>
                    </image>
                </images>
            </configuration>
 </plugin>

我尝试使用插件文档获取更多详细信息,但没有找到太多。有没有人成功生成 yaml 文件并部署到 Kubernetes 集群。

4

1 回答 1

1

更新

显然这是 Eclipse JKube ( eclipse/jkube#624 ) 中的一个错误,它不允许用户在简单的 Dockerfile 模式下使用提供的属性来配置图像名称。这已在新版本v1.2.0中得到修复。

现在您应该可以使用jkube.generator.name. 您无需提供 XML 配置即可覆盖默认图像名称。之前您提供的 XML 配置没有任何<build>导致此 NPE 的配置。根据Kuberntes Maven 插件文档,在提供图像 XML 配置时,此字段是必需的。配置 图像配置文档表

我们也将在即将发布的版本中修复此 NPE(eclipse/jkube#618),以便在用户不提供映像构建时得到通知

于 2021-03-21T10:02:57.903 回答