安装报错
./kk create cluster --with-kubernetes v1.26.0 --with-kubesphere v3.4.1 --container-manager containerd
pull image failed: Failed to exec command: sudo -E /bin/bash -c "env PATH=$PATH crictl pull registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8 --platform amd64"
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.
ERRO[0000] unable to determine image API version: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory"
E0911 06:39:35.945725 5561 remote_image.go:218] "PullImage from image service failed" err="rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService" image="registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8"
FATA[0000] pulling image: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService: Process exited with status 1
06:39:35 CST retry: [dss-service]
06:39:40 CST message: [dss-service]
downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8
06:39:41 CST message: [dss-service]
pull image failed: Failed to exec command: sudo -E /bin/bash -c "env PATH=$PATH crictl pull registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8 --platform amd64"
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.
ERRO[0000] unable to determine image API version: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory"
E0911 06:39:41.015447 5582 remote_image.go:218] "PullImage from image service failed" err="rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService" image="registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8"
FATA[0000] pulling image: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService: Process exited with status 1
06:39:41 CST retry: [dss-service]
06:39:46 CST message: [dss-service]
downloading image: registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8
06:39:46 CST message: [dss-service]
pull image failed: Failed to exec command: sudo -E /bin/bash -c "env PATH=$PATH crictl pull registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8 --platform amd64"
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.
ERRO[0000] unable to determine image API version: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory"
E0911 06:39:46.074180 5603 remote_image.go:218] "PullImage from image service failed" err="rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService" image="registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8"
FATA[0000] pulling image: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService: Process exited with status 1
06:39:46 CST failed: [dss-service]
error: Pipeline[CreateClusterPipeline] execute failed: Module[PullModule] exec failed:
failed: [dss-service] [PullImages] exec failed after 3 retries: pull image failed: Failed to exec command: sudo -E /bin/bash -c "env PATH=$PATH crictl pull registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8 --platform amd64"
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.
ERRO[0000] unable to determine image API version: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory"
E0911 06:39:46.074180 5603 remote_image.go:218] "PullImage from image service failed" err="rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService" image="registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.8"
FATA[0000] pulling image: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService: Process exited with status 1
[root@dss-service home]# systemctl status containerd
● containerd.service - containerd container runtime
Loaded: loaded (/usr/lib/systemd/system/containerd.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2024-09-11 06:39:23 CST; 32s ago
Docs: https://containerd.io
Main PID: 4364 (containerd)
CGroup: /system.slice/containerd.service
├─4364 /usr/bin/containerd
└─4518 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 4b019fd77d88bd1c8c518a7c2c5218a8235be933e4d779ce3e950991ecc6caaf -address /run/containerd/containerd.sock
解决方法:
crictl config runtime-endpoint unix:///run/containerd/containerd.sock
crictl config image-endpoint unix:///run/containerd/containerd.sock
pulling image: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.ImageService: Process exited with status 1
解决方法
mv /etc/containerd/config.toml /etc/containerd/config.toml.bak
containerd config default > /etc/containerd/config.tomlsystemctl restart containerd
修改 /etc/containerd/config.toml文件
warning msg="failed to load plugin io.containerd.grpc.v1.cri" error="invalid plugin config: `systemd_cgroup` only works for runtime io.containerd.runtime.v1.linux" 怎么解决
这个警告消息表明你的
containerd
配置中的systemd_cgroup
选项与当前使用的容器运行时版本不兼容。具体来说,systemd_cgroup
选项只适用于io.containerd.runtime.v1.linux
运行时,而你当前的配置可能使用了不同的运行时版本。解决步骤
检查并修改
containerd
配置文件:containerd
的配置文件通常位于/etc/containerd/config.toml
。打开该文件并检查systemd_cgroup
配置项。
对于
io.containerd.runtime.v1.linux
运行时: 如果你使用的是v1.linux
运行时,你应该确保配置文件中包含如下设置:[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] runtime_type = "io.containerd.runc.v1" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] SystemdCgroup = true
对于
io.containerd.runtime.v2
运行时: 如果你使用的是v2
运行时,SystemdCgroup
选项应被禁用或移除:[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] runtime_type = "io.containerd.runc.v2" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] SystemdCgroup = false
确认
containerd
运行时类型: 确认你的containerd
使用的运行时类型是v1.linux
还是v2
。你可以在containerd
配置文件中查看runtimes
部分,或者通过以下命令查看:containerd config dump
重启
containerd
服务: 修改配置文件后,需要重启containerd
服务使改动生效:sudo systemctl restart containerd
检查
kubelet
配置: 确保kubelet
配置与containerd
的配置一致。如果kubelet
使用的 cgroup 配置与containerd
不匹配,也可能导致问题。
kubelet
配置通常在/var/lib/kubelet/config.yaml
或/etc/systemd/system/kubelet.service.d/10-kubelet.conf
文件中。检查--cgroup-driver
参数是否与containerd
配置一致。检查日志和文档: 查看
containerd
和kubelet
的日志,以获取更多错误信息。查阅官方文档和社区讨论,了解可能的配置变更或已知问题。通过这些步骤,你可以确保
containerd
和kubelet
的配置一致,从而解决警告问题。如果还有其他问题,可以提供更多详细信息,我们可以进一步探讨。
buildctl build --frontend dockerfile.v0 \
--local context=. \
--local dockerfile=. \
--output type=image,name=HivisionIDPhotos:latest