问题标签 [lxd]

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 回答
5518 浏览

google-kubernetes-engine - 我可以从我自己的自定义操作系统创建 LXC 映像吗?

我是 lxc 的新手。我想从现有的操作系​​统创建我自己的 lxc 容器(我自己的 unix 内核编译在不同的架构中)。我正在尝试使用“lxc-create”。谁能建议我如何创建自己的容器,是否可以使用这种方法创建一个容器?创建自己的容器后是否需要更改任何配置?

如果 lxc 不适合这个,我可以用任何其他容器引擎来实现它吗?PS 我不需要虚拟机或任何虚拟机管理程序来实现相同的目标。

0 投票
1 回答
221 浏览

containers - LXD 上缺少网络功能?

我正在尝试为我的lxd容器配置网络选项,但是当我尝试以下命令时:

我得到以下结果:

root@Server02:/var/lib# lxc network create testbr0
Usage: lxc [options]

检查可用命令列表,我不认为网络是一个选项

以下是我看到的可用命令:

配置、复制、删除、执行、文件、手指、图像、信息、初始化、启动、列表、监控、移动、暂停、配置文件、发布、远程、重新启动、恢复、快照、启动、停止、版本

我正在使用 Ubuntu 14.04

有什么见解吗?

谢谢

0 投票
0 回答
905 浏览

lxc - 通过 API 将 LXC 容器从一台主机移动到另一台主机

我是 LXC 容器的新手,我知道如何使用 cli move 代码将容器从一个主机移动到另一个主机,但是如何使用 pylxd api 或任何其他 api 来做到这一点,我需要能够为我即将到来的项目做到这一点,谢谢。

0 投票
0 回答
497 浏览

ubuntu - LXD 非特权容器创建错误?[LXD、树莓派3B]

我在 Raspberry Pi 3B 上运行 Ubuntu MATE 16.04(内核版本 4.4.38-v7+)。我正在尝试使用 LXD,但对虚拟化不熟悉,我很难创建一个非特权容器。

这些是我遵循的安装步骤:

但是,最后一个命令的输出会产生错误:

这些是我的 subuid 和 subgid 文件的内容:

我尝试更改lxdroot更改,100000:65536但结果仍然相同。我已经阅读了一些关于像这样和其他线程的 uid/gid 分配的参考资料,但我仍然无法找到解决这个问题的方法。谁能告诉我怎么了?如何创建非特权容器?

0 投票
1 回答
445 浏览

linux - HAProxy 和 LXD 容器 - 基于裸域、特定子域和所有其他子域的路由

我曾尝试寻找类似的解决方案来解决我遇到的问题,但找不到任何东西。

我已经设置了一些 LXD 容器,一个是 HAProxy,它从主机的公共 IP 地址接收端口 80 流量。HAProxy 然后根据域将流量发送到正确的容器。

我遇到的问题是,即使我已经为 设置了domain_specific_subdomainACL 规则subdomain.example.com,其他domain_rootACL 规则仍然优先。

容器:

  • lxd-container-web1:如果根域或任何其他子域使用,例如 (www., dev.) 'example.com'
  • lxd-container-web2:仅在此特定子域“subdomain.example.com”时使用

问题:我怎样才能让裸域example.com和所有其他子域(例如 www.、dev. 等)转到此后端,backend_web1除了subdomain.example.com应该转到:backend_web2后端。

这是我的配置文件:

0 投票
1 回答
691 浏览

configuration - LXD Init 将数据从预先存在的 ZFS 池移动到哪里?

TL;博士;

我发现我使用 设置的zfs内容、过程lxd中可能执行的操作lxd init以及我期望看到的内容之间存在一些差异。

我已经使用 LXD 大约一个月了,浏览了文档并进行了几次搜索,但它们似乎没有触及这个话题。

请查看以下部分以获取有关我的问题的更多详细信息:

  1. 有人可以解释为什么我观察到 LXD 和 ZFS 之间的挂载点差异以及这可能会产生什么影响(如果有的话)?
  2. LXD 是否实际上tank/lxd数据集内容从其挂载位置 at和 into移出ZFS 池 VDEV ,还是正在执行其他操作?(a)我如何确认/验证这两种情况?(b)更好的是,我怎样才能让 LXD 将所有内容保存/放入我设置使用的数据集中?/mnt/tank/lxd/.../var/lib/lxd/...zfs
  3. 我希望通常存储的所有内容都/var/lib/lxd/存储在tank/lxd我指定的范围内lxd init:我该怎么做?(一个好的 ZFS/LXD 方式更可取;我可以 mv /var/lib/lxd进入油箱和ln -s指向的目录/mnt/tank/...,但这似乎是一个糟糕的 hack,并且想要避免它。必须有更好的方法。)

提前致谢。


背景

我在 Ubuntu 18.04 中使用 LXD 3.0.0,将其设置为使用预先存在的 ZFS 池和数据集。这是运行lxd init的样子:

这看起来和我预期的一样。然后我运行lxd init并跟进如下:

