共計(jì) 2368 個字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。
自動寫代碼機(jī)器人,免費(fèi)開通
這篇文章主要介紹了 LXD 和 OpenStack 的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
介紹
首先對這次的延期抱歉。為了讓一切正常我花了很長時間。我 *** 次嘗試是使用 devstack 時遇到了一些必須解決問題。然而即使這樣,我還是不能夠使網(wǎng)絡(luò)正常。
我終于放棄了 devstack,并使用用戶友好的 Juju 嘗試使用“conjure-up”部署完整的 Ubuntu OpenStack。它終于工作了!
下面是如何運(yùn)行一個完整的 OpenStack,使用 LXD 容器而不是 VM,并在 LXD 容器中運(yùn)行所有這些 (嵌套的!)。
要求
這篇文章假設(shè)你有一個可以工作的 LXD 設(shè)置,提供容器網(wǎng)絡(luò)訪問,并且你有一個非常強(qiáng)大的 CPU,大約 50GB 給容器空間和至少 16G B 的內(nèi)存。
記住,我們在這里運(yùn)行一個完整的 OpenStack,這東西不是很輕量!
設(shè)置容器
OpenStack 由大量不同做不同事情的組件組成。一些需要一些額外的特權(quán),為了可以使設(shè)置更簡單,我們將使用特權(quán)容器。
我們將配置支持嵌套的容器,預(yù)加載所有需要的內(nèi)核模塊,并允許它訪問 /dev/mem(顯然是需要的)。
請注意,這意味著 LXD 容器的大部分安全特性對該容器被禁用。然而由 OpenStack 自身產(chǎn)生的容器將是無特權(quán)的,并且可以正常使用 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,它會嘗試加載已經(jīng)加載到主機(jī)上的內(nèi)核模塊。這已在 LXD 2.5 中得到修復(fù),并將在 LXD 2.0.6 中修復(fù),但在此之前,可以使用以下方法:
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
*** 一步是在容器內(nèi)部配置 LXD 網(wǎng)絡(luò)。
所有問題都選擇默認(rèn),除了:
使用 dir 存儲后端 (zfs 不在嵌套容器中用)
不要配置 IPv6 網(wǎng)絡(luò) (conjure-up/juju 不太兼容它)
lxc exec openstack -- lxd init
現(xiàn)在配置完容器了,現(xiàn)在我們部署 OpenStack!
用 conjure-up 部署 OpenStack
如先前提到的,我們用 conjure-up 部署 OpenStack。
這是一個很棒的用戶友好的可以與 Juju 交互來部署復(fù)雜服務(wù)的工具。
首先:
lxc exec openstack -- sudo -u ubuntu -i conjure-up
選擇“OpenStack with NovaLXD”
選擇“l(fā)ocalhost”作為部署目標(biāo) (使用 LXD)
點(diǎn)擊“Deploy all remaining applications”
接下來會部署 OpenStack。整個過程會花費(fèi)一個多小時,這取決于你運(yùn)行的機(jī)器。你將看到所有服務(wù)會被分配一個容器,然后部署并最終互連。
Conjure-Up deploying OpenStack
部署完成后會顯示一個安裝完成的界面。它會導(dǎo)入一些初始鏡像、設(shè)置 SSH 權(quán)限、配置網(wǎng)絡(luò) *** 會顯示面板的 IP 地址。
訪問面板并生成一個容器
面板運(yùn)行在一個容器中,因此你不能直接從瀏覽器中訪問。
最簡單的方法是設(shè)置一條 NAT 規(guī)則:
lxc exec openstack -- iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to IP
其中 ip 是 conjure-up 在安裝結(jié)束時給你的面板 IP 地址。
你現(xiàn)在可以獲取“openstack”容器的 IP 地址 (來自 lxc info openstack),并將瀏覽器指向:http:// container ip /horizon。
*** 次加載可能需要幾分鐘。一旦顯示了登錄界面,輸入默認(rèn)登錄名和密碼 (admin/openstack),你就會看到 OpenStack 的歡迎面板!
oslxd-dashboard
現(xiàn)在可以選擇左邊的“Project”選項(xiàng)卡,進(jìn)入“Instances”頁面。要啟動一個使用 nova-lxd 的新實(shí)例,點(diǎn)擊“Launch instance”,選擇你想要的鏡像,網(wǎng)絡(luò)等,接著你的實(shí)例就產(chǎn)生了。
一旦它運(yùn)行后,你可以為它分配一個浮動 IP,它將允許你從你的“openstack”容器中訪問你的實(shí)例。
感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“LXD 和 OpenStack 的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
向 AI 問一下細(xì)節(jié)
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!