成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入理解OpenStack虛擬機之Metadata

云計算 虛擬化 OpenStack
metadata字面上是元數(shù)據(jù),主要用來給客戶提供一個可以修改設(shè)置OpenStack instence(云主機)的機制,就像我們想在虛擬機放置一個公鑰這樣的需求,或者設(shè)置主機名等都可以通過metadata來實現(xiàn)。

前言

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

OpenStack metadata

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

1.OpenStack有一個叫做Metadata的東東。

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

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

虛擬機如何取到Metadata?

那么虛擬機到底是怎么取到這個metadata呢?讓我們在虛擬機試試這個。

  1. $ curl http://169.254.169.254/2009-04-04/meta-data 
  2.  
  3. ami-id 
  4.  
  5. ami-launch-index 
  6.  
  7. ami-manifest-path 
  8.  
  9. block-device-mapping/ 
  10.  
  11. hostname 
  12.  
  13. instance-action 
  14.  
  15. instance-id 
  16.  
  17. instance-type 
  18.  
  19. local-hostname 
  20.  
  21. local-ipv4 
  22.  
  23. placement/ 
  24.  
  25. public-hostname 
  26.  
  27. public-ipv4 
  28.  
  29. public-keys/ 
  30.  
  31. reservation-id 

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

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

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

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

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

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

  1. # vim/etc/neutron/dhcp_agent.ini 
  2.  
  3. enable_isolated_metadata = true 

有一個Web服務(wù)?

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

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

獲取用戶注入的key:

獲取主機名

獲取IP地址

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

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

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

為啥是169.254.169.254?

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

責(zé)任編輯:武曉燕 來源: 運維社區(qū)
相關(guān)推薦

2012-11-14 09:57:46

JavaJava虛擬機JVM

2024-03-29 11:42:21

Java虛擬機

2019-07-24 16:04:47

Java虛擬機并發(fā)

2018-07-10 15:10:50

OpenStack虛擬機metadata

2024-04-03 13:49:00

Java虛擬機方法區(qū)

2014-12-04 14:01:54

openstacknetworkneutron

2014-12-01 15:38:33

openstacknetworkneutron

2014-12-03 13:10:10

openstacknetworkneutron

2024-03-26 07:30:07

Java虛擬機源文件

2023-09-22 23:00:11

Java虛擬機

2024-04-10 07:40:45

Java虛擬機內(nèi)存

2021-02-17 11:25:33

前端JavaScriptthis

2011-12-28 13:24:47

JavaJVM

2014-11-27 15:32:31

openstacknetworkovs

2017-05-04 15:36:54

Openstack Q實現(xiàn)實踐

2019-12-31 10:45:30

JavaVisualVM高并發(fā)

2018-12-27 12:34:42

HadoopHDFS分布式系統(tǒng)

2019-03-18 09:50:44

Nginx架構(gòu)服務(wù)器

2022-09-05 22:22:00

Stream操作對象

2010-06-01 15:25:27

JavaCLASSPATH
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品69毛片高清亚洲 | 欧美a在线 | 久久精品一 | 午夜视频在线 | 精品一区二区三区在线视频 | 国产精品一区二区三级 | 日本精品视频一区二区 | 亚洲丝袜天堂 | 欧美不卡一区 | 亚洲一区二区三区在线 | 337p日本欧洲亚洲大胆精蜜臀 | 日日噜噜夜夜爽爽狠狠 | 免费在线成人 | 91日韩| 精品一二区| 日韩综合 | 久久国内精品 | 在线免费观看黄视频 | 韩日av在线| 久久久久中文字幕 | 欧美无乱码久久久免费午夜一区 | 亚洲成人综合在线 | 成人国产精品色哟哟 | 午夜影院在线观看免费 | 欧美成年网站 | 天天爽一爽 | 99精品国产一区二区三区 | 91精品国产乱码久久久久久 | 日韩有码一区二区三区 | 手机在线观看av | 精品1区2区 | 91色综合 | 91视频网| 欧洲av一区 | 一级片在线观看 | 国产草草视频 | 一区二区三区精品视频 | 欧美日韩国产高清 | 日本精品久久久久久久 | 亚洲色图综合 | 久久久精品一区二区 |