问题标签 [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.
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 ?
docker - 是否可以将 microk8s 设置为使用 docker 引擎而不是 containerd?
首先,我不是容器编排工具方面的专家。
我刚刚根据指南 安装了microk8s : https ://microk8s.io/docs/
如果我运行microk8s kubectl get nodes
,我会看到,我的节点实际上正在运行containerd
引擎。
我的应用程序构建过程设置为生成 docker 文件并自动创建 docker 映像,所以我希望 microk8s 也使用 docker。
之前用过minikube,现在决定试试microk8s。现在我有点困惑,也许从一开始就坚持使用 docker 是个坏主意?
是否可以为 microk8s 设置 docker 引擎?
我以前从未使用过包含,也不知道如何为我的应用准备包含的图像。这就是我问的原因。
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 没有意义
docker - 如何识别 runc 容器是否以特权身份运行?
不管 docker/crio/containerd 启动容器,有没有办法了解 runc 容器是否作为特权容器运行?
docker inspect
确实显示出特权,但我想在 runc 层找到答案。
docker - libcontainer 在 docker 堆栈中的位置是什么?
我知道的典型 docker 容器堆栈是 docker(client) -> dockerd -> containerd -> runC。然后您还会听说libcontainer。我想知道 libcontainer 在上面的堆栈中的位置以及它的作用/目的是什么。
docker - 除了 runC,containerd 还支持哪些运行时?
containerd 是否支持除 runC 之外的任何其他运行时?
此外,containerd网站说,“一个行业标准的容器运行时,强调简单性、健壮性和可移植性”。这是否指任何特定标准,如 OCI 或 CRI。
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
,结果如下:
linux - 使用 containerd 为容器创建同级进程
我有一个 Kubernetes 集群(Docker 和 containerd),我在其中部署了Weave CNI 插件。
在检查主节点进程(ps -aef --forest
)时,我可以看到containerd-shim
运行 weave 插件的进程在它的树中有 3 个进程:
我不明白的是从脚本进程(kube-utils
pid 31199)发出的进程(pid 31656)如何是它的兄弟进程而不是子进程?launch.sh
我试图创建一个类似的环境来模拟这种情况,方法是从以下创建一个 docker 映像:
在我的情况下,与 weavelaunch.sh
的想法相似:
将其部署到集群后,我得到以下进程树:
您可以看到这两个进程都是主容器进程的子进程,而不是兄弟进程。
根据上面的编织场景,我希望该sleep 2000
进程将是该进程的兄弟launch.sh
而不是子进程。
知道如何解释上面的编织情况吗?我怎样才能在本地重现这个?或者在什么情况下为容器进程创建了兄弟进程?
谢谢你们。
kubernetes - 无法获取 cpu pod 指标,k8s-containerd-containerd-shim-runsc-v1-gvisor
我从 gvisor-containerd-shim (Shim V1) 迁移到 containerd-shim-runsc-v1 (Shim V2)。在 gvisor-containerd-shim 的情况下,指标服务器和 Horizontal 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,具有以下参数
当前部署具有以下资源部分
docker - docker:来自守护进程的错误响应:ttrpc:已关闭:未知。将 containerd 升级到 1.4.0 后
将 containerd 升级到 1.4.0 后,运行 docker 容器失败并出现以下错误
作为参考,我使用的是 Arch Linux。