Mirantis / virtlet

Kubernetes CRI implementation for running VM workloads
Apache License 2.0
739 stars 128 forks source link

"RunContainerError" while start basic pod "cirros-vm" #922

Closed fourierrr closed 3 years ago

fourierrr commented 3 years ago

what i have done

what i have seen

i got error RunContainerError and "unsupported configuration: cgroup cpu is required for scheduler tuning"

here is some info

#kubectl get po
NAME                                          READY   STATUS              RESTARTS   AGE
cirros-vm                                     0/1     RunContainerError   0          10m
#kubectl describe po cirros-vm
Name:               cirros-vm
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               a59c07102.cloud.c08.amtest05/10.5.3.33
Start Time:         Mon, 23 Aug 2021 15:30:23 +0800
Labels:             <none>
Annotations:        VirtletDiskDriver: virtio
                    VirtletRootVolumeSize: 1Gi
                    VirtletSSHKeys:
                      ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCaJEcFDXEK2ZbX0ZLS1EIYFZRbDAcRfuVjpstSc0De8+sV1aiu+dePxdkuDRwqFtCyk6dEZkssjOkBXtri00MECLkir6FcH3kKOJ...
                    kubernetes.io/target-runtime: virtlet.cloud
Status:             Running
IP:                 10.5.48.206
Containers:
  cirros-vm:
    Container ID:   docker://virtlet.cloud__f461bb2d-b5ea-5739-664e-d4f57495d738
    Image:          virtlet.cloud/cirros
    Image ID:       sha256:0615af1caf345e605e27d5419f8d4c6d087b3b41ff4b979aec094ce0399f04ab
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       RunContainerError
    Last State:     Terminated
      Exit Code:    0
      Started:      Mon, 01 Jan 0001 00:00:00 +0000
      Finished:     Mon, 01 Jan 0001 00:00:00 +0000
    Ready:          False
    Restart Count:  0
    Limits:
      memory:  160Mi
    Requests:
      memory:     160Mi
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-72hxv (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  default-token-72hxv:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-72hxv
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  extraRuntime=virtlet
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason               Age                   From                                   Message
  ----     ------               ----                  ----                                   -------
  Normal   Scheduled            12m                   default-scheduler                      Successfully assigned default/cirros-vm to a59c07102.cloud.c08.amtest05
  Normal   IPAllocationSucceed  12m                   ipam                                   allocate IP network-cn-qd-env5b-amtest05001-a-asw-a5-9-c07.amtest05/asw-a5-9-c07.amtest05-010005051247/10.5.48.206 successfully
  Normal   Created              10m (x8 over 12m)     kubelet, a59c07102.cloud.c08.amtest05  Created container cirros-vm
  Normal   Pulled               7m10s (x24 over 12m)  kubelet, a59c07102.cloud.c08.amtest05  Container image "virtlet.cloud/cirros" already present on machine
  Warning  Failed               2m11s (x46 over 12m)  kubelet, a59c07102.cloud.c08.amtest05  Error: "/run/virtlet.sock": rpc error: code = 2 desc = failed to create domain "f461bb2d-b5ea-5739-664e-d4f57495d738": virError(Code=67, Domain=10, Message='unsupported configuration: cgroup cpu is required for scheduler tuning')

version

plz help me how to solve this! many thanks!!! orz

fourierrr commented 3 years ago

my wrong cgroup setting cause this problem.

# cat /sys/fs/cgroup/cpuset,cpu,cpuacct/cgroup.clone_children
0

this setting makes my child folder default cpuset.mems is 0 and cpuset.mems is 0

changing cgroup.clone_children to 1 fix my problem