标签: containerd

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

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

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

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

overlay                          6281216  4375116   1906100  70% /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/3cd5b4cad915d0914436df95359e7685aa89fcd3f95f0b51e9a3d7db6f11d01b/rootfs
overlay                          6281216  4375116   1906100  70% /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/fd2a513ce2736f10e98a203939aaa60bd28fbbb4f9ddbbd64a0aedbf75cae216/rootfs
overlay                          6281216  4375116   1906100  70% /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/73865fcfa8b448d71b9b7c8297192b16612bd01732e3aa56d6e6a3936305b4a2/rootfs
overlay                          6281216  4375116   1906100  70% /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/fc68e6653cec69361823068b3afa2ac51ecd6caf791bf4ae9a65305ec8126f37/rootfs
overlay                          6281216  4375116   1906100  70% /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/7fcd3e8789f0ca7c8cabdc7522722697f76456607cbd0e179dd4826393c177ec/rootfs
overlay                          6281216  4375116   1906100  70% /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/9334ed12649bcdb1d70f4b2e64c80168bdc86c897ddf699853daf9229516f5cf/rootfs
overlay                          6281216  4375116   1906100  70% /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/de1c6f47cf82ff3362f0fc3ed4d4b7f5326a490d177513c76641e8f1a7e5eb1a/rootfs
overlay                          6281216  4375116   1906100  70% /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/079c26817021c301cb516dab2ddcf31f4e224431d6555847eb76256369510482/rootfs
overlay                          6281216  4375116   1906100  70% /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/d0da2f62430306d25565072edf478ad92752255a40830544101aeb576b862a5f/rootfs
overlay                          6281216  4375116   1906100  70% …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes containerd k3s overlayfs

7
推荐指数
1
解决办法
9046
查看次数

`docker start`并行?

我在一个Docker网络上旋转1000个容器,所有这些都来自同一个Docker镜像.

目前部署需要很长时间.我已经分离的过程分为docker createdocker start,而不是单片docker run.

有没有办法同时旋转容器? - 很高兴在编程接口(Go,C,无论如何)中工作,或使用CLI命令.

相关:Docker Engine可以并行启动容器 [3年前询问和回答]

docker docker-engine containerd

6
推荐指数
1
解决办法
466
查看次数

如何使用containerd运行时ssh到同类集群节点?

我已经使用 containerd 运行时创建了一个 Kind 集群。这是我的节点:

root@dev-001:~# k get nodes -o wide
NAME                          STATUS   ROLES                  AGE    VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE       KERNEL-VERSION     CONTAINER-RUNTIME
local-cluster-control-plane   Ready    control-plane,master   7d8h   v1.20.2   172.18.0.2    <none>        Ubuntu 20.10   5.4.0-81-generic   containerd://1.4.0-106-gce4439a8
local-cluster-worker          Ready    <none>                 7d8h   v1.20.2   172.18.0.5    <none>        Ubuntu 20.10   5.4.0-81-generic   containerd://1.4.0-106-gce4439a8
local-cluster-worker2         Ready    <none>                 7d8h   v1.20.2   172.18.0.3    <none>        Ubuntu 20.10   5.4.0-81-generic   containerd://1.4.0-106-gce4439a8
local-cluster-worker3         Ready    <none>                 7d8h   v1.20.2   172.18.0.4    <none>        Ubuntu 20.10   5.4.0-81-generic   containerd://1.4.0-106-gce4439a8
Run Code Online (Sandbox Code Playgroud)

我如何 ssh 进入节点?

种类版本:0.11.1 或更高版本

运行时:containerd(不是docker)

kubernetes containerd kind

6
推荐指数
1
解决办法
8592
查看次数

是否可以使用 ctr 命令运行具有端口转发的容器?

我目前正在使用 containerd 运行我的应用程序容器进行测试,但遇到网络问题。

我需要向应用程序容器的端口 5000 发送一些请求,尽管 ctr 手册上没有关于运行具有端口转发的容器的描述。

