我有一个部署在Tomcat服务器下的Spring Boot应用程序,它位于Openshift 4.19(使用Kubernetes 1.19)的POD中。我的目标是将logback配置外部化为configmap,以便我可以根据需要在生产中更改日志级别,而无需重新启动POD。
我使用了以下配置:
配置图
kind: ConfigMap
apiVersion: v1
metadata:
name: logback-configmap
[..]
data:
logback: |
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds">
[...]
部署配置
[...]
spec:
volumes:
- name: logback-configmap-volume
configMap:
name: logback-configmap
items:
- key: logback
path: logback.xml
defaultMode: 420
[..]
volumeMounts:
- name: logback-configmap-volume
mountPath: /deployments/zfaRouter/WEB-INF/classes/logback.xml
subPath: logback.xml
[..]
问题是,上面的配置清除了/deployments/zfaRouter/we B- INF/classes/下的完整目录结构:
sh-4.4$ ls -la /deployments/zfaRouter/WEB-INF/classes/
total 4
drwxr-xr-x. 2 root root 25 May 4 16:35 .
drwxr-xr-x. 3 root root 21 May 4 16:35 ..
-rw-r--r--. 1 root 1015170000 1084 May 4 16:35 logback.xml
我尝试了所有可能的组合(例如,没有子路径元素,没有mountPath中的文件名,没有volumes部分中的items元素),但没有任何运气。从这里和官方Kubernetes文档中可以看出,它应该像上面的配置一样工作。
对这个问题有什么想法吗?
用作装入点的目录会遮蔽所有其他内容,因此它看起来像是覆盖了您期望存在的内容。即使您只想“仅”挂载单个文件,也必须存在挂载点。
对于您的特定方案,您可以装载到其他目录(如 /config
)并将其添加到类路径中,也可以使用子目录(如 /deployments/zfaRouter/WEB-INF/classes/config
)并将其添加到类路径中。
如果您不想更改类路径,您可以将配置文件挂载到f. e./config
并更改您的应用程序启动脚本以将其复制到合适的位置,例如到tomcat类加载器拾取的tomcat共享lib文件夹。
我有一个spring boot应用程序,它有一个应用程序YAML文件(src/main/resources/)。 我想覆盖部署的env部分(k8s)中的整个< code>props列表。在Kubernetes有什么办法吗?
Requirements 运行一个Spark Streaming应用程序,有下面一些步骤 有管理器的集群-这是任何Spark应用程序都需要的需求,详见部署指南 将应用程序打为jar包-你必须编译你的应用程序为jar包。如果你用spark-submit启动应用程序,你不需要将Spark和Spark Streaming打包进这个jar包。 如果你的应用程序用到了高级源(如kafka,flume),你需
我们是否可以在mvn deploy:deploy-file目标的命令行选项中使用。 mvn deploy:deploy-file-dgroupid=abc-dproject.build.finalname=test-dartifactid=test-dversion=1.0-dpackaging=jar-dfile=“file_path”-durl=url-drepositoryid=id` 具体
我的ant-script和Tomcat有问题。我想创建一个ant-scipt,它使用Jenkins在我的tomcat-server上构建、编译和部署我的GWT应用程序。为此,我使用来自catalina(catalina-ant.jar)的undeploy and deploy任务。但是我得到了这个错误: 构建失败d:\jenkins\jobs\homepageTomcat\workspace\BU
我正在研究Terraform以及如何使用它来设置AWS环境。到目前为止,我已经有了用3个公共子网、3个私有子网、一个互联网网关和3个Nat网关设置VPC的脚本。然而,我对如何在私有子网中部署和重新部署应用程序感到困惑? 在我的场景中,我们使用Spring Boot构建微服务。我们的想法是转移到一种状态,在这种状态下,我们可以将弹性负载平衡器连接到公共子网,并在私有子网中的自动缩放组中承载我们的应用
问题内容: 我有我的申请文件。我需要在根级别进行部署。当前网址为 问题答案: 您有两种选择: 中删除现成的目录,并在部署它之前将war文件重命名为。 部署战争(从你的例子),并配置上下文根在使用你的war文件: 第一个比较容易,但是有点混乱。第二种可能是更优雅的方法。 分享改善这个答案