openstack平台 port與mac地址是強綁定關系,所以當在虛擬機上啟動keepalived vip時如果不做操作無法被外面通行到,作如下操作即可
1. 創建vip port
source keystonerc_admin && neutron port-create --fixed-ip ip_address=${VIP_IP} ${NETID}
-
參數說明
-
${VIP_IP} 即想要的vip地址
-
${NETID} 即想要的vip地址所在網絡id 可以通過
neutron net-list
查看
-
2. 更新端口信息
source keystonerc_admin && neutron port-update ${REALSERVER_PORT1_ID} --allowed-address-pairs type=dict list=true ip_address=${VIP_IP}
source keystonerc_admin && neutron port-update ${REALSERVER_PORT2_ID} --allowed-address-pairs type=dict list=true ip_address=${VIP_IP}
-
參數說明
-
${VIP_IP} 即想要的vip地址
-
${REALSERVER_PORT1_ID} 即vip后端第一台服務器的portid 可用
neutron port-list|grep ${REALSERVERIP1}
來查看,第一個字段即是 -
${REALSERVER_PORT2_ID} 與上面相同為第二台后端服務器的portid
-
注: 有多少個后端服務器則執行多少條上面格式的語句
3. 給vip綁定浮動ip(vlan網絡模式無需操作)
source keystonerc_admin && neutron floatingip-create --floating-ip-address ${VIP_FLOATINGIP} --port-id ${VIP_ID} ${FLOATINGIP_NETID}
-
參數說明:
-
${VIP_FLOATINGIP} vip規划的浮動ip(這條命令新建的需要之前沒有)
-
${VIP_ID} vip portid 可用
neutron port-list|grep ${VIP_ID}
來查看,第一個字段即是 -
${FLOATINGIP_NETID} 浮動ip網絡 netid 可以通過
neutron net-list
查看
-
操作完以上步驟,如后端服務正常則可以通過vip訪問