问题标签 [containerd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
527 浏览

grpc-python - python3 grpc 编译器:如何处理.protos 中的绝对和相对导入?

我正在尝试从可在此处找到的 containerd API .proto 文件生成工作 Python 模块:https ://github.com/containerd/containerd/tree/master/api 。

不幸的是,containerd 自己的 .proto 文件包含诸如 (in api/events/container.proto) 之类的引用:

现在,这个导入实际上位于protobuf/plugin/fieldpath.proto,而不是 ( vendor/) github.com/containerd/...。简单-I ...在这种情况下不起作用,因为导入使用“github”-绝对路径,而相应的源不在供应商分支内。

vendor/github.com/...在尝试使用生成的 Python 模块时,简单地复制内部的源代码会导致运行时错误:这是因为现在有相同协议元素的两个单独实例尝试使用相同的协议元素名称向 GRPC 注册,但来自两个不同的 Python模块。因此,GRPC Python 运行时会引发错误并终止。

使用时如何正确解决此问题python3 -m grpc.tools.protoc ...

0 投票
1 回答
1201 浏览

docker - containerd 中 docker 卷的等价物是多少?

在 Docker 中,我们可以通过卷配置持久存储。在 Docker cli 中,我们使用“docker volume”:

看起来 containerd cli (ctr) 没有等效项。他们确实有内容:

还有截图:

哪个是等价的?我应该如何解释 ctr cli 输出的结果?

0 投票
2 回答
984 浏览

mysql - Mysql容器错误,socket创建错误

我正在尝试使用运行 MySQL 容器containerd;每当我尝试运行它时,它都会引发以下错误?

错误是,套接字设置和创建锁定文件失败。我的主机没有安装 SQL 服务器。

使用来自 docker hub 的官方 MySQL 最新镜像。用于ctr管理containerd. 需要在配置中进行哪些更改才能消除此错误?

0 投票
1 回答
2594 浏览

docker - Kubernetes:增加 K3s 中 OverlayFS / containerd 运行时卷的大小

我有一个使用 Rancher 的 K3s 部署的轻量级 Kubernetes 集群。

大多数时候 pod 在其中运行良好,但是我注意到它有时会遇到NodeDiskPressure,这会导致现有的 Pod 被驱逐。

查看主机中的可用磁盘,我发现在此问题之前较高的集群负载与容器运行时存储的大量使用相吻合。在正常情况下,这些卷的已用空间量为 70%,但它们会上升到 +90%,这可能会导致 pod 逐出。

  • 尝试增加主机上的可用 RAM,但显然没有效果。

  • 从上面的输出中可以看出,叠加的总容量当前设置为 6 GB。我查看了K3scontainerd 的文档,试图找出如何增加覆盖文件系统的大小,但不幸的是找不到任何东西。

  • 起初我认为用更大的空间重新安装它会有助于解决这个问题,但后来我不确定我应该使用哪个下/上目录来设置覆盖。

  • 也许手动清理目录可以解决问题?我注意到/run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/中的一些文件夹已经存在了几天。从内部看,似乎它们存储了 Docker 镜像层但也存储了 Pod 状态?仍然不确定删除这些是否会破坏任何东西,所以现在我保留了这些。

有什么提示吗?

0 投票
1 回答
2265 浏览

docker - 使用 containerd 的 ctr 作为容器中的另一个用户执行命令

我已经在 Ubuntu 上安装了 microk8s,以便拥有一个简单的 Kubernetes 集群用于测试目的。

我有一个用例,我必须与另一个用户在容器(在 kubernetes pod 中)执行命令,而不是用于运行容器的用户。

由于 kubectl 不提供这种可能性,因此 docker 环境的解决方法是使用docker exec -u. 但是 microk8s 安装的 Kubernetes 集群并没有使用 docker 作为容器运行时,而只是使用了 containerd。

我没有找到在容器中作为另一个用户使用 containerd 的 ctr cli 执行命令的可能性(就像使用 docker 一样)。

有没有可能?

0 投票
2 回答
924 浏览

docker - 在使用 containerd 运行的 Kubernetes (AKS 1.19.0) 上构建没有 docker 的 Dockerfile

我有 Azure devops 管道,在 AKS 上构建 dockerfile,因为 AKS 正在弃用最新版本的 docker,请建议最佳做法是在 AKS 集群上构建没有 docker 的 dockerfile。在 Kaniko 上探索,在没有 docker 的情况下构建 buildah..

0 投票
2 回答
5397 浏览

docker - docker-ce : 取决于: containerd.io (>= 1.4.1) 但它不会被安装

尝试在 Debian 10 (Buster) 上安装 Docker 时出现错误

0 投票
1 回答
5414 浏览

kubernetes - Kubernetes containerd - 无法从私有注册表中提取图像

containerd我使用而不是 Docker设置了 kubernetes V1.20.1 。现在我无法从我的私有注册表(Harbor)中提取 Docker 映像。

我已经像这样更改了 /etc/containerd/config.toml :

但这没有用。拉取失败并显示以下消息:

My Harbor 注册表可通过带有 Let's Encrypt 证书的 HTTPS 获得。所以 https 应该不是这里的问题。

即使我尝试创建一个 docker-secret 这也不起作用:

谁能给我一个例子,如何在 Kubernetes 中使用 containerd 配置私有注册表?

0 投票
2 回答
8685 浏览

kubernetes - 在 containerd 中添加不安全的注册表

尝试将不安全的注册表添加到容器配置中,如下所示:

即使将其添加到config.toml,当从不安全的注册表中提取图像时,它也会失败:

docker我们可以添加insecure registrydaemon.json文件中,docker 会从中提取图像,我怎样才能实现相同的效果containerd?将 docker 替换为 k8s 集群中的运行时。

0 投票
1 回答
1633 浏览

containerd - 带有 containerd 的 Kubernetes:http:服务器向 HTTPS 客户端提供了 HTTP 响应

我正在使用容器作为运行时设置我的 K8s 集群。现在,当我尝试使用以下方式提取图像时:

它给了我一个错误:

ctr:无法解析参考“192.168.1.2:5000/my-alpine:latest”:请求失败:头https://192.168.1.2:5000/v2/my-alpine/manifests/latest:http:服务器向 HTTPS 客户端提供了 HTTP 响应

我的 /etc/containerd/config.toml

我在这里想念什么?当我从 Kubernetes 部署中提取图像并且也遇到相同的错误时。