- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在努力从 kubernetes 读取 xml 文件。我正在运行一个开放的自由服务器和一个 Maven 打包的 war 应用程序。我需要对 Java 代码进行哪些更改才能从 kubernetes 读取文件。
这里的问题是代码从 war 文件内的资源文件夹中读取 pdp.xml,而不是从外部的 kubernetes 卷中读取。
我的 configMap 看起来像这样
kind: ConfigMap
apiVersion: v1
metadata:
name: testing-config
data:
pdp.xml: |
<pdp xmlns="http://authzforce.github.io/core/xmlns/pdp/7"
xmlns:att="za.co.some.data"
xmlns:xacml="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"
version="7.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</pdp>
这是带有卷的 yaml 文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: testing-app
labels:
app: testing-app
spec:
replicas: 1
selector:
matchLabels:
app: testing-app
template:
metadata:
labels:
app: testing-app
spec:
containers:
- name: testing-app
image: testing-app:1.0.24-SNAPSHOT
imagePullPolicy: Always
volumeMounts:
- name: testing-app-volume
mountPath: /config/pdp.xml
subPath: pdp.xml
readOnly: true
volumes:
- name: testing-app-volume
configMap:
name: testing-app-config
restartPolicy: Always
我不太了解 Java,但这是我读取文件的方式。
Resource resource = new ClassPathResource("pdp.xml");
InputStream cfgFile = null;
byte[] buffer = null;
try {
cfgFile = resource.getInputStream();
buffer = new byte[cfgFile.available()];
} catch (IOException e) {
log.error(ERROR_MESSAGE);
throw new IllegalStateException(ERROR_MESSAGE);
}
这是容器内的文件夹结构
最佳答案
非常简单。只需从安装文件的同一位置读取该文件即可:/config/pdp.xml
。
所以,在你的代码中:
Resource resource = new ClassPathResource("/config/pdp.xml");
InputStream cfgFile = null;
byte[] buffer = null;
try {
cfgFile = resource.getInputStream();
buffer = new byte[cfgFile.available()];
} catch (IOException e) {
log.error(ERROR_MESSAGE);
throw new IllegalStateException(ERROR_MESSAGE);
}
...或将其安装到应用程序正在读取的目录:挂载路径:/liberty/usr/servers/defaultServer/pdp.xml
关于java - 使用 configMap 和 Volumes 从 kubernetes 读取配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61361117/
docker volume 命令中使用的两个标志之间的确切区别是什么 -v和 --volumes-from .在我看来,他们正在做同样的工作,请考虑以下场景。 首先让我们创建一个名为 myvol 的卷
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我正在尝试创建一个 docker 容器,该容器具有一个应包含多个文件夹的外部卷,因此我的 Dockerfile 简化版本如下所示: FROM ubuntu:12.04 # Create a volum
我正在使用打开 Kubernetes 选项的 docker 应用程序运行 mac OSX Catalina。我使用以下 yaml 和命令创建了一个 PersistentVolume。 apiVersi
我看到了 docker-compose 模式,但我很困惑。制作组合容器的最佳方法是什么。什么时候应该使用 link 或 volumes_from。我什么时候应该使用 volumes_from, vol
我对创建 docker volume create my-vol 之间的区别感到困惑。和 VOLUME ["/var/www"] . 我的理解是: 1) docker volume create my
要在 Kubernetes POD 中使用存储,我可以使用 volumes和 persistent volumes .而卷像emptyDir是短暂的,我可以使用 hostPath以及许多其他基于云的卷
使用 btrfs 驱动程序在 RHEL 7.1 上运行 docker v1.10.1。我有一个单独的 xfs 分区,我想在其中挂载数据卷。我宁愿让 docker 本地管理卷(即使用 docker vo
我想在我的 docker-compose 文件中设置一个标志,如果我不需要我的数据库卷是否不会在容器外持久化,但我仍然想要一个卷条目,如果我的数据库很小那么我不希望它执着于外。 最佳答案 您可以使用两
我是 Kubernetes 的新手,我很难理解 Kubernetes 中持久存储背后的整个想法。 这就足够了吗,或者我必须创建持久卷,如果我只部署这两个对象而不创建 PV 会发生什么情况? 存储应该在
我正在研究 kubeflow 管道以及管道的不同组件如何相互链接。为此,我使用了官方 GitHub 存储库中提供的 MNIST 项目示例。但我无法理解以下代码片段中 vop.volume 和 mnis
我正在尝试设置 Dockerfile将我的主机目录挂载到我指定的 docker 容器目录(因此代码更改将立即反射(reflect)出来)。当我运行 docker run -p 3000:3000 -d
我有一个使用 docker-compose 在 Ubuntu 服务器上运行的 Jira 实例。 我最初通过将 jira 安装文件夹映射到名为 jiravolume 的 docker 卷来设置它。 vo
如何检测在 iOS/Android 上是否按下了 + 或 - 按钮? 最佳答案 我认为它对 iOS 有帮助.. - (void)viewWillAppear:(BOOL)animated {
我是 Docker 的新手。我在 Windows 10 企业版 上运行,并尝试将在 Windows 上运行的现有应用容器化(因此它是一个 Windows 容器)。我不知道这是否重要,但容器相当大 (8
我已经断断续续地搜索文档、邮件列表几天了,但似乎找不到答案。 我有一个 OS X 应用程序,除其他外,它可以使用 kAudioDevicePropertyVolumeScalar 等查询可用的硬件设备
了解了docker(在Ubuntu 18.04 LTE(仿生)上),特别是关于管理持久数据的知识,我发现docker volumes。 按照那里的示例,我尝试将一些文件添加到卷中,然后从容器中列出它们
在这段代码中,如果Volume>10mil,我开始将体积添加到Cumulative Volume,我们在蜡烛下面创建一条线,一直延伸到当前条,因此Volume>10mil,我们创建一条线,Cumvol
这个问题在这里已经有了答案: Kubernetes NFS Persistent Volumes - multiple claims on same volume? Claim stuck in p
使用 docker-compose synthax v2,我们能够做这样的事情: version: '2' services: app: image: tianon/true vo
我是一名优秀的程序员,十分优秀!