问题标签 [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.
google-kubernetes-engine - 我可以从我自己的自定义操作系统创建 LXC 映像吗?
我是 lxc 的新手。我想从现有的操作系统创建我自己的 lxc 容器(我自己的 unix 内核编译在不同的架构中)。我正在尝试使用“lxc-create”。谁能建议我如何创建自己的容器,是否可以使用这种方法创建一个容器?创建自己的容器后是否需要更改任何配置?
如果 lxc 不适合这个,我可以用任何其他容器引擎来实现它吗?PS 我不需要虚拟机或任何虚拟机管理程序来实现相同的目标。
containers - LXD 上缺少网络功能?
我正在尝试为我的lxd
容器配置网络选项,但是当我尝试以下命令时:
我得到以下结果:
root@Server02:/var/lib# lxc network create testbr0
Usage: lxc [options]
检查可用命令列表,我不认为网络是一个选项
以下是我看到的可用命令:
配置、复制、删除、执行、文件、手指、图像、信息、初始化、启动、列表、监控、移动、暂停、配置文件、发布、远程、重新启动、恢复、快照、启动、停止、版本
我正在使用 Ubuntu 14.04
有什么见解吗?
谢谢
lxc - 通过 API 将 LXC 容器从一台主机移动到另一台主机
我是 LXC 容器的新手,我知道如何使用 cli move 代码将容器从一个主机移动到另一个主机,但是如何使用 pylxd api 或任何其他 api 来做到这一点,我需要能够为我即将到来的项目做到这一点,谢谢。
ubuntu - LXD 非特权容器创建错误?[LXD、树莓派3B]
我在 Raspberry Pi 3B 上运行 Ubuntu MATE 16.04(内核版本 4.4.38-v7+)。我正在尝试使用 LXD,但对虚拟化不熟悉,我很难创建一个非特权容器。
这些是我遵循的安装步骤:
但是,最后一个命令的输出会产生错误:
这些是我的 subuid 和 subgid 文件的内容:
我尝试更改lxd
和root
更改,100000:65536
但结果仍然相同。我已经阅读了一些关于像这样和其他线程的 uid/gid 分配的参考资料,但我仍然无法找到解决这个问题的方法。谁能告诉我怎么了?如何创建非特权容器?
linux - HAProxy 和 LXD 容器 - 基于裸域、特定子域和所有其他子域的路由
我曾尝试寻找类似的解决方案来解决我遇到的问题,但找不到任何东西。
我已经设置了一些 LXD 容器,一个是 HAProxy,它从主机的公共 IP 地址接收端口 80 流量。HAProxy 然后根据域将流量发送到正确的容器。
我遇到的问题是,即使我已经为 设置了domain_specific_subdomain
ACL 规则subdomain.example.com
,其他domain_root
ACL 规则仍然优先。
容器:
- lxd-container-web1:如果根域或任何其他子域使用,例如 (www., dev.) 'example.com'
- lxd-container-web2:仅在此特定子域“subdomain.example.com”时使用
问题:我怎样才能让裸域example.com
和所有其他子域(例如 www.、dev. 等)转到此后端,backend_web1
除了subdomain.example.com
应该转到:backend_web2
后端。
这是我的配置文件:
configuration - LXD Init 将数据从预先存在的 ZFS 池移动到哪里?
TL;博士;
我发现我使用 设置的zfs
内容、过程lxd
中可能执行的操作lxd init
以及我期望看到的内容之间存在一些差异。
我已经使用 LXD 大约一个月了,浏览了文档并进行了几次搜索,但它们似乎没有触及这个话题。
请查看以下部分以获取有关我的问题的更多详细信息:
- 有人可以解释为什么我观察到 LXD 和 ZFS 之间的挂载点差异以及这可能会产生什么影响(如果有的话)?
- LXD 是否实际上将
tank/lxd
数据集内容从其挂载位置 at和 into移出ZFS 池 VDEV ,还是正在执行其他操作?(a)我如何确认/验证这两种情况?(b)更好的是,我怎样才能让 LXD 将所有内容保存/放入我设置使用的数据集中?/mnt/tank/lxd/...
/var/lib/lxd/...
zfs
- 我希望通常存储的所有内容都
/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 创建了一些数据集,但mountpoint
s 不再是它们以前的样子(即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:评论和结果中的建议测试
有人建议我尝试写出一些文件作为测试,以根据系统信息查看实际使用的空间在哪里消耗。测试步骤如下:
- 销毁并重新创建 ZFS 池和 LXD 配置,但不运行
zfs set mountpoint
命令让 LXD 做自己的事情,看看会发生什么。(为简洁起见,下面省略了步骤。) - 作为对照,检查主机上的池/数据集存储容量和使用情况。
- 输入一个容器,然后对空间使用情况进行另一次控制检查。
- 在容器内写出一个测试文件。
- 对步骤 1 和 2 重复检查以查找更改。
结果是不确定的,可以在下面看到。
2.主机上的控制检查
3. 容器内部
4.在容器中写出测试文件
5.1。检查容器的结果
5.2. 检查主机的结果
df -h
在创建/销毁测试文件之前和之后在主机上运行命令也显示没有任何变化。我用一个更大的(100GB)测试文件重复了这个,但没有注意到有什么不同。
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。
ubuntu - 错误状态下的 LXD 容器
我有一个 Ubuntu 16.04 LTS 系统,我在其中创建了 3 个 LXD 容器。他们在哪里工作得很好。系统在没有意外停止容器的情况下被重置。现在它们处于错误状态,我无法启动它们。当我尝试启动它们中的任何一个时,我都会遇到相同的错误(即使我尝试删除它们,我也会得到它):
错误:无法导入 ZFS 池:无法导入“lxd”:没有可用的池
有什么办法可以恢复它们吗?
我的系统是:
我lxc list
得到以下结果:
package-managers - LXC - 无法从 linux 容器访问包管理器
我在 Fedora 27 机器上安装了 LXD。我前段时间配置了它,它运行得很好,以至于我忘记了我是如何设置一切的。我只是尝试创建一个新容器并成功创建,但我无法让它访问包管理器。我隐约记得,当我在安装所有内容时创建其他容器时,这是一个问题,但我不记得我是如何修复它的。截至目前,我的其他旧容器工作正常,可以访问包管理器,一切正常。但是当我创建一个新容器时,它就像包管理器不存在一样。
如何使用 LXD 将包管理器安装到新的 Linux 容器?
谢谢,
-尤雷尔
cloud - 如何在juju的ocata openstack中部署多区域?
我无法使用 juju 部署为 Openstack Ocata 添加多区域支持。
我正在按照链接中给出的步骤(针对单个区域):LXD 上的 OpenStack
对于多区域,我被困在哪里进行更改,所以我有主区域(可能是区域零)和从属区域(可能是区域一和区域二),它们可以在Openstack dashboard
. 请指导我如何进行多区域设置。