OpenStack-Zun 使用

Zun組件簡介

Zun是Openstack中提供容器管理服務的組件,于2016年6月建立。Zun的目標是提供統一的Openstack API用于啟動和管理容器,支持多種容器技術。Zun原來稱為Higgins,后改名為Zun。

Zun計劃支持多種容器技術,Docker,Rkt,clear container等,目前只支持Docker、對于k8s 的開發進度社區也已經很快進行中。

zun組件的架構圖

Openstack支持容器主要有Nova Docker driver,Heat Docker driver和Magnum等多個方案。Nova Docker driver方案將容器像虛擬機一樣操作,通過增加 Nova Docker driver,實現對 Docker容器的啟停、創建等常規虛擬機的操作。缺點是由于Docker和虛擬機差別,導致容器的許多功能無法實現,例如容器關聯、端口映射等。

Zun目標在于解決 Nova Docker driver方案存在的問題,獨立于 Nova 之外實現 Docker 部署調度框架,自身實現與 Glance、Neutron、Cinder等組件的集成,但并不實現對容器編排引擎(Container Orchestration Engines COE)的部署調度。Nova-docker通過Nova API訪問容器,而Zun不受Nova API的限制。

Magnum是OpenStack中一個提供容器集群部署的服務,通過Heat部署虛擬機和物理機,組成集群,然后調用COE接口完成容器的部署。Magnum項目創建之初,項目目標以Caas為宗旨,即容器即服務;在后續的發展中將功能集中在容器的集群部署上。Zun和Magnum的差異在于Zun目標是提供管理容器的API,而Magnum提供部署和管理容器編排引擎(COE)的API。

Zun將容器作為Openstack管理的資源,為用戶提供了創建和管理這些容器的接口。被Zun管理的容器和其他Openstack資源能夠良好的集成在一起,例如Neutron網絡和Cinder卷。用戶使用統一的、簡化的API接口來管理容器,而不需要關心不同容器技術的差異。

Zun不準備實現COE提供的很多先進的功能(例如容器保活、負載均衡等),而是提供基本的容器操作(CRUD),并和Openstack緊密集成。

Zun組件的使用

Zun組件提供了大量的命令用于部署和管理容器

接下來具體玩法:

查看neutron網絡:
(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 |
+--------------------------------------+-------+--------------------------------------+


創建容器:
(openstack) appcontainer run --name container01 --net network=430e352f-d501-4fdb-9748-30b5557081ef centos ping 8.8.8.8

查看zun-compute,這個網絡是從neutron自動同步過來的
[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

查看容器是否創建成功:
[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

?

我測試的容器,容器和vm公用neutron網絡

?

?

?

?

接下來開放容器端口:

?

配置上浮動IP就可以訪問容器了

?有興趣的可以看看Zun 的Capsule 玩法。在實際使用中上面的方式可以略顯麻煩。可以考慮Zun?Capsule 方式創建

轉載于:https://www.cnblogs.com/menkeyi/p/9340073.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397472.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397472.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397472.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【優雅代碼】深入淺出 妙用Javascript中apply、call、bind

這篇文章實在是很難下筆,因為網上相關文章不勝枚舉。 巧合的是前些天看到阮老師的一篇文章的一句話: “對我來說,博客首先是一種知識管理工具,其次才是傳播工具。我的技術文章,主要用來整理我還不懂的知識。我只寫那些…

PHP筆記隨筆

1.CSS控制頁面文字不能復制: body{-webkit-user-select:none;} 2.【php過濾漢字和非漢字】 $sc"aaad....##--__i漢字過濾"; //iconv("UTF-8","GB2312",$sc);utf-8轉碼 echo $temperegi_replace("[^\x80-\xff]",""…

qt linux 添加庫文件路徑,Linux下Qt調用共享庫文件.so

jvm--4垃圾收集6. 垃圾收集GC (1)當需要排查各種內存溢出,內存泄漏等問題,當GC成為系統達到更高性能的瓶頸時,我們就需要對這些自動化的GC進行監控和調節. (2)PC計數器.本地方法棧.虛擬機棧,隨方法或者線 ...GET和POSTAjax與Comet 1. Ajax Asynchronous Javascriptxml :能夠向服…

js進階 14-8 表單序列化函數serializeArray()和serialize()的區別是什么

js進階 14-8 表單序列化函數serializeArray()和serialize()的區別是什么 一、總結 一句話總結:兩者都是對表單進行序列化,serializeArray()返回的是json對象,serialize()返回的是json形式的字符串,使用起來都是一樣的 1、$&#x…

HDU 2842 Chinese Rings(矩陣高速功率+遞歸)

職務地址:HDU 2842 這個游戲是一個九連環的游戲。 如果當前要卸下前n個環。由于要滿足前n-2個都卸下,所以要先把前n-2個卸下。須要f(n-2)次。然后把第n個卸下須要1次,然后這時候要卸下第n-1個。然后此時前n-2個都已經被卸下了。這時候把前n-2…

硬鏈接與軟連接

linux系統硬鏈接和軟連接: 1文件都由文件名和數據組成,在linux中文件被分為兩個部分:用戶數據和元數據。用戶數據:即文件數據塊,記錄真實數據的地方。元數據:文件的附加屬性,記錄文件的大小&…

linux 7.2中文命令,CentOS7如何支持中文顯示

1.查看系統是否安裝有中文語言包locale -a | grep "zh_CN" 命令含義:列出所有可用的公共語言環境的名稱,包含有"zh_CN"若出現圖中所示幾項,那么說明系統中已經安裝了語言包,不需要在安裝。含義是:…

html-拖拽

html-拖拽(draggable"true")拖拽的7個事件:> 拖拽塊.οndragstartfunction(){console.log("拖拽開始");}> 拖拽塊.οndragfunction(){console.log("拖拽中");}> 拖拽塊.οndragendfunction(){console…

大道至簡

道在中國哲學中,是一個重要的概念,表示“終極真理”。此一概念,不單為哲學流派諸子百家所重視,也被宗教流派道教等所使用。大道至簡是指大道理(基本原理、方法和規律)是極其簡單的,簡單到一兩句…

別人7天樂,運維還苦逼值班?

你被點名值班了嗎?或者你的朋友、隔壁七大姑八大姨的侄子被點名值班了嗎? 國慶將至,大家都開始研究各種度假攻略了,國內游、國外游、地球游、外星游。。。然而總有一票人,默默地職守著 -- tIT 公司運營支撐組/運維組。…

【常用損失函數】

一、Smooth L1 Loss 1.公式: 2.原因: L1損失使權值稀疏但是導數不連續,L2損失導數連續可以防止過擬合但對噪聲不夠魯棒,分段結合兩者優勢。 二、Focal Loss 1.公式: 2.作用: 使得正負樣本平衡的同時&#x…

ORA-01940: cannot drop a user that is currently connected解決方法

我們在刪除數據庫用戶時候會碰到如下錯誤 SQL> DROP USER sys_xj cascade; DROP USER sys_xj cascade*ERROR at line 1:ORA-01940: cannot drop a user that is currently connected 解決方法: 1.查詢出還在連接的此用戶會話進程 SQL> SELECT SID,SERIAL# FR…

實現對象克隆

實現Serializable接口,通過對象的序列化和反序列化實現克隆,可以實現真正的深度克隆,代碼如下 package com.lovo; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; i…

linux 讀取內存顆粒,linux查看主板內存槽與內存信息的命令dmidecode怎么用

在Linux中,我們常常使用命令來實現許多操作,比如查看內存信息等,下面小編就為大家帶來一篇linux查看主板內存槽與內存信息的命令dmidecode方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來…

python 圖像處理(從安裝Pillow開始)

python 圖像處理(從安裝Pillow開始) python2.x及以下用的是PIL(圖像處理庫是 PIL(Python Image Library)),最新版本是 1.1.7 可在http://www.pythonware.com/products/pil/index.htm 下載和學習。 不過從該網站可看出它不支持python3.x Pillow由PIL而來(支持3.x)&…

手機還是不要隨便更新的好

新入mate9pro 不到一個月,手賤升級了系統版本,出現導航搜索不到衛星的情況,軟件下載了高德地圖、騰訊地圖、百度地圖,逐一卸載安裝重試,沒一個能成功的,后來又下載了專業搜星軟件,還是搜不到衛星…

Java對象容器——List

為什么80%的碼農都做不了架構師?>>> 在Java中,我們可以用數組來存放同類型的變量或對象,但是數組有一個缺陷,它的長度不可變,必須在定義時給定其長度,所以說在一些場合下不適用。例如我們要存放…

STL學習筆記(數值算法)

運用數值算法之前必須先加入頭文件<numeric> 加工運算后產生結果 1.對序列進行某種運算 T accumulate(InputIterator beg,InputIterator end, T initValue) T accumulate(InputIterator beg,InputIterator end, T initValue,BinaryFunc op) 1.第一種形式計算InitValue和…

angualejs

為什么80%的碼農都做不了架構師&#xff1f;>>> http://segmentfault.com/a/1190000000347412 http://www.xker.com/page/e2015/06/199141.html http://www.runoob.com/angularjs/angularjs-application.html http://blog.csdn.net/lglgsy456/article/details/3690…

linux函數地址獲取函數名,函數名/函數地址/函數指針

函數指針&#xff1a;1。指針變量 2。指針變量指向函數這正如用指針變量可指向整型變量、字符型、數組一樣。在編譯時&#xff0c;每一個函數都有一個入口地址&#xff0c;該入口地址就是函數指針所指向的地址。可利用該指針變量調用函數&#xff0c;就如同用指針變量可引用其他…