containerd执行命令错误

avatar 2023年8月2日18:52:44 评论 1,361 次浏览

原本安装kubernetes 1.24.1版本的集群来着,因为1.24.1版本的kubernetes需要用到containerd,而且containerd已经安装好了,但是在执行命令的时候报错了,这个和我们使用docker的时候不太一样,看一下下面的错误信息。

  1.  WARN[0000] image connect using default endpoints: [unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead.
  2.  ERRO[0000] validate service connection: CRI v1 image API is not implemented for endpoint "unix:///var/run/dockershim.sock": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService
  3.  ERRO[0000] validate service connection: CRI v1 image API is not implemented for endpoint "unix:///run/containerd/containerd.sock": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService
  4.  E0801 13:34:05.027123   5775 remote_image.go:119] "ListImages with filter from image service failed" err="rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /run/crio/crio.sock: connect: no such file or directory\"" filter="&ImageFilter{Image:&ImageSpec{Image:,Annotations:map[string]string{},},}"
  5.  FATA[0000] listing images: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /run/crio/crio.sock: connect: no such file or directory"

没看懂,就是提示找不到containerd的sock文件,这里需要在配置文件中指定一下。

  1.  [root@www.wulaoer.org ~]# cat /etc/crictl.yaml
  2.  runtime-endpoint: "unix:///var/run/containerd/containerd.sock"
  3.  image-endpoint: ""
  4.  timeout: 0
  5.  debug: false
  6.  pull-image-on-create: false
  7.  disable-pull-on-run: false

在指定的文件中添加上面的内容,然后重启,在看一下命令结果,没有在提示找不到sock文件了。

  1.  [root@www.wulaoer.org ~]# systemctl restart containerd
  2.  [root@www.wulaoer.org ~]# crictl images
  3.  FATA[0000] validate service connection: CRI v1 image API is not implemented for endpoint "unix:///var/run/containerd/containerd.sock": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService

