通过部署以下yml文件,我在GoogleCloud中创建了以下持久卷:
apiVersion: v1
kind: PersistentVolume
metadata:
name: staging-filestore
labels:
filestore: standard
spec:
capacity:
storage: 1T
accessModes:
- ReadWriteMany
mountOptions:
- lookupcache=positive #Disables caching to make all writes be sync to the server
nfs:
path: /staging
server: 10.64.16.130
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: staging-filestore-pvc
spec:
selector:
matchLabels:
filestore: standard
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 1T该卷已成功创建并安装在以下服务中:
apiVersion: v1
kind: Service
metadata:
name: demo
labels:
app: demo
vendor: rs
spec:
selector:
app: demo
vendor: rs
ports:
- port: 4010
name: internal
targetPort: 4010
- port: 80
name: external
targetPort: 4010
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
labels:
app: demo
vendor: rs
spec:
selector:
matchLabels:
app: demo
replicas: 1
revisionHistoryLimit: 2
template:
metadata:
labels:
app: demo
vendor: rs
spec:
imagePullSecrets:
- name: dockerhub-secret
containers:
- name: demo
image: rs/demo:latest
imagePullPolicy: Always
resources:
requests:
memory: "1Gi"
limits:
memory: "2Gi"
volumeMounts:
- mountPath: /dumps/heap-dump
name: dumpstorage
readinessProbe:
httpGet:
path: /_health
port: http
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 5
livenessProbe:
httpGet:
path: /_health
port: http
initialDelaySeconds: 25
periodSeconds: 5
failureThreshold: 10
envFrom:
- configMapRef:
name: rs-config
env:
- name: JAVA_TOOL_OPTIONS
value: " -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=\"/dumps/demo-heap-dump\""
ports:
- containerPort: 4010
name: http
volumes:
- name: dumpstorage
persistentVolumeClaim:
claimName: staging-filestore-PVC
readOnly: false我希望当应用程序存储内存溢出错误时生成的堆转储和暂存-filestore-PVC卷。为了测试这一点,我使用-Xmx16m选项将堆大小设置为1MB。应用程序崩溃也会导致吊舱崩溃。我从日志中可以看到,堆转储是创建的:
2022-08-08 15:34:55.767 CESTDumping heap to /dumps/demo-heap-dump ...
2022-08-08 15:34:55.990 CESTHeap dump file created [26757864 bytes in 0.223 secs]我再次使用-Xmx1G选项部署服务yml文件。然后用命令kubectl exec -it demo-77f84d9957-vxrsz -- sh在pod终端中输入,转到/dumps目录中,没有演示堆转储文件。

我很难理解为什么文件不存在,尽管没有抛出错误,日志显示文件是创建的。谢谢你的帮助。
你好,兰多。
发布于 2022-08-09 08:56:44
尝试:
...
env:
- name: JAVA_TOOL_OPTIONS
value: " -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=\"/dumps/heap-dump\"" # <-- update the path
...https://stackoverflow.com/questions/73288939
复制相似问题