<p>Deploying ArangoDB to a MicroK8s cluster results in:</p>

<pre><code>$ kubectl logs -f dbgraph-64c6fd9b84-chqkm
automatically choosing storage engine
Initializing database...Hang on...
ArangoDB didn't start correctly during init
cat: can't open '/tmp/init-log': No such file or directory
</code></pre>

<p>where the deployment declaration is:</p>

<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  name: dbgraph
spec:
  replicas: 1
  selector:
    matchLabels:
      name: dbgraph
  strategy:
    type: Recreate
  template:
    metadata:
      creationTimestamp: null
      name: dbgraph
      labels:
        name: dbgraph
    spec:
      containers:
      - env:
        - name: ARANGO_NO_AUTH
          value: "1"
        image: arangodb:3.5
        name: dbgraph
        ports:
        - containerPort: 8529
        resources:
          limits:
            memory: "2Gi"
            cpu: 0.5
        volumeMounts:
        - mountPath: /var/lib/arangodb3
          name: dbdata-arangodb
      restartPolicy: Always
      volumes:
      - name: dbdata-arangodb
        persistentVolumeClaim:
          claimName: dbdata-arangodb-pvc
status: {}
</code></pre>

<p>the PersistentVolumeClaim is:</p>

<pre><code>apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  creationTimestamp: null
  name: dbdata-arangodb-pvc
spec:
  storageClassName: ""
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
status: {}
</code></pre>

<p>and the PersistentVolume declaration is:</p>

<pre><code>apiVersion: v1
kind: PersistentVolume
metadata:
  name: dbdata-arangodb-pv
  labels:
    type: local
spec:
  storageClassName: ""
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/disk5/k8s-peristent-volumes/test/arangodb"
</code></pre>

<p>Having a similar <em>Deployment-with-volume-declaration -> PVC -> PV</em> relationship works fine with other deployments, such as for Minio.  I've also had luck with a similar setup for ArangoDB on GKE.</p>

<p>Could this be an issue ArangoDB is having with the Kubernetes version?</p>

<pre><code>$ microk8s.kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3", GitCommit:"b3cbbae08ec52a7fc73d334838e18d17e8512749", GitTreeState:"clean", BuildDate:"2019-11-13T11:23:11Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3", GitCommit:"b3cbbae08ec52a7fc73d334838e18d17e8512749", GitTreeState:"clean", BuildDate:"2019-11-13T11:13:49Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}
</code></pre>

<p>I did try the <a href="https://github.com/arangodb/kube-arangodb" rel="nofollow noreferrer">ArangoDB Kubernetes Operator</a> with no luck (but fine on GKE) - in that project's <a href="https://github.com/arangodb/kube-arangodb#production-readiness-state" rel="nofollow noreferrer">readiness state table</a> it can be seen that at most Kubernetes version 1.14 is supported - so that is probably as expected.</p>

<p>How can I have ArangoDB running on a MicroK8s cluster?</p>

<ol>
<li><p>The prerequisite for ArangoDB binary requires a CPU supporting SSE4.2.</p></li>
<li><p>You can install ArangoDB on a MicroK8s cluster with a <a href="https://github.com/arangodb/kube-arangodb#installation-of-latest-release-using-helm" rel="nofollow noreferrer">Helm</a>. </p></li>
</ol>

<p><code>microk8s.enable helm</code> - Using Helm within Microk8s allows you to manage, update, share and rollback Kubernetes applications.</p>

<p><a href="https://www.arangodb.com/docs/stable/deployment-kubernetes-helm.html" rel="nofollow noreferrer">Here</a> you can find a manual showing how to use the ArangoDB Kubernetes Operator with Helm.</p>

<p>Also, for the general guide I recommend <a href="https://github.com/arangodb/kube-arangodb/blob/master/docs/Manual/Tutorials/Kubernetes/README.md" rel="nofollow noreferrer">this thread</a>.</p>

<p>I hope it helps. </p>
