我使用以下命令在 Openshift 上部署了我的应用程序:
oc project <projectname>
然后我导航到我的应用程序目录并使用以下命令:
mvn fabric8:deploy -Popenshift
这完美地部署到 Openshift。
唯一的问题是它会自动命名我的应用程序,我不确定它是从哪里获得名称的。我想将其更改为 [app-name]-test、[app-name]-dev 等
那么,它从哪里获取应用程序名称以及如何更改它?
我使用以下命令在 Openshift 上部署了我的应用程序:
oc project <projectname>
然后我导航到我的应用程序目录并使用以下命令:
mvn fabric8:deploy -Popenshift
这完美地部署到 Openshift。
唯一的问题是它会自动命名我的应用程序,我不确定它是从哪里获得名称的。我想将其更改为 [app-name]-test、[app-name]-dev 等
那么,它从哪里获取应用程序名称以及如何更改它?
它通常在您的 fabric8 XML配置中 ( pom.xml)。例如:
<configuration>
<!-- Standard d-m-p configuration which defines how images are build, i.e. how the docker.tar is created -->
<images>
<image>
<name>${image.user}/${project.artifactId}:${project.version}</name>
<!-- "alias" is used to correlate to the containers in the pod spec -->
<alias>camel-service</alias>
<build>
<from>fabric8/java</from>
<assembly>
<basedir>/deployments</basedir>
<descriptorRef>artifact-with-dependencies</descriptorRef>
</assembly>
<env>
<JAVA_LIB_DIR>/deployments</JAVA_LIB_DIR>
<JAVA_MAIN_CLASS>org.apache.camel.cdi.Main</JAVA_MAIN_CLASS>
</env>
</build>
</image>
</images>
<!-- resources to be created -->
<resources>
<!-- Labels that are applied to all created objects -->
<labels>
<group>quickstarts</group>
</labels>
<!-- Definition of the ReplicationController / ReplicaSet. Any better name than "containers" ? -->
<deployment>
<!-- Name of the replication controller, which will have a sane default (container alisa, mvn coords, ..) -->
<!-- Override here -->
<name>${project.artifactId}</name>
...
它默认为,${project.artifactId}但你可以用任何你喜欢的东西覆盖${project.artifactId}-dev。您还可以在 Kubernetes 中手动编辑部署:
$ kubectl edit deployment ${project.artifactId}