马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
在openstack上的虚拟机绑定vip有些情况下,客户想在openstack的虚拟机上配置vip搭建高可用集群,下面我就简单的说下在openstack上的虚拟机如何绑定vip
3 M- n1 F+ y% s+ f i( l9 v. r 操作步骤1、导入环境变量 source admin-openrc
( p+ Q. f) b& m! A# E: S/ f
2 ^$ ~- a- A6 ]$ y5 W5 X7 q8 ^; a$ J3 ~+ r2、执行命令neutron net-list查看网络,找到自己需要设置的网络,获取subnet_id和network_id neutron net-list id | name | tenant_id | subnets 32482d56-bb40-4b7f-85df-3be3a460e441 | HA network tenant 7ba30c1e519d4d6eb8f1ace2cfbf30d3 | | 860bf95f-4775-4fac-af88-db392f254416 169.254.192.0/18 7cc26554-2795-4a53-b053-34ec1b4c90f2 | web | 7ba30c1e519d4d6eb8f1ace2cfbf30d3 | 4b1f707b-8842-4ce0-acba-4f0de304459b 192.168.1.0/24 9 [! E* \! n! b* l' i
1, j+ d b& L; `( I9 [
2
3 `9 |, t3 G: y) U; k, r3 ^0 ~8 ^ G3 B1 _1 F' b
4
2 k' C/ G( D+ V7 l* `* B5
! V$ W5 O: P, P" j4 r62 h* ]/ O# g4 @/ N3 D' w
7) K5 o& z$ G* P8 T, n: N7 Q
8/ Q5 |& Q9 B) I m
| # neutron net-list% `" n* J6 t H/ X6 H
+--------------------------------------+----------------------------------------------------+----------------------------------+-------------------------------------------------------+
9 j$ J* K0 K; u/ z ~" T, X| id | name | tenant_id | subnets |3 H5 y( w7 b" q8 i. `
+--------------------------------------+----------------------------------------------------+----------------------------------+-------------------------------------------------------+
$ j! X5 y! X. n: _| 32482d56-bb40-4b7f-85df-3be3a460e441 | HA network tenant 7ba30c1e519d4d6eb8f1ace2cfbf30d3 | | 860bf95f-4775-4fac-af88-db392f254416 169.254.192.0/18 |2 {8 {) q; _/ X
| 7cc26554-2795-4a53-b053-34ec1b4c90f2 | web | 7ba30c1e519d4d6eb8f1ace2cfbf30d3 | 4b1f707b-8842-4ce0-acba-4f0de304459b 192.168.1.0/24 |/ ` ]5 z$ A7 c8 P5 u- x
| d0ad534f-1bcd-43b0-aa0c-edee32520020 | public | 21c161dda51147fb9ff527aadfe1d81a | 9a7f07e5-e906-4622-8bc6-def64b3622ec 172.18.23.0/24 |
( ]6 V/ o* [4 x6 J( M0 r+--------------------------------------+----------------------------------------------------+----------------------------------+-------------------------------------------------------+
. c. c/ W/ O/ ]! O* b/ U6 k | 5 \7 ~5 w; p3 O3 ~' R K1 \- g! N
2 \! P1 y. @+ m/ J( b' [
3、创建port来占用ip,保证neutron不会将此IP在分配出去,导致IP冲突问题。
& D0 U8 a: i7 k4 l; R 1. I2 _" K L, y5 t! F
2; s# ~$ r& e9 J9 E8 {
3
u: h! q$ H5 w+ }% L4& a0 o8 S$ R8 u3 c/ b2 _6 |
5" T% u. q- x! t" T
| neutron port-create --fixed-ip subnet_id=<subnet_id>,ip_address=<vip> <network_id>
+ l7 t5 g3 m# R5 p) }) @注:
* }; \( t! D% u6 p/ r 替换subnet_id为neutron net-list中查看到的subnet_id
0 i9 L( t3 E5 n; l. h' \ 替换vip为需要配置的vip地址
7 ^& |: I- `2 f8 V 替换network_ID为neutron net-list中查看到的network_id% }/ g* @7 h9 L, @4 {" y
| / q7 \" A! j8 [8 v3 J6 ] c
具体命令如下
2 w2 \9 i& p2 E3 ]) K# W6 B 1! Q- g7 e, [+ J( l
2
7 e4 U8 B3 |% r& X/ g# ^+ ?3+ e% I q: c8 Z0 p! V( x5 V3 x# R6 g
4
# s3 ?5 e. X! X2 |4 j5
. `9 z/ ~7 p% L& y: R( g6! p0 S* F# i7 A: Y! B& o0 P, v
7) q7 a B* z" @5 M
8
9 ^$ \: a6 [9 l' W8 P9( c- y4 h0 E( P3 s( J( A7 @0 v
10$ T3 p6 F ?7 \; ?( m# J1 Z! U
11
; c" r5 @% W" M+ B7 _123 c3 i# W8 V4 F) O
13
# M4 {2 _1 o+ l8 {: \5 K' v14) Y3 P' K. X% A) a1 |
153 W% x5 b$ J5 ?+ u' ~$ @9 h
16
/ H3 {- N( j6 n& ~# T, \/ {17- R. l: u# k* ]% c# B9 d
18: f) y1 G5 E s* P
19* t" G# y& i( B3 l6 k7 R
20
# h" [: _" S7 g! @, n q" K21
% N, r% k; w' t, e& D& k0 t8 X% c22
- W1 j% V5 F" J) A' d23% y$ C. }; I8 `1 p* M
244 ?' q" K/ T4 K7 [2 q' U n
25
( s$ Q! `7 x6 o9 J1 y+ G26
& `$ h( q2 @) y: L+ w( X27; g1 S5 w* ~8 R+ r7 J
280 T) ~! S4 k1 u
29. k0 v! _9 U9 n
30
6 X/ z6 s5 S- I$ o$ i4 b b* W% j' t31
( H* l3 O" T1 _9 }. V | # neutron port-create --fixed-ip subnet_id=9a7f07e5-e906-4622-8bc6-def64b3622ec,ip_address=172.18.23.10 d0ad534f-1bcd-43b0-aa0c-edee32520020
# h$ j1 b; r7 I2 K% FCreated a new port:
6 C7 O& _; ~; @' X+ i+-----------------------+-------------------------------------------------------------------------------------+
/ }0 ~. {' J, K* K9 x| Field | Value |# H+ G0 B. |4 T0 E: h5 C) g
+-----------------------+-------------------------------------------------------------------------------------+1 W; m& |3 |. ~: a! q" ]) i5 ^
| admin_state_up | True |1 ?$ C" e3 q$ l
| allowed_address_pairs | |4 w) [5 S5 ~" N8 p( O* C* N
| binding:host_id | |
& d* M* l! r5 N# g& M' @- ^9 K- i| binding:profile | {} |
& [" W4 ]/ T) }. D; C| binding:vif_details | {} |
+ N5 D( R9 f1 L- b| binding:vif_type | unbound |
( b6 q+ J5 E5 U ^ g: e) O' r8 @| binding:vnic_type | normal |
& ~9 p2 U% Y( A6 Q: e9 ?3 F| created_at | 2017-11-28T02:35:17Z | N- f- I+ ^5 u9 P# P8 }% O" |( i; C
| description | |/ Q, E. K, t n5 C6 k
| device_id | |
( C8 d+ |9 Y* Z4 @) A' {| device_owner | |' K8 z! z7 A+ }# A' i) q
| extra_dhcp_opts | |
- E# L" L: }+ g9 Y( \| fixed_ips | {"subnet_id": "9a7f07e5-e906-4622-8bc6-def64b3622ec", "ip_address": "172.18.23.10"} |- @) X# M# N0 e5 z- a% ^2 E8 U
| id | 7c7ccc26-9ac9-4ef7-8178-2b97218b1d63 |
; a- M/ c! j* q6 a| mac_address | fa:16:3e:ea:81:a6 |
0 c( U9 @* b/ j| name | |
7 o0 n3 M! H) c/ G& o& T s| network_id | d0ad534f-1bcd-43b0-aa0c-edee32520020 |
: l# k& m- q' J8 ]- a' t| port_security_enabled | True |+ F* D% a0 ~0 t2 [5 G8 V
| project_id | 21c161dda51147fb9ff527aadfe1d81a |/ E; I: X) g- f# ^! v, a: Q2 J
| revision_number | 5 |
" u K3 x- N5 g4 e$ v- i| security_groups | abfba384-55f2-4eed-902a-712369be9604 |7 a* @2 E$ P+ o. A2 D9 ?- m
| status | DOWN |0 r; ~& T1 O; M+ T$ ]" q" {
| tags | |" k$ R0 d" `5 R: O
| tenant_id | 21c161dda51147fb9ff527aadfe1d81a |3 _5 ?6 Q, c$ N5 f$ P) s
| updated_at | 2017-11-28T02:35:18Z |. f0 }$ c. ^4 T# y# T2 p
+-----------------------+-------------------------------------------------------------------------------------+4 ?) u% O. I. y0 t( L5 ]
|
7 W. s/ o+ V7 {. X7 x8 ~
" T2 R$ l; h8 z& l8 R# }4、执行命令neutron port-list查看端口,找到VIP的Port ID以及需要使用VIP的虚拟机的IP对应的Port id
/ T1 @, j" l# t比如两台虚拟机做HA绑定vip,那么需要查看两台虚拟机的port ID和这个vip的port ID
N( P: m4 v( ^1
( q+ B' e" a1 P& c1 @+ K2
9 P+ I5 V9 Y! Z6 `/ N0 l% I/ i | # neutron port-list|grep 172.18.23.10+ I% L: { t9 H9 w% O, }3 ]
| 7c7ccc26-9ac9-4ef7-8178-2b97218b1d63 | | 21c161dda51147fb9ff527aadfe1d81a | fa:16:3e:ea:81:a6 | {"subnet_id": "9a7f07e5-e906-4622-8bc6-def64b3622ec", "ip_address": "172.18.23.10"} |
! n$ K1 c$ j" X) E" _* ^ | ' q; x5 R1 J4 F+ I; b" W3 V
可以看出vip172.18.23.10的port id为7c7ccc26-9ac9-4ef7-8178-2b97218b1d63.
0 S: J& }/ S+ E- ?9 O9 f5、取消安全组对应端口的管理* Z' g2 B( u2 g1 e ^ F
1: V; T) G1 _2 I. B: Y I9 W
2- c7 z i; [. X& R# k
3) P G. G, O8 E# ^6 Z. j
4* O- z1 h9 }2 N4 K
| neutron port-update --no-security-groups <Port_id>0 {: ]4 t7 W5 ^+ j# U
neutron port-update --port_security_enabled=false <Port_id> v1 Z3 _. K. U! {1 z1 M& x
注:
0 ` h/ Z8 s! j+ M7 Z 替换Port_id为之前neutron port-list中找到的Port_id
* ?3 b" S/ D, c4 @7 z |
5 ]) P% S5 n) s7 T. T具有命令如下:
8 B6 D3 H5 Y6 N- K! R 1
6 e9 M' I% y: m. e2 p, P2. y7 g0 ^6 z1 I x. p
3
5 M# v4 }1 a9 Q; S5 Q5 `, z4
E; B+ F( K& V/ n | # neutron port-update --no-security-groups 7c7ccc26-9ac9-4ef7-8178-2b97218b1d636 L3 j2 j" ]2 O+ A8 N
Updated port: 7c7ccc26-9ac9-4ef7-8178-2b97218b1d630 G( h/ s$ p# B, I
# neutron port-update --port_security_enabled=false 7c7ccc26-9ac9-4ef7-8178-2b97218b1d638 M1 g( M# |& c0 T; ]
Updated port: 7c7ccc26-9ac9-4ef7-8178-2b97218b1d63
! o0 {, i9 l$ U4 F O |
) m) {! n0 d3 w# a+ i3 y6、此时执行命令neutron port-show 9 m7 q5 X. R q7 b9 b. C( G3 l9 k# U" f2 ^: C
4 `( c* b5 a) f% z h$ o3 @
可看到port_security_enabled的value为False,security_groups的value为空,即OK,这样两个端口就没有了安全组了。
^( l- O6 |% ^7、意思就是对VIP和需要使用VIP的虚拟机都执行4、5、6步,比如配置HA,VIP+两台虚拟机,总共3个Port,都需要执行4、5、6步7 f" {5 |+ H* |0 C3 w0 g. w4 n% z
然后就可以在这两台虚拟机上搭建keepalived集群使用172.18.23.10这个vip了。 |