Skip to content

moosefs-csi not starting on k3s #19

@aleahy1187

Description

@aleahy1187

This has been transferred from this discussion and reflects updates since the original post.

Overview: I have recently installed a MooseFS filesystem on a cluster of servers and am having difficult starting the CSI client.

Details:

Some software versions:

  • kubernetes k3s v1.28.4+k3s2
  • mfsmaster version: 4.57.5-1 ; build: 1937 (now from moosefs.com ubuntu 22.04 repos)
  • moosefs-csi image registry.moosefs.com:443/moosefs-csi-plugin:latest

The following csi-moosefs-config.yaml has been applied:

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: kube-system
  name: csi-moosefs-config
data:
  master_host: "server.mydomain.com"           # domain name is recommended, this IP is only an example
  master_port: "9421"            # Fixed 
  k8s_root_dir: "/kubexports"                    
  driver_working_dir: "pv_data"       # Created
  mount_count: "1" 
  mfs_logging: "true" 

pv_data exists in the appropriate spot on the mfs filesystem:

root@fermat:/home/knoxuser# ls -axl /mnt/mfs/kubexports/pv_data/
total 3907
drwxr-xr-x  2 root root       1 Mar 30 14:45 .
drwxr-xr-x 18 root root 4000216 Mar  2 14:10 ..

The k3s server is started with allow-privileged=true:

ExecStart=/usr/local/bin/k3s \
    server --write-kubeconfig-mode=644  --kube-apiserver-arg=allow-privileged=true

(I've tried this through the command line as above and by changing /etc/rancher/k3s/config.yaml. But I don't know how to make sure this is enabled.)

kubectl apply -f csi-moosefs.yaml leads to all pods crashing:

MooseFS-CSI# kubectl get pods | grep moosefs
csi-moosefs-controller-0                  3/4     CrashLoopBackOff   4 (71s ago)    2m43s
csi-moosefs-node-wsmb9                    1/2     CrashLoopBackOff   4 (74s ago)    2m43s
csi-moosefs-node-hr2b5                    1/2     CrashLoopBackOff   4 (72s ago)    2m43s
csi-moosefs-node-qmrd2                    1/2     CrashLoopBackOff   4 (71s ago)    2m43s
csi-moosefs-node-vr2l8                    1/2     CrashLoopBackOff   4 (66s ago)    2m43s
csi-moosefs-node-pk9rw                    1/2     CrashLoopBackOff   4 (67s ago)    2m43s
csi-moosefs-node-f8s2s                    1/2     CrashLoopBackOff   4 (63s ago)    2m43s

Here are the details for the controller pod:

MooseFS-CSI# kubectl describe pod csi-moosefs-controller-0
Name:                 csi-moosefs-controller-0
Namespace:            kube-system
Priority:             2000000000
Priority Class Name:  system-cluster-critical
Service Account:      csi-moosefs-controller-sa
Node:                 epyc1/10.90.1.25
Start Time:           Mon, 31 Mar 2025 08:53:04 -0500
Labels:               app=csi-moosefs-controller
                      apps.kubernetes.io/pod-index=0
                      controller-revision-hash=csi-moosefs-controller-6cf74f979b
                      role=csi-moosefs
                      statefulset.kubernetes.io/pod-name=csi-moosefs-controller-0
Annotations:          <none>
Status:               Running
IP:                   10.90.1.25
IPs:
  IP:           10.90.1.25