这个错误需要在/etc/containerd/config.toml文件中指定。

  1.  root@www.wulaoer.org ~]# cat /etc/containerd/config.toml
  2.  disabled_plugins = []
  3.  imports = []
  4.  oom_score = 0
  5.  plugin_dir = ""
  6.  required_plugins = []
  7.  root = "/var/lib/containerd"
  8.  state = "/run/containerd"
  9.  temp = ""
  10.  version = 2
  11.  
  12.  [cgroup]
  13.   path = ""
  14.  
  15.  [debug]
  16.   address = ""
  17.   format = ""
  18.   gid = 0
  19.   level = ""
  20.   uid = 0
  21.  
  22.  [grpc]
  23.   address = "/run/containerd/containerd.sock"
  24.   gid = 0
  25.   max_recv_message_size = 16777216
  26.   max_send_message_size = 16777216
  27.   tcp_address = ""
  28.   tcp_tls_ca = ""
  29.   tcp_tls_cert = ""
  30.   tcp_tls_key = ""
  31.   uid = 0
  32.  
  33.  [metrics]
  34.   address = ""
  35.   grpc_histogram = false
  36.  
  37.  [plugins]
  38.  
  39.   [plugins."io.containerd.gc.v1.scheduler"]
  40.     deletion_threshold = 0
  41.     mutation_threshold = 100
  42.     pause_threshold = 0.02
  43.     schedule_delay = "0s"
  44.     startup_delay = "100ms"
  45.  
  46.   [plugins."io.containerd.grpc.v1.cri"]
  47.     device_ownership_from_security_context = false
  48.     disable_apparmor = false
  49.     disable_cgroup = false
  50.     disable_hugetlb_controller = true
  51.     disable_proc_mount = false
  52.     disable_tcp_service = true
  53.     enable_selinux = false
  54.     enable_tls_streaming = false
  55.     enable_unprivileged_icmp = false
  56.     enable_unprivileged_ports = false
  57.     ignore_image_defined_volumes = false
  58.     max_concurrent_downloads = 3
  59.     max_container_log_line_size = 16384
  60.     netns_mounts_under_state_dir = false
  61.     restrict_oom_score_adj = false
  62.     sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.7"
  63.     selinux_category_range = 1024
  64.     stats_collect_period = 10
  65.     stream_idle_timeout = "4h0m0s"
  66.     stream_server_address = "127.0.0.1"
  67.     stream_server_port = "0"
  68.     systemd_cgroup = false
  69.     tolerate_missing_hugetlb_controller = true
  70.     unset_seccomp_profile = ""
  71.  
  72.     [plugins."io.containerd.grpc.v1.cri".cni]
  73.       bin_dir = "/opt/cni/bin"
  74.       conf_dir = "/etc/cni/net.d"
  75.       conf_template = ""
  76.       ip_pref = ""
  77.       max_conf_num = 1
  78.  
  79.     [plugins."io.containerd.grpc.v1.cri".containerd]
  80.       default_runtime_name = "runc"
  81.       disable_snapshot_annotations = true
  82.       discard_unpacked_layers = false
  83.       ignore_rdt_not_enabled_errors = false
  84.       no_pivot = false
  85.       snapshotter = "overlayfs"
  86.  
  87.       [plugins."io.containerd.grpc.v1.cri".containerd.default_runtime]
  88.         base_runtime_spec = ""
  89.         cni_conf_dir = ""
  90.         cni_max_conf_num = 0
  91.         container_annotations = []
  92.         pod_annotations = []
  93.         privileged_without_host_devices = false
  94.         runtime_engine = ""
  95.         runtime_path = ""
  96.         runtime_root = ""
  97.         runtime_type = ""
  98.  
  99.         [plugins."io.containerd.grpc.v1.cri".containerd.default_runtime.options]
  100.  
  101.       [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
  102.  
  103.         [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  104.           base_runtime_spec = ""
  105.           cni_conf_dir = ""
  106.           cni_max_conf_num = 0
  107.           container_annotations = []
  108.           pod_annotations = []
  109.           privileged_without_host_devices = false
  110.           runtime_engine = ""
  111.           runtime_path = ""
  112.           runtime_root = ""
  113.           runtime_type = "io.containerd.runc.v2"
  114.  
  115.           [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
  116.             BinaryName = ""
  117.             CriuImagePath = ""
  118.             CriuPath = ""
  119.             CriuWorkPath = ""
  120.             IoGid = 0
  121.             IoUid = 0
  122.             NoNewKeyring = false
  123.             NoPivotRoot = false
  124.             Root = ""
  125.             ShimCgroup = ""
  126.             SystemdCgroup = true
  127.  
  128.       [plugins."io.containerd.grpc.v1.cri".containerd.untrusted_workload_runtime]
  129.         base_runtime_spec = ""
  130.         cni_conf_dir = ""
  131.         cni_max_conf_num = 0
  132.         container_annotations = []
  133.         pod_annotations = []
  134.         privileged_without_host_devices = false
  135.         runtime_engine = ""
  136.         runtime_path = ""
  137.         runtime_root = ""
  138.         runtime_type = ""
  139.  
  140.         [plugins."io.containerd.grpc.v1.cri".containerd.untrusted_workload_runtime.options]
  141.  
  142.     [plugins."io.containerd.grpc.v1.cri".image_decryption]
  143.       key_model = "node"
  144.  
  145.     [plugins."io.containerd.grpc.v1.cri".registry]
  146.       config_path = ""
  147.  
  148.       [plugins."io.containerd.grpc.v1.cri".registry.auths]
  149.  
  150.       [plugins."io.containerd.grpc.v1.cri".registry.configs]
  151.  
  152.       [plugins."io.containerd.grpc.v1.cri".registry.headers]
  153.  
  154.       [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
  155.         [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
  156.           endpoint = ["https://frz7i079.mirror.aliyuncs.com"]
  157.     [plugins."io.containerd.grpc.v1.cri".x509_key_pair_streaming]
  158.       tls_cert_file = ""
  159.       tls_key_file = ""
  160.  
  161.   [plugins."io.containerd.internal.v1.opt"]
  162.     path = "/opt/containerd"
  163.  
  164.   [plugins."io.containerd.internal.v1.restart"]
  165.     interval = "10s"
  166.  
  167.   [plugins."io.containerd.internal.v1.tracing"]
  168.     sampling_ratio = 1.0
  169.     service_name = "containerd"
  170.  
  171.   [plugins."io.containerd.metadata.v1.bolt"]
  172.     content_sharing_policy = "shared"
  173.  
  174.   [plugins."io.containerd.monitor.v1.cgroups"]
  175.     no_prometheus = false
  176.  
  177.   [plugins."io.containerd.runtime.v1.linux"]
  178.     no_shim = false
  179.     runtime = "runc"
  180.     runtime_root = ""
  181.     shim = "containerd-shim"
  182.     shim_debug = false
  183.  
  184.   [plugins."io.containerd.runtime.v2.task"]
  185.     platforms = ["linux/amd64"]
  186.     sched_core = false
  187.  
  188.   [plugins."io.containerd.service.v1.diff-service"]
  189.     default = ["walking"]
  190.  
  191.   [plugins."io.containerd.service.v1.tasks-service"]
  192.     rdt_config_file = ""
  193.  
  194.   [plugins."io.containerd.snapshotter.v1.aufs"]
  195.     root_path = ""
  196.  
  197.   [plugins."io.containerd.snapshotter.v1.btrfs"]
  198.     root_path = ""
  199.  
  200.   [plugins."io.containerd.snapshotter.v1.devmapper"]
  201.     async_remove = false
  202.     base_image_size = ""
  203.     discard_blocks = false
  204.     fs_options = ""
  205.     fs_type = ""
  206.     pool_name = ""
  207.     root_path = ""
  208.  
  209.   [plugins."io.containerd.snapshotter.v1.native"]
  210.     root_path = ""
  211.  
  212.   [plugins."io.containerd.snapshotter.v1.overlayfs"]
  213.     root_path = ""
  214.     upperdir_label = false
  215.  
  216.   [plugins."io.containerd.snapshotter.v1.zfs"]
  217.     root_path = ""
  218.  
  219.   [plugins."io.containerd.tracing.processor.v1.otlp"]
  220.     endpoint = ""
  221.     insecure = false
  222.     protocol = ""
  223.  
  224.  [proxy_plugins]
  225.  
  226.  [stream_processors]
  227.  
  228.   [stream_processors."io.containerd.ocicrypt.decoder.v1.tar"]
  229.     accepts = ["application/vnd.oci.image.layer.v1.tar+encrypted"]
  230.     args = ["--decryption-keys-path", "/etc/containerd/ocicrypt/keys"]
  231.     env = ["OCICRYPT_KEYPROVIDER_CONFIG=/etc/containerd/ocicrypt/ocicrypt_keyprovider.conf"]
  232.     path = "ctd-decoder"
  233.     returns = "application/vnd.oci.image.layer.v1.tar"
  234.  
  235.   [stream_processors."io.containerd.ocicrypt.decoder.v1.tar.gzip"]
  236.     accepts = ["application/vnd.oci.image.layer.v1.tar+gzip+encrypted"]
  237.     args = ["--decryption-keys-path", "/etc/containerd/ocicrypt/keys"]
  238.     env = ["OCICRYPT_KEYPROVIDER_CONFIG=/etc/containerd/ocicrypt/ocicrypt_keyprovider.conf"]
  239.     path = "ctd-decoder"
  240.     returns = "application/vnd.oci.image.layer.v1.tar+gzip"
  241.  
  242.  [timeouts]
  243.   "io.containerd.timeout.bolt.open" = "0s"
  244.   "io.containerd.timeout.shim.cleanup" = "5s"
  245.   "io.containerd.timeout.shim.load" = "5s"
  246.   "io.containerd.timeout.shim.shutdown" = "3s"
  247.   "io.containerd.timeout.task.state" = "2s"
  248.  
  249.  [ttrpc]
  250.   address = ""
  251.   gid = 0
  252.   uid = 0

然后继续重启,在执行crictl images就不会有提示了,这个因为刚接触,所以只是写一个解决方法。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

滑动解锁才能提交