write access error for mounted volume on kubernetes

允我心安 提交于 2020-05-15 21:31:25

问题


When we were deploying active-mq in azure kubernetes service(aks), where active-mq data folder mounted on azure managed disk as a persistent volume claim. Below is the yaml used for deployment. ActiveMQ Image used: rmohr/activemq Kubernetes Version: v1.15.7

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: activemqcontainer
spec:
  replicas: 1
  selector:
    matchLabels:
        app: activemqcontainer
  template:
    metadata:
      labels:
        app: activemqcontainer
    spec:
      securityContext:
        runAsUser: 1000
        fsGroup: 2000
        runAsNonRoot: false
      containers:
      - name: web
        image: azureregistry.azurecr.io/rmohractivemq
        imagePullPolicy: IfNotPresent
        ports:
          - containerPort: 61616
        volumeMounts:
        -  mountPath: /opt/activemq/data
            subPath: data
            name: volume
        - mountPath: /opt/apache-activemq-5.15.6/conf/activemq.xml
          name: config-xml
          subPath: activemq.xml
      imagePullSecrets:
      - name: secret
      volumes:
      - name: config-xml
        configMap:
            name: active-mq-xml
      - name: volume
        persistentVolumeClaim:
            claimName: azure-managed-disk
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: azure-managed-disk
spec:
  accessModes:
  - ReadWriteOnce
  storageClassName: managed-premium
  resources:
    requests:
      storage: 100Gi

Getting below error.

WARN | Failed startup of context o.e.j.w.WebAppContext@517566b{/admin,file:/opt/apache-activemq-5.15.6/webapps/admin/,null}
java.lang.IllegalStateException: Parent for temp dir not configured correctly: writeable=false
        at org.eclipse.jetty.webapp.WebInfConfiguration.makeTempDirectory(WebInfConfiguration.java:336)[jetty-all-9.2.25.v20180606.jar:9.2.25.v20180606]
        at org.eclipse.jetty.webapp.WebInfConfiguration.resolveTempDirectory(WebInfConfiguration.java:304)[jetty-all-9.2.25.v20180606.jar:9.2.25.v20180606]
        at org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(WebInfConfiguration.java:69)[jetty-all-9.2.25.v20180606.jar:9.2.25.v20180606]
        at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:468)[jetty-all-9.2.25.v20180606.jar:9.2.25.v20180606]
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:504)[jetty-all-9.2.25.v20180606.jar:9.2.25.v20180606]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[jetty-all-9.2.25.v20180606.jar:9.2.25.v20180606]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)[jetty-all-9.2.25.v20180606.jar:9.2.25.v20180606]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)[jetty-all-9.2.25.v20180606.jar:9.2.25.v20180606]
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)[jetty-all-9.2.25.v20180606.jar:9.2.2

回答1:


Its a warning from activemq web admin console. Jetty which hosts web console is unable to create temp directory.

WARN | Failed startup of context o.e.j.w.WebAppContext@517566b{/admin,file:/opt/apache-activemq-5.15.6/webapps/admin/,null}
java.lang.IllegalStateException: Parent for temp dir not configured correctly: writeable=false

You can override default temp directory by setting up environment variable ACTIVEMQ_TMP as below in container spec

 env:
    - name: ACTIVEMQ_TMP
      value : "/tmp"


来源:https://stackoverflow.com/questions/61271194/write-access-error-for-mounted-volume-on-kubernetes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!