kubernetes - 缺少 maven-kubernetes-plugin 中的“选择器”
问题描述
我正在尝试生成所有 Kubernetes 配置作为项目构建的一部分,但生成的文件不包含服务和部署的“选择器”元素。尽管检查了他们的文档,但我仍然无法弄清楚如何添加它。
这是我的插件配置
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>1.3.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>resource</goal>
</goals>
</execution>
</executions>
<configuration>
<detail>true</detail>
<kubernetesManifest>${project.build.directory}/kubernetes</kubernetesManifest>
<buildStrategy>docker</buildStrategy>
<recreate>true</recreate>
<verbose>true</verbose>
<targetDir>${project.parent.basedir}/generated-kube-configs/${profile}/${project.artifactId}</targetDir>
<images>
<image>
<name>hammadkdar/${project.artifactId}:${project.version}</name>
<build>
<from>openjdk:11-jre-slim</from>
<assembly>
<targetDir>/opt/usr/app</targetDir>
</assembly>
<cmd>java -jar /opt/usr/app/${project.artifactId}-${project.version}.jar</cmd>
<tags>
<tag>${project.version}</tag>
</tags>
<ports>
<port>${port}</port>
</ports>
</build>
</image>
</images>
<resources>
<labels>
<all>
<property>
<name>app</name>
<value>${project.artifactId}</value>
</property>
<property>
<name>version</name>
<value>${project.version}</value>
</property>
</all>
</labels>
<services>
<service>
<name>${project.artifactId}</name>
<type>NodePort</type>
<ports>
<port>
<name>http</name>
<nodePort>${nodePort}</nodePort>
<port>${port}</port>
<targetPort>${port}</targetPort>
<protocol>tcp</protocol>
</port>
</ports>
</service>
</services>
<configMap>
<name>${project.artifactId}</name>
<entries>
<entry>
<name>spring.profiles.active</name>
<value>${profile}</value>
</entry>
<entry>
<file>${project.basedir}/src/main/resources/application-${profile}.properties</file>
</entry>
</entries>
</configMap>
<liveness>
<getUrl>http://${project.artifactId}:${port}/actuator/health</getUrl>
<tcpPort>${port}</tcpPort>
<initialDelaySeconds>20</initialDelaySeconds>
<timeoutSeconds>3</timeoutSeconds>
</liveness>
<readiness>
<getUrl>http://${project.artifactId}:${port}/actuator/health</getUrl>
<tcpPort>${port}</tcpPort>
<initialDelaySeconds>20</initialDelaySeconds>
<timeoutSeconds>3</timeoutSeconds>
</readiness>
</resources>
<enricher>
<excludes>
<exclude>jkube-git</exclude>
<exclude>jkube-maven-issue-mgmt</exclude>
<exclude>jkube-project-label</exclude>
<exclude>jkube-healthcheck-spring-boot</exclude>
</excludes>r
</enricher>
</configuration>
</plugin>
该文档缺少任何名为 selector 的配置值,这里是他们官方页面的链接:在此处输入链接描述
从上面可以看出,我非常接近实现我开始的目标。目前只添加了“资源”目标,但可以添加构建,显然还有其他生成容器,生成 kubernetes yml 配置,然后将容器作为构建的一部分自动推送到某个注册表。
我需要更多的眼睛来搜索,或者插件人可能会遇到这个并分享他们的意见。
解决方案
推荐阅读
- azure - Azure 长期审核日志
- unit-testing - 为什么我的 Karma 单元测试会为没有任何表单的组件中的缺失值访问器抛出错误?
- java - 如何使用 Java 中的方法从类动态创建实例
- java - Java 在数组中查找重复的字符串并添加相应的 int 值
- c# - 为样式应用的ValueConverter设置动态ValueConverter-Parameter
- python - 安装成功后找不到pip包
- javascript - 使用 javascript 和 jquery 的一个功能的多次点击事件。此代码工作正常,但需要一些简单的代码
- mysql - 如何选择所有包含一定数量外键的表?
- java - 当线程改变其状态时会发生上下文切换吗?
- java - JBoss EAP 更新到 7.2.1 后如何处理 WELD-001477?