好日子,端口轉發OpenStack的實例
今天我要求所有傳入和傳出的流量將被重定向從我BareMetal實例向IP私有IP在安裝過程中最初給予DevStack。
OpenStack BareMetal Cloud Setup
如何我來到這個情況呢?我正在使用OpenStack環境,可以部署BareMetal實例(浮動IP:XXX.YYY.88.171,專用IP:10.140.82.189 [在eth0上])。用於旋轉此實例的映像是安裝了DevStack/Master的Ubuntu 14.04。此圖像上安裝了DevStack的快照最初是在本地IP爲10.140.82.125的BareMetal上創建的[在eth0上]。因此,現在無論何時使用此圖像旋轉一個實例,Baremetal OpenStack環境都會爲所有DevStack端點(10.140.82.125)中包含的IP分配一個私有IP(本例中爲10.140.82.189)。
這可以想象給了我們很多問題。
來解決這個問題,我能想到的最好的兩個方法是:
更改所有DevStack端點從10.140.82.125至10.140.82.189(有很多的問題需要考慮每個更新當遵循此路線時)
將每個端點的所有通信從10.140.82.189轉發到10.140.82.125。
我的進步:
首先我甚至無法訪問地平線儀表板(偶數儘管它在瀏覽器中鍵入時被顯示),這在本質將遵循:
XXX .YYY.88.171 - > 10.140.82.189:8800 - > 10.140.82.125:8800
出於某種原因,這會顯示實例的Horizon儀表板。當我輸入我的用戶名和密碼時,我將返回
無法建立與keystone端點的連接。
在終端,我ssh到10.140.82.189,如果我要求:
openstack catalog list
Unable to establish connection to http://10.140.82.125:5000/v2.0/tokens
如此看來,10.140.82.189是其API在執行調用它的IP,並要求重點對10.140令牌.82.125:5000。由於IP不匹配存在問題,並且不允許我登錄。
我繼續這樣做,以執行小端口轉發如下:
sudo ip addr add 10.140.82.125/22 dev eth0
sudo iptables -t nat -A PREROUTING -d 10.140.82.189 -j DNAT --to-destination 10.140.82.125
sudo iptables -t nat -A POSTROUTING -s 10.140.82.125 -j SNAT --to-source 10.140.82.189
現在我能夠登錄到帳戶MI並獲得終端的終端。不幸的是,在地平線內沒有從nova(http://10.140.82.125:8774)或任何其他服務中檢索到信息。試圖旋轉式實例在DevStack環境給了我下面的:
Error: Failed to get network list Connection to neutron failed: HTTPConnectionPool(host='10.140.82.125', port=9696): Max retries exceeded with url: //v2.0/networks.json?shared=False&tenant_id=bec332d4b9e6415cae0f51bb3e0de720 (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fd168377b90>: Failed to establish a new connection: [Errno 111] Connection refused',))
名單端點:示於評論
我不斷收到錯誤,所有的地方。作爲一個實例(使用devstack屏幕):
在一瞥的註冊表:
2016-01-20 06:09:23.173 DEBUG eventlet.wsgi.server [-] (8212) accepted ('10.140.82.189', 38273) from (pid=8212) server /usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py:826
中子-SVC(Q-SVC)
2016-01-20 06:17:30.581 WARNING neutron.db.agents_db [req-48ebcdf0-126c-4dfb-b3b2-f4b48ec9704a None None] Agent healthcheck: found 4 dead agents out of 4:
Type Last heartbeat host
DHCP agent 2016-01-13 19:08:16 gonzalo-devstack-ss
L3 agent 2016-01-13 19:08:08 gonzalo-devstack-ss
Metadata agent 2016-01-13 19:07:51 gonzalo-devstack-ss
Open vSwitch agent 2016-01-13 19:08:16 gonzalo-devstack-ss
2016-01-20 06:17:32.319 ERROR oslo.messaging._drivers.impl_rabbit [-] AMQP server 10.140.82.125:5672 closed the connection. Check login credentials: Socket closed
Q-AGT:
2016-01-20 06:19:14.308 ERROR oslo.messaging._drivers.impl_rabbit [-] AMQP server 10.140.82.125:5672 closed the connection. Check login credentials: Socket closed
而且我可以繼續下去。推進的建議是什麼?
DevStack端點[鏈接](http://paste.openstack.org/show/484373/) –