问题标签 [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 回答
1723 浏览

kubernetes - How to list microk8s' containers with microk8s.ctr

I created a microk8s cluster, pods could be listed by get pod command:

However, I tried to list containers with ctr, nothing showing


also try image list

nothing :P maybe I need to find which namespace it used ?

0 投票
3 回答
2413 浏览

docker - 是否可以将 microk8s 设置为使用 docker 引擎而不是 containerd?

首先,我不是容器编排工具方面的专家。

我刚刚根据指南 安装了microk8s : https ://microk8s.io/docs/

如果我运行microk8s kubectl get nodes,我会看到,我的节点实际上正在运行containerd引擎。

我的应用程序构建过程设置为生成 docker 文件并自动创建 docker 映像,所以我希望 microk8s 也使用 docker。

之前用过minikube,现在决定试试microk8s。现在我有点困惑,也许从一开始就坚持使用 docker 是个坏主意?

是否可以为 microk8s 设置 docker 引擎?


我以前从未使用过包含,也不知道如何为我的应用准备包含的图像。这就是我问的原因。

0 投票
1 回答
418 浏览

kubernetes - selinux 在 selinux-enable=true 的容器下不能工作

我有两个 k8s 集群,一个使用 docker,另一个直接使用 containerd,都启用了 selinux。但是我发现 selinux 实际上并没有在 containerd 上运行,尽管这两个集群具有相同版本的 containerd 和 runc。

我错过了 containerd 的一些设置吗?

docker:文件标签为container_file_t,进程以container_t运行,selinux 工作正常

containerd:文件标签为container_var_lib_t,进程以spc_t运行,selinux 没有意义

0 投票
1 回答
416 浏览

docker - 如何识别 runc 容器是否以特权身份运行?

不管 docker/crio/containerd 启动容器,有没有办法了解 runc 容器是否作为特权容器运行?

docker inspect确实显示出特权,但我想在 runc 层找到答案。

0 投票
1 回答
183 浏览

docker - libcontainer 在 docker 堆栈中的位置是什么?

我知道的典型 docker 容器堆栈是 docker(client) -> dockerd -> containerd -> runC。然后您还会听说libcontainer。我想知道 libcontainer 在上面的堆栈中的位置以及它的作用/目的是什么。

0 投票
1 回答
109 浏览

docker - 除了 runC,containerd 还支持哪些运行时?

containerd 是否支持除 runC 之外的任何其他运行时?

此外,containerd网站说,“一个行业标准的容器运行时,强调简单性、健壮性和可移植性”。这是否指任何特定标准,如 OCI 或 CRI。

0 投票
1 回答
849 浏览

containerd - 无法使用我的容器从 jfrog 工件中提取一些图像

我使用 containerd 在我的 K8S 中启动 docker 映像。我无法在我的环境中放置代理,并且在节点 vm 上无法访问互联网。

我已经安装了一个 JCR,以便能够获取 docker 映像并将其作为镜像提供。这个 JCR 可以上网。

当我查看 K8S 内部时,我总是看到它无法提取沙盒图像“k8s.gcr.io/pause:3.1”,它总是会出现 i/o 超时

我在我的 Jcr 里面放了几个 docker repot 存储库

docker -remote https://registry-1.docker.io/ k8s.gcr.io https://k8s.gcr.io/

和一个名为 docker 的虚拟

我把我的 containerd.toml

然后它能够​​拉出图像,但我真的不明白为什么它不能用“ ”通配符拉出这个图像。我无法为所有需要找到解决方案以使“ ”工作的 docker 注册表执行此操作。

quay.io 出现了另一个 pb 对于 docker registy quay.io 我从来没有设法镜像它即使我把

对于这张图片quay.io/coreos/flannel:v0.11.0-amd64 ,结果如下:

0 投票
1 回答
123 浏览

linux - 使用 containerd 为容器创建同级进程

我有一个 Kubernetes 集群(Docker 和 containerd),我在其中部署了Weave CNI 插件

在检查主节点进程(ps -aef --forest)时,我可以看到containerd-shim运行 weave 插件的进程在它的树中有 3 个进程:

我不明白的是从脚本进程(kube-utilspid 31199)发出的进程(pid 31656)如何是它的兄弟进程而不是子进程?launch.sh

我试图创建一个类似的环境来模拟这种情况,方法是从以下创建一个 docker 映像:

在我的情况下,与 weavelaunch.sh的想法相似:

将其部署到集群后,我得到以下进程树:

您可以看到这两个进程都是主容器进程的子进程,而不是兄弟进程。

根据上面的编织场景,我希望该sleep 2000进程将是该进程的兄弟launch.sh而不是子进程。

知道如何解释上面的编织情况吗?我怎样才能在本地重现这个?或者在什么情况下为容器进程创建了兄弟进程?

谢谢你们。

0 投票
1 回答
422 浏览

kubernetes - 无法获取 cpu pod 指标,k8s-containerd-containerd-shim-runsc-v1-gvisor

我从 gvisor-containerd-shim (Shim V1) 迁移到 containerd-shim-runsc-v1 (Shim V2)。在 gvisor-containerd-shim 的情况下,指标服务器和 Horizo​​ntal Pod Autoscaler 过去工作得很好。

但是现在,使用 containerd-shim-runsc-v1,我不断获得节点和 runc pod 的 CPU 和内存指标,但我只获得 runc (gvisor) pod 的内存指标。

例如,我使用 containerd-shim-runsc-v1 在 gvisor pod 中部署了一个 PHP 服务器。我得到以下指标:

在向 php-apache-gvisor pod 发送一些负载后,我可以看到节点和 runc pod(负载生成器)的 CPU 和内存使用增量。我还可以看到 php-apache-gvisor 的内存从 52 Mi 增加到 72 Mi,但它的 CPU 使用率保持在 0%。为什么cpu使用率一直保持在0%?

我也尝试了不同的容器图像,但我一直得到相同的结果。

随着负载,我得到以下指标:

更多信息:

kubeadm,kubernetes 1.15.3,containerd 1.3.3,runsc nightly/2019-09-18,法兰绒

/etc/containerd/config.toml (containerd-shim-runsc-v1)

/etc/containerd/config.toml (gvisor-containerd-shim)

指标服务器 yaml 基于https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml,具有以下参数

当前部署具有以下资源部分

0 投票
2 回答
1782 浏览

docker - docker:来自守护进程的错误响应:ttrpc:已关闭:未知。将 containerd 升级到 1.4.0 后

将 containerd 升级到 1.4.0 后,运行 docker 容器失败并出现以下错误

作为参考,我使用的是 Arch Linux。