Portworx Installation using Helm - Storage less node detected

Hi,

What I am trying to do:

  1. Simulate bare-metal deployment, using portworx as the volume provisioner using AWS EC2’s, but without using AWS EKS
  2. Kubernetes’s control plane is using kubeadm
  3. I am installing portworx using helm using a command like:

sudo helm install --debug --name default-portworx --set internalKVDB=true,clusterName=default-portworx-storage,usefileSystemDrive=true,usedrivesAndPartitions=true,drives="/dev/sda1" ./charts/portworx/

I am trying to use kvdb instead of etcd as I couldn’t figure out how to install etcd as that would require statefulset which in turn requires portworx resulting in a cyclical issue.

When I install portworx, the pods with the prefix “portworx-” all fail, following is a snippet of the logs for the pods which seem relevant:

@ip-172-31-11-140 portworx[27164]: PXPROCS: Started watchdog with pid 279

@ip-172-31-11-140 portworx[27164]: 2019-04-17_13:47:04: PX-Watchdog: Starting watcher

@ip-172-31-11-140 portworx[27164]: 2019-04-17_13:47:04: PX-Watchdog: Waiting for px process to start

@ip-172-31-11-140 portworx[27164]: 2019-04-17_13:47:04: PX-Watchdog: (pid 278): Begin monitoring

@ip-172-31-11-140 portworx[27164]: time=“2019-04-17T13:47:05Z” level=info msg=“Registering [kernel] as a volume driver”

@ip-172-31-11-140 portworx[27164]: time=“2019-04-17T13:47:05Z” level=info msg=“read config from env var” func=init package=boot

@ip-172-31-11-140 portworx[27164]: time=“2019-04-17T13:47:05Z” level=info msg=“read config from config.json” func=init package=boot

@ip-172-31-11-140 portworx[27164]: time=“2019-04-17T13:47:05Z” level=info msg=“Node is not yet initialized” func=setNodeInfo package=boot

@ip-172-31-11-140 portworx[27164]: time=“2019-04-17T13:47:05Z” level=info msg=“Generated a new NodeID: 2fea1a50-3b13-443a-9417-9214e05fca9e”

@ip-172-31-11-140 portworx[27164]: time=“2019-04-17T13:47:05Z” level=info msg=“Generated a new NodeIndex: 41”

@ip-172-31-11-140 portworx[27164]: time=“2019-04-17T13:47:05Z” level=info msg=“Bootstrapping internal kvdb service.” fn=kv-store.New id=2fea1a50-3b13-443a-9417-9214e05fca9e

@ip-172-31-11-140 portworx[27164]: time=“2019-04-17T13:47:05Z” level=info msg=“Storage less node detected. Node cannot act as a kvdb node. Not joining the kvdb cluster…” fn=kv-store.Init id=2fea1a50-3b13-443a-9417-9214e05fca9e

@ip-172-31-11-140 portworx[27164]: time=“2019-04-17T13:47:06Z” level=info msg=“Waiting for a kvdb node to start…” fn=kv-store.WaitForKvdbNode id=2fea1a50-3b13-443a-9417-9214e05fca9e

time=“2019-04-17T13:47:58Z” level=warning msg=“Could not retrieve PX node status” error=“Get http://127.0.0.1:9001/v1/cluster/nodehealth: dial tcp 127.0.0.1:9001: connect: connection refused”

@ip-172-31-11-140 portworx[27164]: 2019-04-17_13:48:07: PX-Watchdog: (pid 278): PX REST server died or did not started. return code 7. Timeout 480

time=“2019-04-17T13:48:08Z” level=warning msg=“Could not retrieve PX node status” error=“Get http://127.0.0.1:9001/v1/cluster/nodehealth: dial tcp 127.0.0.1:9001: connect: connection refused”

I don’t understand why portworx says “Storageless node detected”, my EC2 has one EBS attached to it (1TB), I tried multiple options of installing portworx without success.

kubectl version command outputs:

Client Version: version.Info{Major:“1”, Minor:“14”, GitVersion:“v1.14.1”, GitCommit:“b7394102d6ef778017f2ca4046abbaa23b88c290”, GitTreeState:“clean”, BuildDate:“2019-04-08T17:11:31Z”, GoVersion:“go1.12.1”, Compiler:“gc”, Platform:“linux/amd64”}
Server Version: version.Info{Major:“1”, Minor:“14”, GitVersion:“v1.14.1”, GitCommit:“b7394102d6ef778017f2ca4046abbaa23b88c290”, GitTreeState:“clean”, BuildDate:“2019-04-08T17:02:58Z”, GoVersion:“go1.12.1”, Compiler:“gc”, Platform:“linux/amd64”}

Number of worker nodes: 3, each with 1TB primary drive and enough RAM and CPU to spare
Number of master nodes: 1, its tainted, contains only control plane