加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_盐城站长网 (https://www.0515zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

OpenStack虚拟机如何获取metadata

发布时间:2018-09-29 12:46:09 所属栏目:站长百科 来源:佚名
导读:副标题#e# 技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战 1. 关于OpenStack metadata服务 我们知道OpenStack虚拟机是通过cloud-init完成初始化配置,比如网卡配置、hostname、初始化密码以及密钥配置等。cloud-init是运行在虚拟

另外需要注意的是,新版本的OpenStack是直接使用haproxy代理转发的,在一些老版本中则使用neutron-ns-metadata-proxy进程负责转发,实现的代码位于neutron/agent/metadata/namespace_proxy.py:

  1. def _proxy_request(self, remote_address, method, path_info, 
  2.                        query_string, body): 
  3.     headers = { 
  4.         'X-Forwarded-For': remote_address, 
  5.     } 
  6.  
  7.     if self.router_id: 
  8.         headers['X-Neutron-Router-ID'] = self.router_id 
  9.     else: 
  10.         headers['X-Neutron-Network-ID'] = self.network_id 
  11.  
  12.     url = urlparse.urlunsplit(( 
  13.         'http', 
  14.         '169.254.169.254', 
  15.         path_info, 
  16.         query_string, 
  17.         '')) 
  18.  
  19.     h = httplib2.Http() 
  20.     resp, content = h.request( 
  21.         url, 
  22.         method=method, 
  23.         headers=headers, 
  24.         body=body, 
  25.         connection_type=agent_utils.UnixDomainHTTPConnection) 

(编辑:网站开发网_盐城站长网 )

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!