使用 docker,我们可以执行如下操作:

docker run test-image -d -p 5000:5000
Run Code Online (Sandbox Code Playgroud)

我可以使用 ctr 命令做同样的事情吗?我知道 nerdctl 可以做到这一点,但由于某些原因在我的公司内很难使用这个工具。

containers containerd

6
推荐指数
1
解决办法
1557
查看次数

如何使用最新的 Kubernetes 从不安全的私有注册表中提取 docker 镜像

我正在尝试使用来自私有不安全注册表的 docker 容器映像创建一个 k8s pod。使用最新的 K8s,我收到 ErrImagePull,因为它抱怨 http 与 https 的注册表不安全。

\n
  Type     Reason     Age   From               Message\n  ----     ------     ----  ----               -------\n  Normal   Scheduled  7s    default-scheduler  Successfully assigned imagename to xxxx\n  Normal   Pulling    7s    kubelet            Pulling image "registry:5000/imagename:v1\xe2\x80\x9d\n  Warning  Failed     6s    kubelet            Failed to pull image "registry:5000/imagename:v1\xe2\x80\x9d: rpc error: code = Unknown desc = failed to pull and unpack image "registry:5000/imagename:v1\xe2\x80\x9d: failed to resolve reference "registry:5000/imagename:v1\xe2\x80\x9d: failed to do request: Head "https://registry:5000/v2/imagename/manifests/v1\xe2\x80\x9d: http: server gave HTTP response to HTTPS client\n …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes containerd

6
推荐指数
2
解决办法
1万
查看次数

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

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

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

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

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

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

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


我以前从未使用过 contains,并且我不知道如何为我的应用程序准备 contains 图像。这就是我问的原因。

docker kubernetes containerd microk8s

5
推荐指数
1
解决办法
5973
查看次数

使用containerd的ctr以容器中的另一个用户身份执行命令

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

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

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

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

有可能吗?

docker kubernetes containerd microk8s

5
推荐指数
1
解决办法
5103
查看次数

如何停止containerd/ctr中的容器

使用 ctr相当于什么docker stop [containerID]?我似乎无法通过 contianer 选项找到它,或者我错过了一些 ctr 概念......

docker containerd

5
推荐指数
1
解决办法
1万
查看次数

用于拉取图像的 Containerd ctr 命令出现错误

我是 Containerd 的新手,我正在尝试使用 Containerd 运行 Windows 容器。安装 Containerd 后,我只是尝试从注册表中提取映像,但遇到了以下问题。我遇到的问题来自处理图像时的容器运行时 hcssshim::ProcessBaseLayer 方法。请帮助我解决问题。我正在使用containerd 1.6.0-rc.1(预发布)。我之所以使用它是因为我想尝试 Windows HostProcess 容器。PFB 问题。

PS C:\Program Files\containerd> .\crictl.exe pull mcr.microsoft.com/windows/nanoserver:20H2
time="2022-01-21T07:29:44Z" level=fatal msg="pulling image: rpc error: code = Unknown desc = failed to pull and unpack image \"mcr.microsoft.com/windows/nanoserver:20H2\": failed to extract layer sha256:4370934b39e53babdf58bfe6ff2bcc662e068d3b71bd015ea280a402a89e6673: hcsshim::ProcessBaseLayer \\\\?\\C:\\ProgramData\\containerd\\root\\io.containerd.snapshotter.v1.windows\\snapshots\\12: The specified module could not be found.: unknown"
Run Code Online (Sandbox Code Playgroud)

shim windows-container containerd

5
推荐指数
0
解决办法
878
查看次数

Containerd 的日志文件在哪里?

我正在使用 crictl pull 来拉取图像,但它挂在 PullImageRequest 处。我想知道发生了什么,那么containerd的日志文件在哪里,不是容器运行的日志,而是containerd本身的日志

kubernetes containerd

5
推荐指数
2
解决办法
2万
查看次数