LXD和OpenStack的示例分析

57次阅读
没有评论

共计 2368 个字符,预计需要花费 6 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍了 LXD 和 OpenStack 的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

介绍

首先对这次的延期抱歉。为了让一切正常我花了很长时间。我 *** 次尝试是使用 devstack 时遇到了一些必须解决问题。然而即使这样,我还是不能够使网络正常。

我终于放弃了 devstack,并使用用户友好的 Juju 尝试使用“conjure-up”部署完整的 Ubuntu OpenStack。它终于工作了!

下面是如何运行一个完整的 OpenStack,使用 LXD 容器而不是 VM,并在 LXD 容器中运行所有这些 (嵌套的!)。

要求

这篇文章假设你有一个可以工作的 LXD 设置,提供容器网络访问,并且你有一个非常强大的 CPU,大约 50GB 给容器空间和至少 16G B 的内存。

记住,我们在这里运行一个完整的 OpenStack,这东西不是很轻量!

设置容器

OpenStack 由大量不同做不同事情的组件组成。一些需要一些额外的特权,为了可以使设置更简单,我们将使用特权容器。

我们将配置支持嵌套的容器,预加载所有需要的内核模块,并允许它访问 /dev/mem(显然是需要的)。

请注意,这意味着 LXD 容器的大部分安全特性对该容器被禁用。然而由 OpenStack 自身产生的容器将是无特权的,并且可以正常使用 LXD 的安全特性。

lxc launch ubuntu:16.04 openstack -c security.privileged=true -c security.nesting=true -c  linux.kernel_modules=iptable_nat, ip6table_nat, ebtables, openvswitch  lxc config device add openstack mem unix-char path=/dev/mem

LXD 中有一个小 bug,它会尝试加载已经加载到主机上的内核模块。这已在 LXD 2.5 中得到修复,并将在 LXD 2.0.6 中修复,但在此之前,可以使用以下方法:

lxc exec openstack -- ln -s /bin/true /usr/local/bin/modprobe

我们需要加几条 PPA 并安装 conjure-up,它是我们用来安装 OpenStack 的部署工具。

lxc exec openstack -- apt-add-repository ppa:conjure-up/next -y lxc exec openstack -- apt-add-repository ppa:juju/stable -y lxc exec openstack -- apt update lxc exec openstack -- apt dist-upgrade -y lxc exec openstack -- apt install conjure-up -y

*** 一步是在容器内部配置 LXD 网络。

所有问题都选择默认,除了:

使用 dir 存储后端 (zfs 不在嵌套容器中用)

不要配置 IPv6 网络 (conjure-up/juju 不太兼容它)

lxc exec openstack -- lxd init

现在配置完容器了,现在我们部署 OpenStack!

用 conjure-up 部署 OpenStack

如先前提到的,我们用 conjure-up 部署 OpenStack。

这是一个很棒的用户友好的可以与 Juju 交互来部署复杂服务的工具。

首先:

lxc exec openstack -- sudo -u ubuntu -i conjure-up

选择“OpenStack with NovaLXD”

选择“localhost”作为部署目标 (使用 LXD)

点击“Deploy all remaining applications”

接下来会部署 OpenStack。整个过程会花费一个多小时,这取决于你运行的机器。你将看到所有服务会被分配一个容器,然后部署并最终互连。

Conjure-Up deploying OpenStack

部署完成后会显示一个安装完成的界面。它会导入一些初始镜像、设置 SSH 权限、配置网络 *** 会显示面板的 IP 地址。

访问面板并生成一个容器

面板运行在一个容器中,因此你不能直接从浏览器中访问。

最简单的方法是设置一条 NAT 规则:

lxc exec openstack -- iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to  IP

其中 ip 是 conjure-up 在安装结束时给你的面板 IP 地址。

你现在可以获取“openstack”容器的 IP 地址 (来自 lxc info openstack),并将浏览器指向:http:// container ip /horizon。

*** 次加载可能需要几分钟。一旦显示了登录界面,输入默认登录名和密码 (admin/openstack),你就会看到 OpenStack 的欢迎面板!

oslxd-dashboard

现在可以选择左边的“Project”选项卡,进入“Instances”页面。要启动一个使用 nova-lxd 的新实例,点击“Launch instance”,选择你想要的镜像,网络等,接着你的实例就产生了。

一旦它运行后,你可以为它分配一个浮动 IP,它将允许你从你的“openstack”容器中访问你的实例。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“LXD 和 OpenStack 的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-07发表,共计2368字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)