完成上述内容zfs list显示如下:

LXD 创建了一些数据集,但mountpoints 不再是它们以前的样子(即tank/lxd消失了),也不是我所期望的(下面没有lxd/...列出任何内容)。简而言之,原来的挂载点消失了,其他数据集也没有像我预期的那样出现。

我在这里可能错了,但看起来LXD 已经将应该/mnt/tank/lxd/... 位于 ZFS 池 vdevs/var/lib/lxd/下的数据移到了安装操作系统的 LVM 上的目录中。我不确定我错过了什么。

我可以使用zfs set命令来改变“正确”这个:

并验证它们是否再次按预期显示:

但这似乎是一个部分解决方案,因为所有其他文件(例如lxd.db,密钥等)都留在了/var/lib/lxd. 所以,我不确定我是否在“修复”任何东西,或者是否有任何东西需要修复。

此外,我不清楚我是否真的用这些zfs set命令实现了任何目标。例如,touch /var/lib/lxd/containers/hi.txt不显示 下的文件如果他们都在看同一个位置/mnt/tank/lxd/containers/,我会预料到的。

在此先感谢您的帮助。


EDIT0:评论和结果中的建议测试

有人建议我尝试写出一些文件作为测试,以根据系统信息查看实际使用的空间在哪里消耗。测试步骤如下:

  1. 销毁并重新创建 ZFS 池和 LXD 配置,但不运行zfs set mountpoint命令让 LXD 做自己的事情,看看会发生什么。(为简洁起见,下面省略了步骤。)
  2. 作为对照,检查主机上的池/数据集存储容量和使用情况。
  3. 输入一个容器,然后对空间使用情况进行另一次控制检查。
  4. 在容器内写出一个测试文件。
  5. 对步骤 1 和 2 重复检查以查找更改。

结果是不确定的,可以在下面看到。

2.主机上的控制检查

3. 容器内部

4.在容器中写出测试文件

5.1。检查容器的结果

5.2. 检查主机的结果

df -h在创建/销毁测试文件之前和之后在主机上运行命令也显示没有任何变化。我用一个更大的(100GB)测试文件重复了这个,但没有注意到有什么不同。

0 投票
2 回答
1414 浏览

docker - 如何在 centos 7 lxc 中运行 docker?

我让它在 Ubuntu 上工作security.privileged,并且security.nesting很好。然而,在 centos7 中,docker 守护进程在尝试拉取图像时会失败。它甚至不能运行 hello-world。存在某些文件夹不存在的 cgroup 冲突。无论如何,有没有这样做的成功例子?我最终尝试运行 Kubernetes 并为 master 和 worker 使用 lxc/lxd 容器,但我需要它在 centos 中工作。确切的错误信息:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:279: applying cgroup configuration for process caused \"open /sys/fs/cgroup/systemd/lxc/docker-test/docker/cpuset.cpus: no such file or directory\"": unknown. ERRO[0000] error waiting for container: context canceled

确切的设置是一个安装了 lxd 并从 go 构建的 centos7 Digital Ocean Droplet。使用 lxc 我创建了一个 centos7 容器。在那个机器容器中,我正在尝试运行 docker。我意识到这就像容器启动,但它绝对适用于 ubuntu,所以我想它应该适用于 centos。

0 投票
1 回答
330 浏览

ubuntu - 错误状态下的 LXD 容器

我有一个 Ubuntu 16.04 LTS 系统,我在其中创建了 3 个 LXD 容器。他们在哪里工作得很好。系统在没有意外停止容器的情况下被重置。现在它们处于错误状态,我无法启动它们。当我尝试启动它们中的任何一个时,我都会遇到相同的错误(即使我尝试删除它们,我也会得到它):

错误:无法导入 ZFS 池:无法导入“lxd”:没有可用的池

有什么办法可以恢复它们吗?

我的系统是:

lxc list 得到以下结果:

0 投票
1 回答
259 浏览

package-managers - LXC - 无法从 linux 容器访问包管理器

我在 Fedora 27 机器上安装了 LXD。我前段时间配置了它,它运行得很好,以至于我忘记了我是如何设置一切的。我只是尝试创建一个新容器并成功创建,但我无法让它访问包管理器。我隐约记得,当我在安装所有内容时创建其他容器时,这是一个问题,但我不记得我是如何修复它的。截至目前,我的其他旧容器工作正常,可以访问包管理器,一切正常。但是当我创建一个新容器时,它就像包管理器不存在一样。

如何使用 LXD 将包管理器安装到新的 Linux 容器?

谢谢,

-尤雷尔

0 投票
0 回答
186 浏览

cloud - 如何在juju的ocata openstack中部署多区域?

我无法使用 juju 部署为 Openstack Ocata 添加多区域支持。

我正在按照链接中给出的步骤(针对单个区域):LXD 上的 OpenStack

对于多区域,我被困在哪里进行更改,所以我有主区域(可能是区域零)和从属区域(可能是区域一和区域二),它们可以在Openstack dashboard. 请指导我如何进行多区域设置。