OpenStack-Zun 使用
Zun組件簡(jiǎn)介
Zun是Openstack中提供容器管理服務(wù)的組件,于2016年6月建立。Zun的目標(biāo)是提供統(tǒng)一的Openstack API用于啟動(dòng)和管理容器,支持多種容器技術(shù)。Zun原來(lái)稱為Higgins,后改名為Zun。
Zun計(jì)劃支持多種容器技術(shù),Docker,Rkt,clear container等,目前只支持Docker、對(duì)于k8s 的開(kāi)發(fā)進(jìn)度社區(qū)也已經(jīng)很快進(jìn)行中。
zun組件的架構(gòu)圖
Openstack支持容器主要有Nova Docker driver,Heat Docker driver和Magnum等多個(gè)方案。Nova Docker driver方案將容器像虛擬機(jī)一樣操作,通過(guò)增加 Nova Docker driver,實(shí)現(xiàn)對(duì) Docker容器的啟停、創(chuàng)建等常規(guī)虛擬機(jī)的操作。缺點(diǎn)是由于Docker和虛擬機(jī)差別,導(dǎo)致容器的許多功能無(wú)法實(shí)現(xiàn),例如容器關(guān)聯(lián)、端口映射等。
Zun目標(biāo)在于解決 Nova Docker driver方案存在的問(wèn)題,獨(dú)立于 Nova 之外實(shí)現(xiàn) Docker 部署調(diào)度框架,自身實(shí)現(xiàn)與 Glance、Neutron、Cinder等組件的集成,但并不實(shí)現(xiàn)對(duì)容器編排引擎(Container Orchestration Engines COE)的部署調(diào)度。Nova-docker通過(guò)Nova API訪問(wèn)容器,而Zun不受Nova API的限制。
Magnum是OpenStack中一個(gè)提供容器集群部署的服務(wù),通過(guò)Heat部署虛擬機(jī)和物理機(jī),組成集群,然后調(diào)用COE接口完成容器的部署。Magnum項(xiàng)目創(chuàng)建之初,項(xiàng)目目標(biāo)以Caas為宗旨,即容器即服務(wù);在后續(xù)的發(fā)展中將功能集中在容器的集群部署上。Zun和Magnum的差異在于Zun目標(biāo)是提供管理容器的API,而Magnum提供部署和管理容器編排引擎(COE)的API。
Zun將容器作為Openstack管理的資源,為用戶提供了創(chuàng)建和管理這些容器的接口。被Zun管理的容器和其他Openstack資源能夠良好的集成在一起,例如Neutron網(wǎng)絡(luò)和Cinder卷。用戶使用統(tǒng)一的、簡(jiǎn)化的API接口來(lái)管理容器,而不需要關(guān)心不同容器技術(shù)的差異。
Zun不準(zhǔn)備實(shí)現(xiàn)COE提供的很多先進(jìn)的功能(例如容器?;睢⒇?fù)載均衡等),而是提供基本的容器操作(CRUD),并和Openstack緊密集成。
Zun組件的使用
Zun組件提供了大量的命令用于部署和管理容器
接下來(lái)具體玩法:
查看neutron網(wǎng)絡(luò):
(openstack) network list
+--------------------------------------+-------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+-------+--------------------------------------+
| 430e352f-d501-4fdb-9748-30b5557081ef | vx600 | ffa869af-6b86-407a-9a84-8a839b30ef3b |
| c10df5e8-661e-4f52-b56b-a2f83b18a60e | vx500 | 35b3cbfa-9946-4819-9b2a-c889917ad6dc |
| c35653fa-092c-4e17-ab36-17e2466af619 | ext? ? ?| b7d4743f-6dff-4526-8f63-643e39000a90 |
+--------------------------------------+-------+--------------------------------------+
創(chuàng)建容器:
(openstack) appcontainer run --name container01 --net network=430e352f-d501-4fdb-9748-30b5557081ef centos ping 8.8.8.8
查看zun-compute,這個(gè)網(wǎng)絡(luò)是從neutron自動(dòng)同步過(guò)來(lái)的
[root@compute01 ~]# docker network list
NETWORK ID NAME DRIVER SCOPE
82238add79df 430e352f-d501-4fdb-9748-30b5557081ef kuryr global
78dffbdc2bb3 bridge bridge local
afd55e93f749 host host local
3de4b85f1ecc none null local
查看容器是否創(chuàng)建成功:
[root@compute01 ~]# docker ps
CONTAINER ID? ? ? ? ? IMAGE? ? ? ? ? ? ? ? ?COMMAND? ? ? ? ? ? ? ? ? ? ? ? CREATED? ? ? ? ? ? ? ? ? ? ?STATUS? ? ? ? ? ? ? ? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? ? ? ? ? ? NAMES
3a424b5859c0? ? ? ? centos:latest? ? ? ? ? ?"ping 8.8.8.8"? ? ? ? ? ? ? ? ? ? ? About a minute ago? ? ? ?Up About a minute? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? zun-dfc6176c-f210-4551-849f-33c6b172341b
f6d9875e2817? ? ? ? kuryr/libnetwork? ? ? ?"/opt/kuryr-libnetwo… "? ? ? ?42 hours ago? ? ? ? ? ? ? ? ?Up 8 minutes? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?kuryr-libnetwork
?
我測(cè)試的容器,容器和vm公用neutron網(wǎng)絡(luò)
?
?
?
?
接下來(lái)開(kāi)放容器端口:
?
配置上浮動(dòng)IP就可以訪問(wèn)容器了
?有興趣的可以看看Zun 的Capsule 玩法。在實(shí)際使用中上面的方式可以略顯麻煩??梢钥紤]Zun?Capsule 方式創(chuàng)建
轉(zhuǎn)載于:https://www.cnblogs.com/menkeyi/p/9340073.html
總結(jié)
以上是生活随笔為你收集整理的OpenStack-Zun 使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SqlServer 备份还原教程
- 下一篇: js进阶 14-8 表单序列化函数ser