vsystem-vrep of vora at Waiting: CrashLoopBackOff

212 views Asked by At

Trying to setup Vora 2 on an AWS kops k8s cluster. The pod vsystem-vrep cannot start. In the logfile on the node I see:

sudo cat vsystem-vrep_30.log
{"log":"2018-03-27 12:54:04.164349|+0000|INFO |Starting Kernel NFS Server||vrep|1|Start|server.go(41)\u001e\n","stream":"stderr","time":"2018-03-27T12:54:04.164897827Z"}
{"log":"2018-03-27 12:54:04.164405|+0000|INFO |Creating directory /exports||dir-handler|1|makeDir|dir_handler.go(40)\u001e\n","stream":"stderr","time":"2018-03-27T12:54:04.164919387Z"}
{"log":"2018-03-27 12:54:04.164423|+0000|INFO |Listening for private API on port 8738||vrep|18|func1|server.go(45)\u001e\n","stream":"stderr","time":"2018-03-27T12:54:04.164923893Z"}
{"log":"2018-03-27 12:54:04.166992|+0000|INFO |Configuring Kernel NFS Server||vrep|1|configure|server.go(126)\u001e\n","stream":"stderr","time":"2018-03-27T12:54:04.167109138Z"}
{"log":"2018-03-27 12:54:04.219089|+0000|INFO |Configuring Kernel NFS Server||vrep|1|configure|server.go(126)\u001e\n","stream":"stderr","time":"2018-03-27T12:54:04.219235263Z"}
{"log":"2018-03-27 12:54:04.230256|+0000|FATAL|Error starting NFS server: RPC service for NFS server has not been correctly registered||vrep|1|main|server.go(51)\u001e\n","stream":"stderr","time":"2018-03-27T12:54:04.230526346Z"}

How can I solve this?

1

There are 1 answers

4
Frank Legler On

When installing Vora 2.1 in AWS with kops, you need to first setup a RWX storage class which is needed by vsystem (the default AWS storage class is read only). During installation, you need to point to that storage class using parameter --vsystem-storage-class. Additionally, parameter --vsystem-load-nfs-modules needs to be set. I suspect that the error happened because that last parameter was missing.

Example, how a call of install.sh would look like:

./install.sh --accept-license --deployment-type=cloud --namespace=xxx --docker-registry=123456789.dkr.ecr.us-west-1.amazonaws.com --vora-admin-username=xxx --vora-admin-password=xxx --cert-domain=my.host.domain.com --interactive-security-configuration=no --vsystem-storage-class=aws-efs --vsystem-load-nfs-modules

A RWX storage class can e.g. be created as following

  1. Create an EFS file system in same region as kops cluster - see https://us-west-2.console.aws.amazon.com/efs/home?region=us-west-2#/filesystems

    • Create file system
    • Select VPC of kops cluster
    • Add kops master and worker security groups to mount target
    • Optionally give it a name (e.g. same as your kops cluster, to know what it is used for)
    • Use default options for the remaining
    • Once created, note the DNS name (similar to fs-1234e567.efs.us-west-2.amazonaws.com).
  2. Create persistent volume and storage class for Vora

E.g. use yaml files similar to below and point to the newly created EFS file system.

$ cat create_pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: vsystem-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
      persistentVolumeReclaimPolicy: Retain
      storageClassName: aws-efs
      nfs:
        path: /
        server: fs-1234e567.efs.us-west-2.amazonaws.com

$ cat create_sc.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: aws-efs
provisioner: xyz.com/aws-efs

kubectl create -f create_pv.yaml
kubectl create -f create_sc.yaml

-- check if newly created pv and sc exist
kubectl get pv
kubectl get storageclasses