最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
OpenStack虛擬機(jī)中Metadata是什么

小編給大家分享一下OpenStack虛擬機(jī)中Metadata是什么,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

在云岡等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),云岡網(wǎng)站建設(shè)費(fèi)用合理。

前言

剛接觸OpenStack的朋友都知道,我們?cè)趧?chuàng)建虛擬機(jī)的時(shí)候選擇密鑰對(duì),虛擬機(jī)創(chuàng)建完畢后,直接使用ssh無密碼就可以登錄到虛擬機(jī),那么我們創(chuàng)建的my-key如何就這么神奇的被放到了虛擬機(jī)中呢?

OpenStack虛擬機(jī)中Metadata是什么

OpenStack metadata

要理解如何實(shí)現(xiàn)的,我們需要先了解OpenStack的metadata。metadata字面上是元數(shù)據(jù),主要用來給客戶提供一個(gè)可以修改設(shè)置OpenStack  instence(云主機(jī))的機(jī)制,就像我們想在虛擬機(jī)放置一個(gè)公鑰這樣的需求,或者設(shè)置主機(jī)名等都可以通過metadata來實(shí)現(xiàn)。讓我來梳理一下思路:

1.OpenStack有一個(gè)叫做Metadata的東東。

2.我們創(chuàng)建虛擬機(jī)時(shí)候設(shè)置的主機(jī)名、密鑰對(duì),都保存在Metadata中。

3.虛擬機(jī)創(chuàng)建后,在啟動(dòng)的時(shí)候獲取Metadata,并進(jìn)行系統(tǒng)配置。

虛擬機(jī)如何取到Metadata?

那么虛擬機(jī)到底是怎么取到這個(gè)metadata呢?讓我們?cè)谔摂M機(jī)試試這個(gè)。

$ curl http://169.254.169.254/2009-04-04/meta-data  ami-id  ami-launch-index  ami-manifest-path  block-device-mapping/  hostname  instance-action  instance-id  instance-type  local-hostname  local-ipv4  placement/  public-hostname  public-ipv4  public-keys/  reservation-id

是不是有點(diǎn)驚訝,注意到我們請(qǐng)求的IP地址了嗎,169.254.169.254,這是什么魔法?從哪里冒出來一個(gè)這樣的IP地址,竟然還可以訪問,我們肯定從來沒有配置過類似奇怪的IP地址在任何OpenStack的服務(wù)中。

那我們就到虛擬機(jī)里面去一探究竟,既然能訪問,那么根據(jù)OSI七層模型來理解,一定有到這個(gè)IP地址的路由存在吧。

OpenStack虛擬機(jī)中Metadata是什么

我們使用ip ro  li列出虛擬機(jī)路由,可以看到果然有一條路由:169.254.169.254從192.168.57.100出去,那么誰擁有這個(gè)IP地址呢?我們先來控制節(jié)點(diǎn)上(當(dāng)然更嚴(yán)謹(jǐn)?shù)恼f是在運(yùn)行Neutron-dhcp-agent的節(jié)點(diǎn)上)找一找。

# ip netns li qdhcp-ec14e723-ff09-4dab-a9e9-26dc6facc0fd

我們可以看到在控制節(jié)點(diǎn)有一個(gè)qdhcp的namespace,這個(gè)是我們啟動(dòng)Neutron-DHCP-Agent生成的,我們可以看下它的IP地址是什么。

OpenStack虛擬機(jī)中Metadata是什么

它竟然有兩個(gè)IP地址,192.168.57.100和169.254.169.254。再繼續(xù)往下探索之前,我們先停下來,那么怎么設(shè)置讓DHCP給虛擬機(jī)推送這個(gè)路由呢?答案在我們當(dāng)時(shí)配置DHCP-Agent的時(shí)候。

# vim/etc/neutron/dhcp_agent.ini  enable_isolated_metadata = true

有一個(gè)Web服務(wù)?

好的,由于我們使用的橋接網(wǎng)卡,那么訪問169.254.269.254的請(qǐng)求非常順利的被送到了qdhcp-ec14e723-ff09-4dab-a9e9-26dc6facc0fd這個(gè)namespace這里。那么需要有一個(gè)Web服務(wù)監(jiān)聽在80端口給我們提供吧,我們繼續(xù)看:

OpenStack虛擬機(jī)中Metadata是什么

果然有一個(gè)Apache監(jiān)聽在80端口,為我們默默的提供metadata。所以虛擬機(jī)就是這么獲取這些信息的:

獲取用戶注入的key:

OpenStack虛擬機(jī)中Metadata是什么

獲取主機(jī)名

OpenStack虛擬機(jī)中Metadata是什么

獲取IP地址

OpenStack虛擬機(jī)中Metadata是什么

現(xiàn)在你終于知道OpenStack創(chuàng)建虛擬機(jī)之后到底是怎么獲取到這些meta-data信息了吧。不過別忘了。這個(gè)是我們用的cirros的小鏡像才有的。如果你自己創(chuàng)建一個(gè)鏡像可不會(huì)這么智能,那么怎么辦呢?我相信聰明的你已經(jīng)想到了最簡(jiǎn)單的方案:

在啟動(dòng)的時(shí)候執(zhí)行一個(gè)腳本。這個(gè)腳本通過訪問meata-data獲取內(nèi)容,然后設(shè)置到系統(tǒng)上。把這個(gè)腳本放到/etc/rc.local中。如果你不想這個(gè)腳本每次都執(zhí)行,你還可以在執(zhí)行完畢后,再把自己從/etc/rc.local中移除。

OpenStack虛擬機(jī)中Metadata是什么

當(dāng)然還有其它的方案。例如使用cloud-init這個(gè)軟件包。

為啥是169.254.169.254?

或許你和我有一樣的疑問,為啥這個(gè)meatadata的ip地址是169.254.169.254呢?這個(gè)就要提到Amazon了。因?yàn)閙etadata是亞馬遜提出來的。然后大家再給亞馬遜定制各種操作系統(tǒng)鏡像的時(shí)候獲取metadata的api地址就寫的是169.254.169.254。為了這些鏡像也能在OpenStack上運(yùn)行,為了兼容它。OpenStack就保留了這個(gè)地址。其實(shí)早期的OpenStack版本是通過iptables  NAT來映射169.254.169.254到真實(shí)API的IP地址上。不過現(xiàn)在更靈活了,直接在虛擬機(jī)里面增加了一條路由條目來實(shí)現(xiàn),讓虛擬機(jī)順利的訪問到這個(gè)IP地址。

看完了這篇文章,相信你對(duì)“OpenStack虛擬機(jī)中Metadata是什么”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


網(wǎng)站欄目:OpenStack虛擬機(jī)中Metadata是什么
標(biāo)題來源:http://fisionsoft.com.cn/article/jesdjc.html