Controlled By:  StatefulSet/csi-moosefs-controller
Containers:
  csi-provisioner:
    Container ID:  containerd://7bb5d47923e112969624996cd851984978c91d6639ff1d293cae07a2eaf1c523
    Image:         quay.io/k8scsi/csi-provisioner:v1.4.0
    Image ID:      sha256:327e23baedbb939641bf5d2fb8d8ff9d8c41c2b2369cfe49a48eeef39a6e17fa
    Port:          <none>
    Host Port:     <none>
    Args:
      --csi-address=$(ADDRESS)
      --v=5
    State:          Running
      Started:      Mon, 31 Mar 2025 08:53:05 -0500
    Ready:          True
    Restart Count:  0
    Environment:
      ADDRESS:  /var/lib/csi/sockets/pluginproxy/csi.sock
    Mounts:
      /var/lib/csi/sockets/pluginproxy/ from socket-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-fgql6 (ro)
  csi-attacher:
    Container ID:  containerd://bcd53cfe20b2a61fbf1e0388e95a5d4c453e49f7e0e6df4ae86251642e8a1d1a
    Image:         quay.io/k8scsi/csi-attacher:v3.1.0
    Image ID:      quay.io/k8scsi/csi-attacher@sha256:e3334d505bebc44afba610e2c218ca7b4993cac61fc0951d75033ccc971a1347
    Port:          <none>
    Host Port:     <none>
    Args:
      --v=5
      --csi-address=$(ADDRESS)
    State:          Running
      Started:      Mon, 31 Mar 2025 08:53:06 -0500
    Ready:          True
    Restart Count:  0
    Environment:
      ADDRESS:  /var/lib/csi/sockets/pluginproxy/csi.sock
    Mounts:
      /var/lib/csi/sockets/pluginproxy/ from socket-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-fgql6 (ro)
  csi-resizer:
    Container ID:  containerd://f6619dd19e9599afff6b63d1632cf2ae6877e5d6135770fdcb8b2d13dccf1ee1
    Image:         quay.io/k8scsi/csi-resizer:v0.5.0
    Image ID:      quay.io/k8scsi/csi-resizer@sha256:6c6a0332693a7c456378f6abd2bb40611826c1e1a733cadbdae2daab3125b71c
    Port:          <none>
    Host Port:     <none>
    Args:
      --v=5
      --csi-address=$(ADDRESS)
    State:          Running
      Started:      Mon, 31 Mar 2025 08:53:07 -0500
    Ready:          True
    Restart Count:  0
    Environment:
      ADDRESS:  /var/lib/csi/sockets/pluginproxy/csi.sock
    Mounts:
      /var/lib/csi/sockets/pluginproxy/ from socket-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-fgql6 (ro)
  csi-moosefs-plugin:
    Container ID:  containerd://8269bdcd8a880cbe870f2ad460161cadd6c5d7b2118c4e639dde55746885f52d
    Image:         registry.moosefs.com:443/moosefs-csi-plugin:latest
    Image ID:      registry.moosefs.com:443/moosefs-csi-plugin@sha256:457bdf58227c88437c341d7ba2163dcd788da09f2e698ac88a2779f6c6dd2a05
    Port:          <none>
    Host Port:     <none>
    Args:
      --mode=controller
      --csi-endpoint=$(CSI_ENDPOINT)
      --master-host=$(MASTER_HOST)
      --master-port=$(MASTER_PORT)
      --root-dir=$(ROOT_DIR)
      --plugin-data-dir=$(WORKING_DIR)
      --mfs-logging=$(MFS_LOGGING)
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    2
      Started:      Mon, 31 Mar 2025 09:04:10 -0500
      Finished:     Mon, 31 Mar 2025 09:04:10 -0500
    Ready:          False
    Restart Count:  7
    Environment:
      CSI_ENDPOINT:  unix:///var/lib/csi/sockets/pluginproxy/csi.sock
      MASTER_HOST:   <set to the key 'master_host' of config map 'csi-moosefs-config'>         Optional: false
      MASTER_PORT:   <set to the key 'master_port' of config map 'csi-moosefs-config'>         Optional: false
      ROOT_DIR:      <set to the key 'k8s_root_dir' of config map 'csi-moosefs-config'>        Optional: false
      WORKING_DIR:   <set to the key 'driver_working_dir' of config map 'csi-moosefs-config'>  Optional: false
      MFS_LOGGING:   <set to the key 'mfs_logging' of config map 'csi-moosefs-config'>         Optional: false
    Mounts:
      /var/lib/csi/sockets/pluginproxy/ from socket-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-fgql6 (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  socket-dir:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     
    SizeLimit:  <unset>
  kube-api-access-fgql6:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                 From               Message
  ----     ------     ----                ----               -------
  Normal   Scheduled  11m                 default-scheduler  Successfully assigned kube-system/csi-moosefs-controller-0 to epyc1
  Normal   Pulling    11m                 kubelet            Pulling image "quay.io/k8scsi/csi-provisioner:v1.4.0"
  Normal   Pulled     11m                 kubelet            Successfully pulled image "quay.io/k8scsi/csi-provisioner:v1.4.0" in 802ms (802ms including waiting)
  Normal   Created    11m                 kubelet            Created container csi-provisioner
  Normal   Started    11m                 kubelet            Started container csi-provisioner
  Normal   Pulling    11m                 kubelet            Pulling image "quay.io/k8scsi/csi-attacher:v3.1.0"
  Normal   Pulled     11m                 kubelet            Successfully pulled image "quay.io/k8scsi/csi-attacher:v3.1.0" in 397ms (397ms including waiting)
  Normal   Created    11m                 kubelet            Created container csi-attacher
  Normal   Started    11m                 kubelet            Started container csi-attacher
  Normal   Pulling    11m                 kubelet            Pulling image "quay.io/k8scsi/csi-resizer:v0.5.0"
  Normal   Pulled     11m                 kubelet            Successfully pulled image "quay.io/k8scsi/csi-resizer:v0.5.0" in 825ms (825ms including waiting)
  Normal   Created    11m                 kubelet            Created container csi-resizer
  Normal   Started    11m                 kubelet            Started container csi-resizer
  Normal   Pulled     11m                 kubelet            Successfully pulled image "registry.moosefs.com:443/moosefs-csi-plugin:latest" in 718ms (718ms including waiting)
  Normal   Pulled     11m                 kubelet            Successfully pulled image "registry.moosefs.com:443/moosefs-csi-plugin:latest" in 613ms (613ms including waiting)
  Normal   Started    11m (x2 over 11m)   kubelet            Started container csi-moosefs-plugin
  Normal   Pulling    11m (x3 over 11m)   kubelet            Pulling image "registry.moosefs.com:443/moosefs-csi-plugin:latest"
  Normal   Pulled     11m                 kubelet            Successfully pulled image "registry.moosefs.com:443/moosefs-csi-plugin:latest" in 662ms (662ms including waiting)
  Normal   Created    11m (x3 over 11m)   kubelet            Created container csi-moosefs-plugin
  Warning  BackOff    84s (x47 over 11m)  kubelet            Back-off restarting failed container csi-moosefs-plugin in pod csi-moosefs-controller-0_kube-system(1b8dfb7c-7d08-45d9-8c87-65481a07cb78)

Here are the logs on the controller pod:

MooseFS-CSI# kubectl logs  csi-moosefs-controller-0
Defaulted container "csi-provisioner" out of: csi-provisioner, csi-attacher, csi-resizer, csi-moosefs-plugin
I0331 13:53:05.988702       1 feature_gate.go:216] feature gates: &{map[]}
I0331 13:53:05.988797       1 csi-provisioner.go:98] Version: v1.4.0-0-g1d9bad3
I0331 13:53:05.988825       1 csi-provisioner.go:112] Building kube configs for running in cluster...
I0331 13:53:06.020886       1 connection.go:151] Connecting to unix:///var/lib/csi/sockets/pluginproxy/csi.sock
W0331 13:53:16.021166       1 connection.go:170] Still connecting to unix:///var/lib/csi/sockets/pluginproxy/csi.sock
W0331 13:53:26.021149       1 connection.go:170] Still connecting to unix:///var/lib/csi/sockets/pluginproxy/csi.sock

The logs on the nodes:

MooseFS-CSI# kubectl logs csi-moosefs-node-f8s2s
Defaulted container "driver-registrar" out of: driver-registrar, csi-moosefs-plugin
I0331 13:53:04.862935       1 main.go:110] Version: v1.1.0-0-g80a94421
I0331 13:53:04.862973       1 main.go:120] Attempting to open a gRPC connection with: "/csi/csi.sock"
I0331 13:53:04.862999       1 connection.go:151] Connecting to unix:///csi/csi.sock
W0331 13:53:14.863248       1 connection.go:170] Still connecting to unix:///csi/csi.sock
W0331 13:53:24.863221       1 connection.go:170] Still connecting to unix:///csi/csi.sock

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions