无法使用 JKube maven 插件生成 Kubernetes 清单 yaml 文件
Unable to generate Kubernetes manifests yaml files using JKube maven plugin
我正在尝试通过以下命令使用 JKube 生成我的 Kubernetes 清单(deployment.yml
和 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集群。
更新:
显然这是 Eclipse JKube 中的一个错误(eclipse/jkube#624) that wasn't allowing users to configure image name using provided properties in simple Dockerfile mode. This has been fixed in new release v1.2.0。
现在您应该可以使用 jkube.generator.name
配置图像名称了。您无需提供 XML 配置即可覆盖默认图像名称。之前您提供的 XML 配置没有任何导致此 NPE 的 <build>
配置。根据 Kuberntes Maven Plugin Documentation 提供图像 XML 配置时,此字段是必填字段。
配置
我们也将在即将发布的版本中修复此 NPE(eclipse/jkube#618),以便用户在不提供映像构建时可以得到通知
我正在尝试通过以下命令使用 JKube 生成我的 Kubernetes 清单(deployment.yml
和 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集群。
更新:
显然这是 Eclipse JKube 中的一个错误(eclipse/jkube#624) that wasn't allowing users to configure image name using provided properties in simple Dockerfile mode. This has been fixed in new release v1.2.0。
现在您应该可以使用 jkube.generator.name
配置图像名称了。您无需提供 XML 配置即可覆盖默认图像名称。之前您提供的 XML 配置没有任何导致此 NPE 的 <build>
配置。根据 Kuberntes Maven Plugin Documentation 提供图像 XML 配置时,此字段是必填字段。
配置
我们也将在即将发布的版本中修复此 NPE(eclipse/jkube#618),以便用户在不提供映像构建时可以得到通知