代码之家  ›  专栏  ›  技术社区  ›  Ghassen

无法使用JKube-maven插件生成Kubernetes清单yaml文件

  •  0
  • Ghassen  · 技术社区  · 4 年前

    我正在尝试生成我的Kubernetes清单( deployment.yml service.yml )使用 JKube 通过此命令: 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集群。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Rohan Kumar    4 年前

    更新 :

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

    现在,您应该能够使用配置图像名称 jkube.generator.name 。您不需要提供XML配置来覆盖默认图像名称。之前您提供的XML配置没有任何 <build> 导致此NPE的配置。根据 Kuberntes Maven Plugin Documentation 在提供图像XML配置时,此字段是必填的。 配置 image configuration docs table

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