|
|
楼主 |
发表于 2021-4-18 19:59:16
|
显示全部楼层
安装环境准备
2 j9 X0 }' i) a# b) F' |+ R* U官方部署文档:! J# B# \) n9 U9 r2 X' u
https://docs.openstack.org/kolla ... ser/quickstart.html
3 h; S! i# F I/ j/ c* x9 Q- P+ `( J$ h& S0 y: Y( Q6 W
本次部署train版all-in-one单节点,使用一台centos7.8 minimal节点进行部署,该节点同时作为控制节点、计算节点、网络节点和cinder存储节点使用,同时也是kolla ansible的部署节点。" A3 h D9 Q) y
$ y! c( \% M* x, R. t6 R2 p1 R
kolla安装节点要求:
# O6 j( Z# A; o5 l
) s* G& z# z2 q! T m2 network interfaces5 z7 p5 n' M% R% k5 Q9 M' r, v
8GB main memory: U* L( ?1 e3 ], x; ]' |) X
40GB disk space
$ [! z8 v- v9 t3 C如果是vmware workstation环境,勾选处理器选项的虚拟化引擎相关功能,否则后面需要配置nova_compute_virt_type=qemu参数,这里选择勾选,跳过以下步骤。: M3 r5 X1 K! ^( @! O! c
% Z' F; @- o1 c2 c' ]# cat /etc/kolla/globals.yml0 `( k% @! H c; z* J' l
nova_compute_virt_type: "qemu"7 \) P, ?: a, J% x" o: ~9 D9 J) t
$ d3 W% L; r* N' N
#或者部署完成后手动调整
: G" o6 ?/ ?' [. @) a6 i$ v[root@kolla ~]# cat /etc/kolla/nova-compute/nova.conf |grep virt_type& [( G7 t! }7 `- O3 a
#virt_type = kvm, j8 a/ d. g- q# w* |4 z& ^+ i) e
virt_type = qemu( [4 ~3 z# f9 k# c1 ?* \
3 k. x: @. ~4 r" J1 B% I& v[root@kolla ~]# docker restart nova_compute. b; [0 G4 V: o2 Q) \
16 R0 i, `) D g) Y ?, j* f
25 X& ^% o: q& ~+ }
3
. c8 k/ w$ T# d, D8 M5 `* e, {$ \7 E! Z4
$ U. p1 J5 U. h. J+ |5
/ N+ q1 ~1 |. M, _6 ^% x) j6
9 I2 |* ^2 [- _6 d, a7
' O' b$ O' [! Q. o1 N& U$ N/ C8" k% s- L9 |+ j8 z# U) Z) q% S
94 q7 r \- w P' `# T" @
kolla的安装要求目标机器至少两块网卡,本次安装使用2块网卡对应管理网络和外部网络两个网络平面,在vmware workstation虚拟机新增一块网卡ens37:
* ~& p- n. w: @/ R/ b9 X# l7 N4 W: k( i' J$ H; k, r2 `2 ]
ens33,NAT模式,管理网络,正常配置静态IP即可。租户网络与该网络复用,租户vm网络不单独创建网卡* c: e/ v& y U- v- |; S9 t& q
ens37,桥接模式,外部网络,无需配置IP地址,这个其实是让neutron的br-ex 绑定使用,虚拟机通过这块网卡访问外网。
/ C% D- B# h0 m# C( m nens37网卡配置参考:
; l9 a7 o/ o" t+ W+ \% Y O& Jhttps://docs.openstack.org/insta ... ing-controller.html
* s2 F8 ?: f7 L% d/ O5 ?0 C& p% }+ ]1 v4 V! w2 @0 b4 l
cat > /etc/sysconfig/network-scripts/ifcfg-ens37 <<EOF
0 B# @2 k+ Z" ?4 W. VNAME=ens371 e9 |2 i# q( y
DEVICE=ens37
- a& O1 ]' L4 a% B- B' a4 m7 QTYPE=Ethernet
( \/ D5 J. }5 G# V mONBOOT="yes"
8 ~+ N: P6 h' i5 b$ L8 T; JBOOTPROTO="none"
: F3 z7 r+ H6 v4 l. Q; eEOF
) Y# v- ~) Q1 c+ e' l0 {: N8 Z' V3 {- \4 g, D$ Y; ^: V
#重新加载en37网卡设备- h' P- ^$ a2 X& e, W
nmcli con reload && nmcli con up ens37
2 G" D' n5 \% K) s5 Z13 }6 f1 g0 i/ W
2! \4 v8 ~: F% r; y8 a x6 r# Q
3/ @) x1 D' ]# K% {
41 W# h O% N1 ?$ ?
5
2 H9 v. \6 z1 ]6 X/ p& I6& x B( c6 g; L( H( M
7
% Y+ k l" P" c, J. N8
L& B7 t/ W/ ^# D9
5 W% t! P- Z! m6 {$ v( l7 K0 p; m10. ?. b+ U+ L6 o$ i
如果启用cinder还需要额外添加磁盘,这里以添加一块/dev/sdb磁盘为例,创建为物理卷并加入卷组。% `- }) V6 I4 B U! E! C: [9 F. }
/ ]- A- U, x( P8 b/ O- F3 v# ~
pvcreate /dev/sdb
3 F! {' y1 j0 \2 C% }# I/ O8 s# q( pvgcreate cinder-volumes /dev/sdb* }( A2 X+ A1 \& [7 i- O
1
, z! K% \& o9 r6 ^$ ~. t1 j# w1 R2
+ c0 W. J. Q: h' @% F注意卷组名称为cinder-volumes,默认与后面的globals.yml中定义一致。& @& ~$ a! A. L
' m+ I, p. r+ n+ p# S% l5 O6 {
[root@kolla ~]# cat /etc/kolla/globals.yml | grep cinder_volume_group
( p0 l, H0 q' }8 r! j#cinder_volume_group: "cinder-volumes"
5 L ]( {$ B. _+ e0 [* [* z' C1( J1 Z+ r! |" i0 C9 ?0 U% [
2
' |* f L( c# }. y8 l4 g2 ~2 ~部署kolla ansible4 R! u$ p- V/ l$ D5 b
配置主机名,kolla预检查时rabbitmq可能需要能够进行主机名解析7 m. y s+ `7 q& R! c6 Y
& }9 N% u6 C1 l0 C% z. }5 n9 e9 }
hostnamectl set-hostname kolla! x% u1 c5 Z T, S) h4 H& `, f
1
' G; p9 `4 V$ b* J: d1 m& A# J- X( @' |安装依赖1 X' x# H$ t& L5 z6 w
) T+ | l* h; b3 U
yum install -y python-devel libffi-devel gcc openssl-devel libselinux-python8 ]% A$ ?( d- f7 U2 L. ?
1
: Q* L/ B2 Q) l0 ~+ I安装 Ansible,注意版本,默认2.9应该可以满足要求% U6 \* u( }' w) [" e: S- Y
1 [: ^+ n7 C" N# Y' zyum install -y ansible
- f+ G d( }" ~& V( F; F1 R1
$ s4 Y9 {' b ^" ^+ m5 s配置阿里云pip源,否则pip安装时会很慢
/ Q J, v0 n! Z) o7 Y% W* C' v
+ h c* h, O- E( X( Gmkdir ~/.pip
( m, z6 S# \# N! V/ l$ S9 o# Qcat > ~/.pip/pip.conf << EOF
1 R5 b, h5 _3 L. N |, B[global]& k7 r! i3 s8 ^. K
trusted-host=mirrors.aliyun.com/ D r. c& `. P+ W
index-url=https://mirrors.aliyun.com/pypi/simple/5 u! S: u( Y8 E# H& s5 B5 q" p
EOF: Q7 ]' _! }: Q: E# V l5 Q8 r' N" C
1
2 h# ^% U$ G$ T% @0 F3 a2
7 h: f$ i6 F/ Z" ?- a6 X3: h7 k# E8 W% b* z$ n! u0 _
46 ^/ L8 F& i, s( t6 ~8 ?
5$ W- h8 s v+ k" F5 H8 T6 ~
6
& k5 m, K- p6 v$ X6 u# b安装 kolla-ansible9 V' b0 N% c5 ?4 E" l; s
! {& h+ [1 D) Z
kolla版本与openstack版本对应关系:https://releases.openstack.org/teams/kolla.html3 w8 o' y- k" ^5 Y- t" @
G5 S* U7 c4 Z h$ qyum install -y epel-release% W$ k: \4 i& t' y% h6 g
yum install -y python-pip# }+ H/ y6 ~0 b; ~# r
pip install -U pip8 E! b( o. e0 f9 f$ d, f" i- {
pip install kolla-ansible==9.1.0 --ignore-installed PyYAML
; V! P9 {9 i0 P1 y/ m13 ^1 W) J0 \5 f( _0 o/ ^4 B
2, U, ^2 E; t( S
3& X* _3 ]7 l* W4 I1 T( n
4# @& p) K9 }1 T" Y4 f3 W+ T& h/ R% _2 x
复制 kolla-ansible配置文件到当前环境
: H- T4 H ]1 r$ f3 V' l3 G/ o( a9 I4 b: Y
mkdir -p /etc/kolla! F& @, `: b' V& i( S( X* c2 j5 Q. T1 w5 N
chown $USER:$USER /etc/kolla; K2 a* R+ {: J# @
9 j7 H- Q8 n- u: E7 U" ?4 C- E
##Copy globals.yml and passwords.yml
; u) ^4 n& b# L; X+ Ecp -r /usr/share/kolla-ansible/etc_examples/kolla/* /etc/kolla! |& k% P1 R' r4 l. S
( {# s: a5 J. T6 E8 ?2 P: A##Copy all-in-one and multinode inventory files# d3 s5 @3 L9 k# n: g
cp /usr/share/kolla-ansible/ansible/inventory/* .' J9 }/ w$ V6 [
10 Y# F/ N6 E* Q
21 ?$ R; o+ w! l u7 H2 t% x
31 R6 b' i4 i z' y$ _7 \6 ]
4
( p* N# t- n* u5
- n$ J* t: z) w$ }+ i0 D# A P! `6/ m& h8 G% \# t! g4 y6 v
77 J8 l( w" E- ]; s
8
. g! [/ A5 W8 a修改ansible配置文件
7 @, j. P: g; S1 w, w$ i6 P
0 q- U1 _$ t- p% n1 g* Pcat << EOF | sed -i '/^\[defaults\]$/ r /dev/stdin' /etc/ansible/ansible.cfg: d3 Z+ W! K- V+ b: ~6 C+ U- _
host_key_checking=False
3 L1 T5 x; w0 w% apipelining=True2 w }; s0 y; P1 x* Z: ]
forks=100" O9 i3 ^; N! [; u6 j
EOF0 J( a* `( u5 u+ B* R& q
1
1 E" U! `3 W- a q I& C1 h2
( P+ t- D3 g# z2 i0 X# \# k3 L3
# q) M5 M- o& o7 g. j8 j' Q40 Y" ?: u" S8 d
5' |$ U* E4 l1 U; F1 a2 ]
默认有all-in-one和multinode两个inventory文件,这里使用all-in-one,来规划集群角色,配置默认即可
$ E5 E9 d6 w9 d* c" b1 i
- ?6 e4 o/ }, E( }4 C$ B0 c' U! i[root@kolla ~]# cat all-in-one | more! P2 }+ o' _8 }) g( E* w4 b2 n
# These initial groups are the only groups required to be modified. The
3 ~' Q1 k" i W% @ I8 e# J# additional groups are for more control of the environment.
' {' Q* a- V8 f; R[control]
; h# M3 w; V: r+ W/ clocalhost ansible_connection=local
8 O/ h B: F4 ^. R* o! |4 V+ ~5 Z9 d! B% I2 M
[network]
/ @, a9 J: D% P/ ~8 dlocalhost ansible_connection=local0 }0 \! ]( _- u+ U6 R, H# T1 e" q
; ~, ^2 Z% |. t* M* H* O: U[compute]3 q3 g @) O8 P. R
localhost ansible_connection=local6 c* V" P n, J% b+ j
% V) O! o* M" m
[storage]
L# X1 q2 s0 z7 wlocalhost ansible_connection=local, A9 D2 U' N; C5 q0 j5 h
$ i9 L" f- ~0 O) g1 j0 z
[monitoring]
5 q& V0 e' f% J# S/ \localhost ansible_connection=local
_* A6 Q9 B+ w" y/ y3 j0 x/ D9 ~8 J+ E+ Q5 a+ [
[deployment], a% P! O$ b$ R7 ]
localhost ansible_connection=local
( y( |' [3 P% H3 Y/ M...2 l7 \! R2 u4 I
17 M' O8 }: p: u! T) U
2
! i" ]0 z$ m3 [) k0 _37 \9 A2 G6 U* | V
44 b3 L7 q. p- N2 ]! \( H
5$ A6 I' q8 F! i! |5 J9 f1 L
6' A& O3 `) c6 Q/ O( _7 u
7- n1 w/ F% Q3 |! N) h& J/ N
8
F+ Q i3 s. D9
/ i1 @; N. G/ }5 w& I* \) B10! y* h8 d, I8 o. P+ c( p5 ^0 M
11
* V9 E/ N; Z0 n9 i0 s12
- Y3 W( [/ z3 c( _8 G* o2 h; ~: K13
, |$ F& b4 j9 j8 I) f& s3 [4 T& S4 H F14
# f( k: |$ q2 z2 T E& S! b& ?# O15
9 b- ~$ u1 c1 i2 g2 `5 W162 c6 |, Y9 r* |8 t9 c% g2 Y" ?
176 W$ k c8 I' Y6 z
18
; `% e1 n0 i$ B3 ~5 _* c0 x+ S& V198 o+ x) f8 G' Q0 |/ O1 R
20
( r! g+ l+ F% q0 b21
8 R) y8 O- \8 G检查inventory配置是否正确,执行:5 A: `; l; B; }% i- T4 f
$ ^1 {9 |7 t1 O) [% I5 kansible -i all-in-one all -m ping+ v1 R) z+ e/ t \
1
3 W, r) x1 ^: }: ~3 }" N生成openstack组件用到的密码,该操作会填充/etc/kolla/passwords.yml,该文件中默认参数为空。
( N$ {" a# G0 _' \# F4 ^, o6 P
q8 B( Y n2 c+ O3 E8 U! ?kolla-genpwd: Z# G6 _& I% v7 l0 y- D
1
9 ], E+ j6 B* d; M4 J修改keystone_admin_password,可以修改为自定义的密码方便后续horizon登录,这里改为kolla。" o- d& _' ]0 ]
# W' z! t$ ^7 N R' D$ sed -i 's#keystone_admin_password:.*#keystone_admin_password: kolla#g' /etc/kolla/passwords.yml
/ u; A2 ]6 ~; v$ P6 b7 G
9 o' D7 H3 V6 p* z Z$ cat /etc/kolla/passwords.yml | grep keystone_admin_password
( O# K3 z/ l* ?keystone_admin_password: kolla
! u6 K, |! a/ I, f* ^1' f' S. D# Z, K7 y
2
% @. p/ C0 s/ e2 K+ u3# A2 I* f: s$ [$ f5 G, d; `
4
4 |4 n# n/ }. [ q# S修改全局配置文件globals.yml,该文件用来控制安装哪些组件,以及如何配置组件,由于全部是注释,这里直接追加进去,也可以逐个找到对应项进行修改。
# _9 @% `: r0 F% E0 ?7 F- k; N0 h/ L3 Z2 m6 c; I) k9 {
cp /etc/kolla/globals.yml{,.bak}
2 j- q1 ~. ~. V; x9 M
2 a* A* g1 O! Icat >> /etc/kolla/globals.yml <<EOF
7 ^4 ], j1 ?5 d; w9 w6 Q# D9 o- W; _# q/ p
# Kolla options4 ?8 P+ q: r7 P! K: ?
kolla_base_distro: "centos" p' Y) Y* O8 @ I8 r% A
kolla_install_type: "binary"
- H/ } V% C5 e* X/ R. Y5 Gopenstack_release: "train"$ R- z ]" X* Z* \7 C
kolla_internal_vip_address: "192.168.93.200"
" r" ^5 x6 p* S- @0 u1 U. ?+ x& O5 ~# N+ J; F4 Z
# Docker options
L3 V- a9 A$ Z3 bdocker_registry: "registry.cn-shenzhen.aliyuncs.com"
' f# s9 N. L& {4 x9 H7 A+ bdocker_namespace: "kollaimage"% v! z2 @$ f4 X& y. `
, G* S; \, @; H, n( v! u! _
# Neutron - Networking Options$ e" y- U, U; x; W( N' L
network_interface: "ens33"# p. T! o& l- n9 s: O# T
neutron_external_interface: "ens37"9 L, P4 |: p5 [/ E& { v
neutron_plugin_agent: "openvswitch"5 ^- \3 v% A1 N# v" Q: d0 d1 }' k
enable_neutron_provider_networks: "yes"
4 y3 q d& S( W" u5 k
1 B; ]/ M) F Q2 Z# OpenStack services6 H! b; i1 L! [- t" V. G* ~
enable_cinder: "yes"" z) W$ ~! F( {% \- S9 z( D4 {, w
enable_cinder_backend_lvm: "yes"
7 V' j1 e6 A, IEOF
% k1 x; j0 u4 g; {$ {$ t1- A8 O5 [0 q9 x1 r, s1 s% @7 w
2
" p( n8 K" ~) P5 O% P3
/ ?& S. l( {6 X' p" m1 u' T0 P' w4
: n7 o& B4 c1 E! A, M5% w X; }0 j3 L( f! z' P! G: g# c
67 b/ ?. T2 ` L
7& N0 o9 x/ ?& F. u( c
8" ~: L, i) Z3 f$ b0 I
9& W; T* X) I" M# q4 v
102 F+ N1 y/ |3 ]- Y4 C+ f) L. R; v
110 e& o/ A' m+ q w' x3 t$ G
122 z. C3 K7 l. e' l6 U
13
1 c2 W1 {% \( n8 H14) d; g/ Z1 y( E K. z
15. v) H2 b5 e6 I# w( w! p
16
$ X' u; e% y$ n: |4 t+ Q: g17
9 p& V2 P! q) ^0 H2 c( S185 o; `7 ~' D1 A5 {) K
19
$ M( C' _7 c7 h1 w2 [) ?5 y8 Z1 ?20
( r! ~$ Q, N8 @3 j& t- p21
. D. k- G7 A1 s+ }& V" E9 G22
% W1 d P4 c; k. j8 E8 J1 C23' u+ ?+ g. J ?. j
24
6 n* e* U: q) {2 ~. N/ k: N参数说明:
, z: B% O6 B y* c3 ^; V) U& l6 }1 [+ u! N( \
kolla_base_distro: kolla镜像基于不同linux发型版构建,主机使用centos这里对应使用centos类型的docker镜像即可。
9 t1 l- z; e) G/ P4 g% [6 v/ @kolla_install_type: kolla镜像基于binary二进制和source源码两种类型构建,实际部署使用binary即可。+ K* H% v3 S" p0 J6 J' R v" J) m3 m9 Y
openstack_release: openstack版本可自定义,会从dockerhub拉取对应版本的镜像
( ^0 W$ R! b$ T6 e6 T5 Ukolla_internal_vip_address: 单节点部署kolla也会启用haproxy和keepalived,方便后续扩容为高可用集群,该地址是ens33网卡网络中的一个可用IP。4 I4 M) ]0 z7 f3 J4 \2 C
docker_registry: 默认从dockerhub拉取镜像,这里使用阿里云镜像仓库,也可以本地搭建仓库,提前推送镜像上去。但该仓库目前只有train和ussuri版本的镜像,如何自己推送镜像参考该博客的其他文章。1 W, O: O8 l8 J5 u5 d, |
docker_namespace: 阿里云kolla镜像仓库所在的命名空间,dockerhub官网默认是kolla。8 {1 x9 I5 [ ]) i
network_interface: 管理网络的网卡
) S# |" n5 B# W) n/ \0 x1 U/ R( ~neutron_external_interface: 外部网络的网卡; x8 e5 U1 x; e5 i2 q; X
neutron_plugin_agent: 默认启用openvswitch/ k3 J }3 m7 n: f2 {
enable_neutron_provider_networks: 启用外部网络
/ Z2 l, k7 x5 x% ^enable_cinder: 启用cinder
" y9 u2 I9 S% |+ |, O7 z3 c8 P# r9 zenable_cinder_backend_lvm: 指定cinder后端存储为lvm
( r: k3 b9 u: Z' f3 B' Y5 g8 B修改docker官方yum源为阿里云yum源,另外配置docker镜像加速,指定使用阿里云镜像加速。3 h8 r4 s1 S5 z$ V4 H2 t% d A" g7 g$ T
* d# F$ n% F) E" {& V# g- u9 I$ v
sed -i 's/^docker_yum_url/#&/' /usr/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml+ v R$ `2 E. d# i1 r
sed -i 's/^docker_custom_config/#&/' /usr/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml4 j* ?$ H: D, k6 P
& }. j6 }, e% ]9 L* c
cat >> /usr/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml <<EOF7 e% I. q7 ~, K/ ~/ d" L; g) U
docker_yum_url: "https://mirrors.aliyun.com/docker-ce/linux/{{ ansible_distribution | lower }}"5 Z$ v& E1 @: ]7 m9 T
docker_custom_config: {"registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]}
" Q: K0 Q/ C3 U: W4 { q) XEOF7 U# D3 t2 L& X! o# y
1
' z: U" A; a8 ?5 [& t2
8 _$ }" r' {, A+ u/ D ^4 C32 C7 T/ v* _; d) Z4 O; b! a% W
4
; ^4 _# C" F% {8 s$ O, \5
7 ^8 A" L3 m1 a6
$ R6 L6 X. Z! f# r7) F- d. p% |9 \7 e* ?
部署openstack组件! F' Y; M9 ]( B, K/ w2 V9 {
部署openstack
5 e! B: ?2 _3 \; o$ l- L; m- _# Q* p( }& m( X2 q9 }& u. y# s
#预配置,安装docker、docker sdk、关闭防火墙、配置时间同步等
, S& e; d- V& Okolla-ansible -i ./all-in-one bootstrap-servers
+ J. k, G B( u, h
7 [2 U8 l9 Y' @2 O( Q#部署前环境检查
$ f: G0 p! X8 I8 V. C9 U8 C- F g* Akolla-ansible -i ./all-in-one prechecks
! c; w: O" T. V5 S# A% k! d; c n* f S. P4 A4 r) h
#拉取镜像,也可省略该步骤,默认会自动拉取6 [. {% F. I! Q% f. ~7 p9 j
kolla-ansible -i ./all-in-one pull9 M% E7 y2 o4 g5 {2 \5 O
8 h3 Q* g$ B" j* U7 G4 Y) |0 h; r
#执行实际部署,拉取镜像,运行对应组件容器2 D$ a4 D, n+ G# h$ a# J
kolla-ansible -i ./all-in-one deploy$ z- c$ u! W5 M
2 @2 n- Y* Y6 j3 l: e% H/ l0 z' ^& @#生成openrc文件
c$ D" S* l4 v; U* okolla-ansible post-deploy
: _7 i& G) I3 F! h8 _! X18 {8 h B7 `4 _$ l
2 h* d2 I! f$ V2 S8 K
3
% d; e5 l: {" u' x- W/ M. {6 T4 J4
: A `. [5 t C& g6 n3 V50 G. O" p8 K5 r& D( U# Y3 H4 i
6) d( V+ y. o7 o" B
7* M8 ]9 t) ]4 J- r( E- C
8% q8 ?2 G5 _' h6 `, I2 \. T+ n
9! M& S6 e9 {( V# t4 {' \# c) u
102 J4 q, h' E. O B5 h; G
11
9 ~, s; {8 k& d1 D, ]8 {/ c+ h% c; a12
- ~8 W! s. _1 ?/ f% X; u, F5 k13
5 ?0 G u9 W+ g* @9 V [14
. j3 J& M& r p( |2 e# d$ L以上部署没有报错中断说明部署成功,所有openstack组件以容器方式运行,查看容器
3 @$ I2 _* o$ f8 `1 s2 {* h' R R' h8 E( ]2 Q5 p0 J
[root@kolla ~]# docker ps -a
1 n# e6 b! {6 ^9 A: N I$ FCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
, k& l6 y" l. j7 l325c17a52c79 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-chrony:train "dumb-init --single-…" 36 hours ago Up 25 hours chrony* r$ S7 ~6 N7 c, t6 Y9 O
6218d98755ee registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cron:train "dumb-init --single-…" 36 hours ago Up 25 hours cron
, n8 O# U8 ?& z: A* l) j" ?6 @02b6598c1089 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-kolla-toolbox:train "dumb-init --single-…" 36 hours ago Up 25 hours kolla_toolbox
+ A' B! K! E) j& f$ H8572e445abad registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-fluentd:train "dumb-init --single-…" 36 hours ago Up 25 hours fluentd
$ D+ a- T" t H6 _) ^4 K/ |f11a103c5ade registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openstack-base:train "dumb-init --single-…" 44 hours ago Up 25 hours client9 l* B6 }3 A. o+ v
5c91def3c963 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-horizon:train "dumb-init --single-…" 44 hours ago Up 25 hours horizon
. L/ w4 p0 _# ?1 l2 \e024bd4f5dd3 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-engine:train "dumb-init --single-…" 44 hours ago Up 25 hours heat_engine
' x5 J+ t! o: o# P# Z$ f! C2d1491bd9e1a registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api-cfn:train "dumb-init --single-…" 44 hours ago Up 25 hours heat_api_cfn
# b3 R. C+ ]+ ^ }* zeeefcfb31a61 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api:train "dumb-init --single-…" 44 hours ago Up 25 hours heat_api
1 x" K& r& Y# `" a1 y' X9b51b53448fc registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-metadata-agent:train "dumb-init --single-…" 44 hours ago Up 25 hours neutron_metadata_agent( B$ R7 X8 T7 s/ b! Y1 R
9f88a6c0cf31 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-l3-agent:train "dumb-init --single-…" 44 hours ago Up 25 hours neutron_l3_agent
1 Y/ ~: i/ S& \a419cb3270a6 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-dhcp-agent:train "dumb-init --single-…" 44 hours ago Up 25 hours neutron_dhcp_agent0 q2 J; @' V8 k1 _' `* r. P
959f6faba972 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-openvswitch-agent:train "dumb-init --single-…" 44 hours ago Up 25 hours neutron_openvswitch_agent2 _. h- Z, h+ A) B- i- C
cc1b081cf876 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-server:train "dumb-init --single-…" 44 hours ago Up 25 hours neutron_server: D; I- V% J6 C3 i9 x0 j+ u
eea1a87feb43 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-vswitchd:train "dumb-init --single-…" 44 hours ago Up 25 hours openvswitch_vswitchd: Q; \) h7 Y0 W& H8 m5 F& I- Y3 _
376f81bf75a2 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-db-server:train "dumb-init --single-…" 44 hours ago Up 25 hours openvswitch_db4 K3 H; Z* \6 T6 Z
c68fd9a92d73 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-compute:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_compute* r3 u% I' X, ^6 D
2492e2a32c80 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-libvirt:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_libvirt
3 J9 S# L1 g& z3802d199b29f registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-ssh:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_ssh
' q- u3 S1 I4 l7 b. O1281c311ecd4 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-novncproxy:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_novncproxy
- J0 R+ v. b2 U: B# ~( g2e8c8478116b registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-conductor:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_conductor0 k: n3 G9 P& j9 [8 J
950feb59b549 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-api:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_api
- b& Y) i8 r* q49497e664922 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-scheduler:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_scheduler
9 ~2 G' ^2 j/ l' E; gf5eb37b48f7d registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-placement-api:train "dumb-init --single-…" 44 hours ago Up 25 hours placement_api
9 E9 G9 ]# u; _54cd0e3be101 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-backup:train "dumb-init --single-…" 44 hours ago Up 25 hours cinder_backup2 R' @ S2 I. b# N
b4efa4449e7f registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-volume:train "dumb-init --single-…" 44 hours ago Up 25 hours cinder_volume% q1 t8 r: @& B6 d) @
159b669d2fd3 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-scheduler:train "dumb-init --single-…" 44 hours ago Up 25 hours cinder_scheduler
( a, F/ o' s! u Y9 J( x- i9fc7e6a4cb25 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-api:train "dumb-init --single-…" 44 hours ago Up 25 hours cinder_api8 ^5 k+ ` w# [2 h. o( F3 J: }
b3f8f711f2b1 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-glance-api:train "dumb-init --single-…" 44 hours ago Up 25 hours glance_api
. u. o6 S& S$ d* k* h7 S760e92d698e2 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-fernet:train "dumb-init --single-…" 44 hours ago Up 25 hours keystone_fernet: F7 @$ U7 I( f
95f235c4ac10 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-ssh:train "dumb-init --single-…" 44 hours ago Up 25 hours keystone_ssh* x6 a7 Y& \2 y
03306334ce19 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone:train "dumb-init --single-…" 44 hours ago Up 25 hours keystone# K9 ^3 b+ r- W7 c, V( ^: w1 ~
5173d4191567 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-rabbitmq:train "dumb-init --single-…" 44 hours ago Up 25 hours rabbitmq
5 | Q7 Q* E( k! T: \. Y0 beb6bca26f6ce registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-tgtd:train "dumb-init --single-…" 44 hours ago Up 25 hours tgtd
* m) f1 P- u6 m6 G; z1 Y- d79fac2ca1b19 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-iscsid:train "dumb-init --single-…" 44 hours ago Up 25 hours iscsid7 X/ ^! w7 ?2 x/ S; O' n
4a3fcefc7009 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-memcached:train "dumb-init --single-…" 44 hours ago Up 25 hours memcached
, V" a5 w; u( _, h0773eaf446e4 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-mariadb:train "dumb-init -- kolla_…" 44 hours ago Up 25 hours mariadb
1 _+ t x: d4 I h* x! X0 w77f0beaa28e5 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keepalived:train "dumb-init --single-…" 44 hours ago Up 25 hours keepalived
3 q8 [! Z) }* w. V, y2 yb02b744d2da3 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-haproxy:train "dumb-init --single-…" 44 hours ago Up 25 hours haproxy
& v$ k: R4 b) Y* H3 D1
! h( P1 R' H( c0 c; @+ G* u! f2
# ?6 Y% C0 w& q7 r3# T A. ~8 e: g3 Y
4, N$ N3 \" q$ Q: l! Y
5
9 n5 n* b% j) t' i4 K8 V) _9 Q6
2 f3 s5 O! J- _7
. N1 y4 q. |. n/ }( U8$ J- Y/ n/ s' h5 u# ?/ o9 @
9
$ b* Z1 U _3 w. u; @10% U u0 \6 ^ G: [9 `% e, r5 _. O
111 _; U7 F5 n6 J) ` k7 U7 u& V
12
7 Y: D# f# D) [/ o+ n13
4 I: L/ f: K. f* t% S8 a14
; F) L Y/ S& m! l0 V! D7 p15' o$ ^4 d- z$ q+ c+ r1 e2 Y$ G( g
16% I: }/ K. i2 s1 E r: _
17+ v, B8 g5 Y" e. y2 Q
18' w. F4 ]5 {, \- S4 z5 g J/ g
19$ g2 c Y: V6 F; D+ r8 ^
20
# ^9 q7 R/ A& R+ k4 E% n21- ^: W& \( v$ y2 S" u
22" X0 d9 q* ]/ J# o' L! v ^& ^
23/ M' `. p J8 i: _+ Z: N' \
240 I- C7 K) n! x G9 C1 T! v
25; y" `% e- N! p7 K' \# y
26
6 |/ j+ X. Q, r! E7 G3 a+ Y27* \$ A# t! e" G1 B
28
& d z1 [3 n# d5 s29
6 G% B: }! n i0 k30
5 F0 A$ o( `9 ?! k4 w4 g0 X! _( l) `$ n31
& |+ \9 l7 ]* P. K5 e( {% g328 d" Y; k5 h7 }2 Z& B
33
9 l0 q7 P% e ~; v: u x% y/ [3 I34
& p$ p4 f" A9 I6 L1 f1 c35' |5 j- {7 F% z6 m, T8 f
36
6 W+ [; X0 D1 ?& J; |37
. p" I3 e" ~( q; e4 L( N8 ?381 P$ A( f" u2 V, e
39& }; ~0 Q9 G* ^2 { S1 R
40
" {0 Z* [9 L9 f4 r. j4 n* V4 F" D416 p& M% ]3 y6 l
确认没有Exited等异常状态的容器
& Y: I/ d! a4 J" c/ C0 b1 u. S+ N% O t4 S
[root@kolla ~]# docker ps -a | grep -v Up
B& ?$ V% I% L) z2 l# y1: O, @& x7 I4 F
本次部署运行了39个容器
/ G- T: Q! |$ a- K# E" d0 D2 Q$ r5 {, A8 _8 h
[root@localhost kolla-env]# docker ps -a | wc -l
4 h3 S8 x4 {! d" ~% x6 M& S39! U6 h6 O, b' p5 c; ~" w
1
7 h3 p6 ?5 V; ^) t! E: E- E, N2
& C$ H) K" ]8 L+ k* a& P0 W1 [查看拉取的镜像,发现镜像数量与容器数量是一致的。
7 z, L1 H4 ?: c1 y4 f* B ^) Q. r# Y5 g( v2 n
[root@kolla ~]# docker images
. U$ q5 a5 I' e$ |" u7 K. K$ O( yREPOSITORY TAG IMAGE ID CREATED SIZE4 B7 Z Q7 Y# B6 A7 q
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-glance-api train aec757c5908a 2 days ago 1.05GB: O# m5 z- e" B
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-ssh train 2c95619322ed 2 days ago 1.04GB
0 v' ~+ f$ ?8 A; rregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-fernet train 918564aa9c01 2 days ago 1.04GB* L* p7 U2 H; E3 |
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone train 8d5f3ca2a73c 2 days ago 1.04GB2 U# y1 U C# H
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-api train 500910236e85 2 days ago 1.19GB& n# s5 d+ C! }' a' Z1 a, Q
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-volume train f76ebe1e133d 2 days ago 1.14GB
5 d% |& j) O" D5 l, O5 sregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-backup train 19342786a92c 2 days ago 1.13GB
0 x, s" f8 M* o$ tregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-scheduler train 920630f0ea6c 2 days ago 1.11GB; B- `3 ^' q+ v8 d; Z
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api train 517f6a0643ee 2 days ago 1.07GB) [# m0 C- o: i9 x$ N, ~7 ^
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api-cfn train 2d46b91d44ef 2 days ago 1.07GB
8 x0 L6 B6 t* C2 C5 W0 p& [2 rregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-engine train ab570c135dbc 2 days ago 1.07GB
$ z/ n( i* [6 Z/ x6 N/ q; x0 p+ tregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-horizon train a00ddb359ea5 2 days ago 1.2GB6 A/ q' d. }) b( f
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-fluentd train 6a5b7be2551b 2 days ago 697MB
; Q3 V/ d8 e8 `6 w* qregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cron train 0f784cd532e2 2 days ago 408MB. }( k* y- ^, P
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-chrony train 374dabc62868 2 days ago 408MB! r$ ^5 B7 F+ k8 r" o# r% z5 ]( }
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-iscsid train 575873f9e4b8 2 days ago 413MB+ M" |7 T5 y7 x9 K! s
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-haproxy train 9cf840548535 2 days ago 433MB
% V" r' g& ]2 M2 A5 C0 Nregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keepalived train b2a20ccd7d6a 2 days ago 414MB: h9 ~+ A, u; K1 t$ W. y# c
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openstack-base train c35001fb182b 3 days ago 920MB* m$ }( i7 ? f1 x+ H! L
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-compute train 93be43a73a3e 5 days ago 1.85GB9 @. O/ h7 h; F& v$ S1 u0 _1 |
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-placement-api train 26f8c88c3c50 5 days ago 1.05GB
, b/ F# I# o; Z: u- ?* Y( B: h# G8 Yregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-api train 2a9d3ea95254 5 days ago 1.08GB. J- J6 F+ F) x3 ~8 k
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-novncproxy train e6acfbe47b2b 5 days ago 1.05GB+ N4 I: l) P8 V+ b( Z2 K
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-conductor train 836a9f775263 5 days ago 1.05GB
% f8 m2 `3 R2 l, W8 kregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-ssh train f89a813f3902 5 days ago 1.05GB
) U2 y" q, b, u- `! gregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-scheduler train 8061eaa33d21 5 days ago 1.05GB! }9 n$ V* a. L' n* u8 O: Z
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-vswitchd train 2b780c8075c6 5 days ago 425MB* a0 A) F8 V$ Q k: ^0 |/ u
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-db-server train 86168147b086 5 days ago 425MB
+ p# t7 l! x, u4 y. x5 [% Pregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-rabbitmq train 19cd34b4f503 5 days ago 487MB
# M; c: A9 E+ G( J# p; oregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-mariadb train 882472a192b5 6 days ago 593MB* Q8 K1 Y" a, g" Q J
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-dhcp-agent train a007b53f0507 7 days ago 1.04GB2 B+ F# O- D# G; i
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-metadata-agent train 8bcff22221bd 7 days ago 1.04GB
, h+ y2 d$ l$ Zregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-libvirt train 539673da5c25 7 days ago 1.25GB
( v+ X. r' U2 J v% Q; e- @registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-kolla-toolbox train a18a474c65ea 7 days ago 842MB4 H) r. J+ G$ }+ V) Z3 m
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-tgtd train ad5380187ca9 7 days ago 383MB
) r0 o; ?1 k) p ?8 pregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-memcached train 1fcf18645254 7 days ago 408MB
5 c" e3 z) U9 Xregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-server train 539cfb7c1fd2 8 days ago 1.08GB! a; X; W; x# d1 h1 b( J3 ~( t8 h
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-openvswitch-agent train 95113c0f5b8c 8 days ago 1.08GB/ n4 t; m( Y5 k0 ]' t
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-l3-agent train fbe9385f49ca 8 days ago 1.08GB
7 G# e8 h0 X+ x5 Q% X4 _8 ^1% O ^& I) i5 a' z
2
. G- ~( B; V" I' L$ z3
' u9 o# X. Y& n; C4
' M+ \' I5 R1 h2 p f' M- E& f5$ V9 k, I1 a! B; e
6/ b8 X, K% m0 p" \6 U+ n
70 \) H x# g4 W& K
8% Q8 J, L/ D- V& _' v+ b
9, |1 C: ~9 M$ g5 ?/ t+ O0 N1 \6 s
10- t7 Y9 W t$ Y- y7 Z9 _
11
4 {$ D# Q' @+ ]$ z- t& W12
7 S( ?; `3 g! Y1 V7 K# l13
. q! J( P! }5 ^, Q14
, l/ Z( n- Q+ c4 P a: j15
5 b7 Z, ~& W# C2 S16
* z6 ?& h; {4 S1 k( P+ O17
$ ^, V% N5 j; w) d0 |18
7 R4 M' ~$ R: _& M, D/ |- Q& Q190 S, F) J6 [$ W6 H/ J' I6 E
209 b5 O- i. @& |# f% ~6 s
21
$ K+ K; T" {( F" V4 n: n22
4 Y Y X& n( j& a23$ G8 E" k! k' K) A3 d
241 m& |+ c/ [' V2 c& U; h1 \" D
25& m# q- j; m6 s; n6 I5 Q# E% L( C
26
# {" Y( a% ~9 [: P' m& g272 R# z+ L/ k0 ^
281 e v. z4 g6 l5 @$ S/ k! ]. ~8 m* ]
29" O) E# n) p5 `$ s
30( v( n* }2 C9 ^8 f
31
" y5 w5 H, E$ @, h: Z! j" O32
% p6 e+ t/ l. b! G6 t3 ^" v1 w6 N33
8 b" F5 Y$ u K* t34# R( d G4 z) a3 p9 h
35
5 P$ a4 a$ Y8 x# a36& H( f7 p& a. A' S% ^4 v5 ]" O
37
D. `7 H6 K3 ^: k38 R5 x& j, z. Y2 ]3 z3 J: v
39
* t& P6 o- ^4 j# H404 s) P1 W `$ B! V/ k, {
41" Q5 k5 {, g+ g! \8 Z5 T
查看cinder使用的卷,自动创建了lvm# p! z6 m. G$ L5 P7 M/ e
# q3 w* F( D9 |0 d
[root@kolla ~]# lsblk | grep cinder
% e5 S' V9 P2 h! B: r├─cinder--volumes-cinder--volumes--pool_tmeta 253:3 0 20M 0 lvm 8 l* Y& {6 L1 F1 w* R7 e
│ └─cinder--volumes-cinder--volumes--pool 253:5 0 19G 0 lvm
1 ~# d" @0 X# m/ J$ {1 k4 R└─cinder--volumes-cinder--volumes--pool_tdata 253:4 0 19G 0 lvm
* L5 x; T' |, H: O9 N0 q: A └─cinder--volumes-cinder--volumes--pool 253:5 0 19G 0 lvm
1 N7 x7 k1 a" x1 r1 J5 v3 V2 L
5 X! T4 P7 y4 @5 ?5 E[root@kolla ~]# lvs | grep cinder) p" k3 J) r) B
cinder-volumes-pool cinder-volumes twi-a-tz-- 19.00g 0.00 10.55
$ O- X, a7 D& ?: H1
8 _2 X* p9 ]: U `5 q# h& C2
5 |8 r+ m+ u6 p H: j; F+ N39 [1 h' Q! b: I: k6 A3 b
4
5 o" S4 K+ H2 c7 S1 Z- i$ I0 ?3 A5
( A! N- k4 t% Y Z, X5 Q1 J( b8 b6
1 B; H1 ~8 ^3 b6 _( S% L7
1 J7 u a' W) p9 m* F# @- J+ g89 v6 t- A8 y; c) Q* O
查看网卡状态1 T" f) z7 d7 |5 ^: k/ @
2 o4 m, m$ b' x6 O2 h B
[root@kolla ~]# ip a- A+ e$ `. ~: V! L4 R4 x, x
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000# ~! o3 g7 O5 ?5 _
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
% T( E% R T* r inet 127.0.0.1/8 scope host lo
, B7 \. Z! h) F5 `' [5 O valid_lft forever preferred_lft forever9 m- i3 x/ @9 [+ A3 v
inet6 ::1/128 scope host
: M* ?5 D6 r: J8 w0 L4 R7 x valid_lft forever preferred_lft forever
3 H5 H4 e$ t" C) |0 }3 D. b2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 10009 V& M* k) y) O+ w: n- X5 \
link/ether 00:0c:29:0c:4e:fe brd ff:ff:ff:ff:ff:ff
9 o, g8 e# C$ i- w inet 192.168.93.30/24 brd 192.168.93.255 scope global noprefixroute ens33
. h0 Q" l# R) g+ a: b2 m: ] valid_lft forever preferred_lft forever
1 e% P& M5 `" [. ?% s+ b$ ` inet 192.168.93.100/32 scope global ens33
: ^/ p, F' D% X' S' ?: ? valid_lft forever preferred_lft forever8 U2 p6 D+ E- R& R
inet6 fe80::7a6c:d06c:ee49:4cd5/64 scope link noprefixroute 7 G; e% }" V8 v6 N7 W
valid_lft forever preferred_lft forever/ \7 r% n+ u9 f' Y: w
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovs-system state UP group default qlen 1000/ W" s1 N% k6 E' }6 ]+ e/ c5 O
link/ether 00:0c:29:0c:4e:08 brd ff:ff:ff:ff:ff:ff
: {. V6 Q9 t+ |" r; H( ~ inet6 fe80::20c:29ff:fe0c:4e08/64 scope link 8 [9 l5 W V# F4 h
valid_lft forever preferred_lft forever
5 L3 u5 R) W0 ^3 S) H4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
3 ^' d# n4 t- j: o" p) ?6 E5 A5 W link/ether 02:42:2a:d9:93:52 brd ff:ff:ff:ff:ff:ff
" i2 }2 a3 q' w# L/ ^; u5 {- L* { inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0. g4 Z6 b [9 [9 V3 {: k' G
valid_lft forever preferred_lft forever
% H. Y# V5 j9 T( ^3 A" h7 W0 I% B inet6 fe80::42:2aff:fed9:9352/64 scope link 1 {! Y1 A4 Q/ W9 o e
valid_lft forever preferred_lft forever
4 s% E# ]; s: Y4 [0 q6 W# P& Q6: veth0c46c6a@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 6 m T8 x8 G) N9 ^$ p! ]+ J
link/ether 1a:ce:d7:61:d0:cc brd ff:ff:ff:ff:ff:ff link-netnsid 0# o+ y q' o" K( I
inet6 fe80::18ce:d7ff:fe61:d0cc/64 scope link " U$ m( Y' `+ J+ F) L4 R$ g+ D3 b
valid_lft forever preferred_lft forever
Z, [( r, i/ w9 l' L/ \7: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
/ A: W8 s! [$ A( Q, [1 ^ link/ether de:e5:b7:4d:e8:b8 brd ff:ff:ff:ff:ff:ff
8 u1 R2 c5 w* e: v' j11: br-int: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000. N& R4 t# l3 ~3 ^
link/ether 52:14:05:ba:ce:4c brd ff:ff:ff:ff:ff:ff( P/ r+ D' c9 i
13: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
m! z: T& T, d' e* |- b link/ether d2:5b:76:f5:01:49 brd ff:ff:ff:ff:ff:ff, H/ C8 V" k4 k. ^
14: br-ex: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000: G9 P9 ~$ I" ^) O$ A b5 n: T1 [
link/ether 00:0c:29:0c:4e:08 brd ff:ff:ff:ff:ff:ff# l! k( s# |: p# w
22: qbr2749f64b-1f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000. X% E& | I* A2 H; G, k5 C
link/ether 3a:0d:ad:56:9d:9d brd ff:ff:ff:ff:ff:ff8 S& s5 n3 P I
23: qvo2749f64b-1f@qvb2749f64b-1f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master ovs-system state UP group default qlen 1000
2 I* e8 ?3 v0 S0 n. y( [# F link/ether c2:c5:8b:a6:72:8b brd ff:ff:ff:ff:ff:ff
0 |5 l" a; N( }& g( G8 }! `9 k5 \( P inet6 fe80::c0c5:8bff:fea6:728b/64 scope link
4 X! N5 N' k! f" K& a$ _) G valid_lft forever preferred_lft forever
# V$ _( T* O3 W8 ?24: qvb2749f64b-1f@qvo2749f64b-1f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master qbr2749f64b-1f state UP group default qlen 1000' x* ], O6 G+ D6 J
link/ether 3a:0d:ad:56:9d:9d brd ff:ff:ff:ff:ff:ff6 @3 }' x* t. }* D0 L. J, D& G: a) r
inet6 fe80::380d:adff:fe56:9d9d/64 scope link
% z6 M. m3 \, w+ l2 M valid_lft forever preferred_lft forever
+ t" r+ u0 O. Q: P" v$ o6 c25: tap2749f64b-1f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast master qbr2749f64b-1f state UNKNOWN group default qlen 1000# i% Y3 k8 X- d# M! t+ A! d/ G
link/ether fe:16:3e:94:b5:71 brd ff:ff:ff:ff:ff:ff% X3 H: d3 l4 r+ E
inet6 fe80::fc16:3eff:fe94:b571/64 scope link 9 G8 A$ V" V6 t9 Y! P* C4 }
valid_lft forever preferred_lft forever
* a; W0 N) g* p: Z: Z, c26: qbr0a14e63d-2e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
, r7 \2 l( r$ i+ j9 Z) Q" N link/ether 02:f9:32:c0:f4:b7 brd ff:ff:ff:ff:ff:ff
2 B+ n; ]2 V! u; n B" p7 G; ~27: qvo0a14e63d-2e@qvb0a14e63d-2e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master ovs-system state UP group default qlen 10009 @4 b* I2 A! K/ d E4 K
link/ether 76:86:46:4c:4f:61 brd ff:ff:ff:ff:ff:ff
1 d0 q. L3 V w4 @2 m4 v& u- O inet6 fe80::7486:46ff:fe4c:4f61/64 scope link , ^! J$ Y; y6 ]9 l8 Q7 A4 z
valid_lft forever preferred_lft forever
3 J6 r$ [4 V4 m28: qvb0a14e63d-2e@qvo0a14e63d-2e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master qbr0a14e63d-2e state UP group default qlen 1000
2 t0 }$ s3 X" D' G# X' E* W+ h link/ether 02:f9:32:c0:f4:b7 brd ff:ff:ff:ff:ff:ff0 G% L- ?! w K s9 Y8 Y
inet6 fe80::f9:32ff:fec0:f4b7/64 scope link l) \6 ^$ ]7 W: t- B
valid_lft forever preferred_lft forever
! X/ V1 p( |6 E29: tap0a14e63d-2e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast master qbr0a14e63d-2e state UNKNOWN group default qlen 1000& f. P# E0 j# C7 D
link/ether fe:16:3e:ee:08:6b brd ff:ff:ff:ff:ff:ff
E3 ]' _$ ]3 @- ?8 \ inet6 fe80::fc16:3eff:feee:86b/64 scope link
! O, }1 V$ Y! V: M2 O valid_lft forever preferred_lft forever
) m* S) M5 p1 E. I) q: ~) y' f14 `0 M, r8 G/ d S0 X- q0 R
2! _! x8 N" k6 ^- D: [: Q5 s, I
3
2 R: b5 y8 s: u9 Y4
* Y1 d) b) {) ~2 ~0 F2 L" d: e58 Q5 R# d5 Z% J, I& T4 q7 Q; w
6
6 B! A2 x& x) D: W7 S( r6 H7
& x1 t7 N) {5 L$ D8
+ A. p2 w- w' g9
; {. g9 l) \3 H/ y+ _10/ c( d$ A0 l+ E; @' C; f$ e7 m
11
9 b' r; V- R$ l4 k126 p& J6 Z! B* b6 A4 I4 h. E
13
( I. Q5 y' ^1 s8 o$ C% y9 w& w14: f' V4 N) h. J
15' q' C) p# k% U+ j9 k6 l5 B
167 n: q+ T0 v8 w7 E' \1 P! M5 t
17
. @ z. Z& A. S18
7 Q Z# S( H G1 f, C; P19
: ]8 ]) M# Q3 o$ H9 j20
4 I6 |4 M4 V* t; k" d' J21
1 g, u2 ~* R; I22
% ^) n) {, N& F1 h f2 [+ ?9 W23( I+ s. u }" k3 [& t5 ?; u2 A
24
9 _" [+ @3 _* n! \4 r) n/ V25
3 Y# G" [: G6 V9 w( Q* u267 V! p( C4 k" E7 o4 ]
27
' O- ~4 O5 `$ J4 _0 d8 P" U: R28! k( F; [+ ^4 i+ i+ F( d- F6 S
29
/ t4 K$ b+ f5 W5 q. _308 l$ H! i9 S% M" s9 C
311 ? P) M; e. ]: y4 p
32' s, X. N3 v) d$ H9 y
33
/ C) S8 I( w3 \34
5 B; b" S4 I4 }( [/ r35* p; T7 }6 I7 y: T+ |% x# C8 H2 r
36 w& y7 n0 m3 K/ b
37: k& G. \. F/ @4 `3 Z6 o1 s
383 C' p. C4 z* Q: E
39- M+ A/ ?% }( p" u! K1 @- E2 z
40
9 G7 { h1 m5 v, A* y41
# D% \0 z# C% A8 b1 y4 e+ ~" t42
( ~8 Z; l( o( u0 v" s43, C$ f* c9 k, \+ @* r, w
44% `2 O: ?5 R3 O, j! D- h' Y
458 B" Y8 f8 U7 C5 n
46
7 U, M/ B$ K( r: k7 ]1 ]47
5 p, N# J: d) C4 b3 V480 q+ H3 A4 M$ W4 U6 A$ g$ v( @
49: Q8 ~) ~" h: X/ k5 j! k7 _! ]- O
50. B0 y& U/ P8 V% `; f9 c) x5 K2 J
51
6 i# F) y: `8 G6 A; Q52
& h4 Y! B5 _8 Q, g533 `* _+ ~# s1 X
54
$ z$ W7 ?6 C: L! Q55
0 F/ I. n. t ~6 X2 [, \564 d! W. A5 {: ?/ s: g/ D" U
57- R) U% K* i7 P' t( q
58; V# F6 p0 `6 d+ t, v) z: }# [
595 |7 b) L- c4 C1 |$ E1 t: c4 N. h
60
, Y- P; y2 ^% c; a: B# t61" O6 J% S7 r5 ~) J# ~* H$ `4 I, `
62
# n2 b8 M, R$ k: p; E; z63
$ z/ X: W. q" h% Q, Q- X" M% Q' u64
d4 O6 l1 ]* Y! I; z) n65
! {) {4 b% I$ Y4 ~, [, I另外需要注意,不要在该节点安装libvirt等工具,这些工具安装后可能会启用libvirtd和iscsid.sock等服务,kolla已经在容器中运行了这些服务,这些服务会调用节点上的sock文件,如果节点上也启用这些服务去抢占这些文件,会导致容器异常。默认kolla在预配置时也会主动禁用节点上的相关服务。
* ~0 u9 G1 D! {% T" [6 j! J' m! f: p; `6 x* k: n
安装OpenStack客户端
5 o& Z. V' y* Y( Lyum安装openstack客户端! }8 Y- H$ a. E1 \" c3 p
% E2 W8 E7 m( j7 F#启用openstack存储库
4 c) m8 S$ }& `8 n( [yum install -y centos-release-openstack-train
, v4 ~$ `! M8 E; k" w
7 z( Q& V5 b9 \0 P6 I3 q& i#安装openstack客户端8 E; u1 g; W1 j. K+ m
yum install -y python-openstackclient. b( R2 q! M B) ^3 K5 l( O( }: B
- u4 V6 s& [3 C* C4 v( v
#启用selinux,安装openstack-selinux软件包以自动管理OpenStack服务的安全策略0 v0 t, ?6 B6 N
yum install -y openstack-selinux
+ U4 p& j3 _8 v- [$ T, F5 ], V+ n) t) g: k$ T+ q! B
#报错处理
0 }) L4 a: u- |pip uninstall urllib3
/ E0 g5 R: }+ c% X2 k3 iyum install -y python2-urllib3
- [' _& e; ]1 W. T5 U1 L& B1
3 v( h+ \8 K" }. f# H2+ |# p N$ L3 u
3
- O6 y) K7 P+ ?4
/ ?/ L+ q' |' c# n. X2 w52 g+ I" a- w- t- a
6
; k7 \. m' T0 V& i: G0 M1 x! ^2 E# v76 {6 H w$ p R$ Z
8& \' N" r- o$ z* ]
9% r# `0 T6 m4 k+ W* ]5 A
10
1 Z$ |/ w1 h/ O5 Y+ J3 X& D- Y2 b5 H11
+ L9 m9 x7 n# \. ~12" J5 s# R- n5 Y0 P& H
kolla ansible提供了一个快速创建cirros demo实例的脚本/usr/share/kolla-ansible/init-runonce。4 u2 W. Y# S) |0 l" F
* k/ A3 B9 R. {% {' x6 ?( L2 Y) n
脚本需要cirros镜像,如果网络较慢可以使用浏览器下载放在/opt/cache/files目录下:
% O' ?. d+ ?' q4 E! V
. o5 w G& A/ m+ R. e+ {wget https://github.com/cirros-dev/ci ... 4.0-x86_64-disk.img
9 T/ M! v- ^, f- {7 c& Smkdir -p /opt/cache/files/
; ?7 w# }* X# W* ^7 Smv cirros-0.4.0-x86_64-disk.img /opt/cache/files/! g4 h1 h7 o6 s2 m8 c5 }
1
# q0 \" W7 K/ }( w, y1 p5 r2
4 X. S6 p* e+ j5 q% J3
. }* y( n. U% E0 a6 Z3 ~. I. W定义init-runonce示例脚本外部网络配置:2 ]7 _* V! D/ w7 a( f
* Y' p8 U Y; O5 O# Z8 d
#定义init-runonce示例脚本外部网络配置+ Y( [2 N; b, q/ X$ N& Q t% U
export EXT_NET_CIDR='192.168.1.0/24'
; m/ x. I) X! c! `, ]6 G) L5 I# fexport EXT_NET_RANGE='start=192.168.1.200,end=192.168.1.250'2 T* `8 r1 r3 }; m5 U( G2 H6 W
export EXT_NET_GATEWAY='192.168.1.1'% n& L" X) Y1 F6 B0 N
& g' \. i) l/ G& r0 b. J5 V
#执行脚本,上传镜像到glance,创建内部网络、外部网络、flavor、ssh key,并运行一个实例
* b k+ n( s! rsource /etc/kolla/admin-openrc.sh
% ` P$ A' `( i( U& ^* P0 j/usr/share/kolla-ansible/init-runonce
& P2 K4 f5 r7 n: A3 Z6 N& @+ t9 j3 \1! @; b0 _+ i' t4 B1 ~
2
! y! C8 y8 ^7 o, _7 N* g0 B3
/ J5 n4 }. V9 e4
, e$ q7 |5 J0 e; [3 G) D. \3 a9 z5' c- C! N% ` F+ i8 z7 ]: c+ \
68 @. _1 ` ~$ ?5 y9 p$ s3 L
7
o& _- F% a( a( q8
: j5 K9 b3 B8 `0 D; U. o% I参数说明:# d% N K! O8 M6 J) o P
6 r: ^. G& L' e3 i: NEXT_NET_CIDR 指定外部网络,由于使用桥接模式,直接桥接到了电脑的无线网卡,所以这里网络就是无线网卡的网段。
9 [9 J" }9 t. ]- | ~EXT_NET_RANGE 指定从外部网络取出一个地址范围,作为外部网络的地址池" x0 E3 ^; v2 B/ O7 L
EXT_NET_GATEWAY 外部网络网关,这里与wifi网络使用的网关一致
1 t% O$ L$ e, c/ o% x- e) {) b根据最终提示运行实例0 [* Y q9 H k. t! p& ?
. V+ ]0 B$ h6 z
openstack server create \. ?: i1 m! e& i5 X0 w6 B i
--image cirros \% G$ A# c$ H% S/ O l6 B
--flavor m1.tiny \
6 @5 E+ e8 a$ A0 D& [ --key-name mykey \
' A( j. b0 m d5 W" {1 Z) p --network demo-net \
2 E3 m h/ O! f6 F3 \) G+ p# X demo1, c0 @/ R( v5 `( h: e. Y8 ~
1! H; p; B( \" C- x8 P* T8 |
2$ H3 G+ E5 R3 z( l' k" N
33 w, Q! G w( ^2 Y
4
, r6 ], k6 k: C% r& t# X) n2 R5* f9 B6 k0 K5 N3 i( V8 B& `' F
62 @7 r" M: F5 m$ t0 w( M6 S
也可以使用docker容器作为客户端" _. e8 K- a& I" l( O$ e$ V
8 y9 c7 R; I7 S% l% ~
docker run -d --name client \' ]6 I/ E8 ^' s
--restart always \- ]+ i& S6 b% K6 v5 t+ U2 {
-v /etc/kolla/admin-openrc.sh:/admin-openrc.sh:ro \
) u0 L# p5 O* S# e: c5 ]9 c8 r -v /usr/share/kolla-ansible/init-runonce:/init-runonce:rw \
6 z/ S/ g+ U+ N! B. F5 @8 a- L registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openstack-base:train sleep infinity! M0 K3 a, `: R
: m. I9 N9 B8 Z) ^9 h" t4 {
docker exec -it client bash
8 R. Y2 Q6 o) G7 X9 ~source /admin-openrc.sh" O" I9 T/ @$ i2 m4 R4 V" v: i) r; o
openstack service list0 M8 \! \. |1 c) v, S( _" `
1# { @( ~2 p# @% q
2+ {/ l1 {' {$ H
3
4 b6 O2 u. G- q* R7 l4; h7 A) ]9 X) e$ P5 ]2 `
5
3 u. Y- s: ]8 U6 F) ^5 \1 F5 T, t& G69 A! V7 r9 ]( m1 K2 U5 @
7
3 ^' g s$ x; v$ S) D% O, T8
8 K) R: G p0 b- c4 J3 M" L9, U, D# W+ S6 x: G1 W( r
访问openstack horizon
% h; q- N( G' A访问openstack horizon需要使用vip地址,节点上可以看到由keepalived容器生成的vip
( s. X. n/ A4 _# M) Y2 M) M8 N# i' H" `+ q n& j; u/ k
[root@kolla ~]# ip a |grep ens33
$ Q9 l# v& n( D: U& X1 t+ D2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000" f; a' E! q c' F& e" c
inet 192.168.93.30/24 brd 192.168.93.255 scope global ens33, S$ l* `0 v! y( t: z
inet 192.168.93.100/32 scope global ens33
- t7 w$ d. ~' `/ e; e: s13 y4 {* k, L) L$ O' s
2
; H: _. f' p/ e# h1 p3# m: Q) c; `- L' ?. q; o
4
7 T1 a c6 X3 v& Q. ?$ ]% N; ]浏览器直接访问该地址即可登录到horizon
5 Q: `7 V5 T# y2 B0 a; c
$ {6 O/ `- q+ Z! K3 Y3 L4 }http://192.168.93.100
; R/ M" h/ s4 j* A* ~- f% x9 F: h4 i2 e X! C6 h* W8 B
我这里的用户名密码为admin/kolla,信息可以从admin-openrc.sh中获取0 p2 d5 W6 A. o8 z
6 O d/ ?* c. H; I2 b/ k; L
[root@kolla ~]# cat /etc/kolla/admin-openrc.sh( O4 r* F3 K. E0 n. ~$ V1 O
# Clear any old environment that may conflict.* _6 e5 i- o" w0 ]( e
for key in $( set | awk '{FS="="} /^OS_/ {print $1}' ); do unset $key ; done
' l8 [7 s# n& A( [1 a ^export OS_PROJECT_DOMAIN_NAME=Default- x, k* ? Y' }+ O2 T
export OS_USER_DOMAIN_NAME=Default
# x3 X& w2 Z8 [4 h9 m% Kexport OS_PROJECT_NAME=admin, j+ U" l' C2 N& Z6 x2 [" t
export OS_TENANT_NAME=admin
8 v' g8 C2 A8 D g& `export OS_USERNAME=admin
- u9 I3 {5 d4 Oexport OS_PASSWORD=kolla
" P6 |& R* E1 k, e7 {export OS_AUTH_URL=http://192.168.93.100:35357/v3
j. r# _: j* Qexport OS_INTERFACE=internal
0 r; [1 y! u9 _( g4 F" cexport OS_ENDPOINT_TYPE=internalURL
5 S4 Y# L; F3 D& Zexport OS_IDENTITY_API_VERSION=3, m! |! }7 }* |5 Q' R8 E x
export OS_REGION_NAME=RegionOne
: B0 {5 A. U9 ?! b# z0 ]: i1 \export OS_AUTH_PLUGIN=password
) u5 f2 V- N0 X6 k) ^, S5 U4 k1
6 C7 t e4 e5 Q2
! Z f( y5 r8 h) r31 \) O5 s4 c! p1 p# ^
4* Z" G4 Z9 z1 T' E% r9 O# s
5
5 R, D- x H: a* i6
7 a, c* U. m' I72 h" P3 X& U2 g& W+ M
87 W# g# A: S# ]( r$ a- E; ]
9
5 s- T) \, [3 L' b10
Z! K: B1 i. j& X4 o/ S11- a4 E, M: Q k) {* U
12' K6 }5 V0 j# ^8 N, V
13( L9 j) F) b- k, X+ e/ o, U s
148 z, A( ~; @' L4 I N6 C
15
2 [% f/ w9 N! E默认登录后如下7 S8 E( o, x8 E% z- `1 v
; X) o, R/ O( V
5 e* z& F3 }$ t+ F4 d* m在horizion查看创建的网络和实例) T; _# c9 k! e8 I# |3 U( {2 ^- @& _
' \5 D/ k/ c4 `+ h. v4 s F8 Z
登录实例控制台,验证实例与外网的连通性,cirros用户密码在初次登录时有提示:+ n% ~, u* w8 i# K1 x1 n. B
7 l7 }' {% R: K9 W3 z为实例绑定浮动IP地址,方便从外部ssh远程连接到实例
; d6 ^0 ~, j8 V$ ^# m' l0 I
+ a8 x. N8 v2 n. U' q% {% v! V点击+随机分配一个浮动IP
% L7 u4 a2 j9 j& m/ ?2 m; M8 v: r8 \4 w0 y" C
, _2 T& U! |9 U2 n
在kolla节点上ssh连接实例浮动IP,cirros镜像默认用户密码为cirros/gocubsgo,该镜像信息官网有介绍:) }/ K. g% n4 @ u
https://docs.openstack.org/image ... es.html#cirros-test
. W0 V8 }1 V0 x, a( z
" M6 Z& a1 q0 a5 P: d$ k" B[root@kolla ~]# ssh cirros@192.168.1.248( Y- C4 ?: R! Y- E6 `: M2 ^
cirros@192.168.1.248's password: 2 r1 n5 Q- C. P4 a0 P
$ % a7 P/ W, C0 C* J) q
$
) @: b7 F% [1 R4 a* e) |0 i10 \9 W: I5 |5 G6 t
2
' L9 k/ y" j1 `- e- F3/ J, M6 z4 T4 j" Z1 s7 o# z1 L+ u
46 z+ P- M0 i9 K" q! `: U
或者在集群外部使用SecureCRT连接到实例。
1 P) a: p. ^5 n& c1 y- V9 P' T6 F& O& j h" [ _; D5 z7 M8 L( l; ~
8 Q3 ]* }, c+ S3 c
运行CentOS实例
& _2 k1 X- y6 b( Gcentos官方维护有相关cloud image,如果不需要进行定制,可以直接下载来运行实例。1 s+ U, R2 Z' F) ` X" X# B
8 e$ g2 E' n- b- \参考:https://docs.openstack.org/image-guide/obtain-images.html
6 e* w+ a- e- [- }
. B9 L3 g9 b2 e M# @# D3 DCentOS官方维护的镜像下载地址:1 w; j' r; Q- s7 k2 p
http://cloud.centos.org/centos/7/images/$ u9 D6 B' G. \2 H% s
# X5 q- z D' l9 @; p+ r+ R
也可以使用命令直接下载镜像,但是下载可能较慢,建议下载好在进行上传。以centos7.8为例:
% S6 S! b2 o- y
# \' e% q- |% _) V. B$ O7 u( bwget http://cloud.centos.org/centos/7 ... icCloud-2003.qcow2c
& X2 L+ P/ G- B U6 j6 e6 s( J' Y1
# Y* ]7 b# [/ H$ K% L4 d下载完成后上传镜像到openstack,直接在horizon上传即可。也可以使用命令上传。
9 F; I: i/ n3 S' K
) @* `/ ] [) r1 a1 x注意:默认该镜像运行的实例只能使用ssh key以centos用户身份登录,如果需要使用root远程ssh连接到实例需要在上传前为镜像配置root免密并开启ssh访问。
5 [1 i6 a2 F3 t* ]- H% K5 A. Z p2 r* _
参考:https://blog.csdn.net/networken/article/details/106713658
! P' L( x. f7 ~6 ?9 u8 w" m# o7 T( r% Q
另外我们的命令客户端在容器中,所有这里有些不方便,首先要将镜像复制到容器中,然后使用openstack命令上传。7 L! ?1 r! H6 c! A( b
$ k. R. Z& Y" k6 K这里复制到client容器的根目录下。2 ]" R6 `! q8 \$ a. }# J* l
) ^5 I$ f [! j$ v. B8 d[root@kolla ~]# docker cp CentOS-7-x86_64-GenericCloud-2003.qcow2c client:/$ |+ U1 x: S. U }. D; ]+ ]
3 f4 R1 w. B# ~. r+ ]1 F
[root@kolla ~]# docker exec -it client bash+ t: X5 @/ O/ t9 }: x* A. l$ p
()[root@f11a103c5ade /]#
3 p. ` o8 d2 {8 J- N; f()[root@f11a103c5ade /]# source /admin-openrc.sh
; [4 {1 T" q. W& g$ }4 Y& K7 a! b5 F' r6 x( V, }9 l+ D1 |
()[root@f11a103c5ade /]# ls | grep CentOS$ o! ?& s9 d) ?2 m) L9 U
CentOS-7-x86_64-GenericCloud-2003.qcow2c
. _0 {2 a& ?# S7 p1
! e6 [6 Q) K0 A9 O2( W9 H1 R$ C0 R& \( J3 q) Q
3
% b( R' B& Q9 I. ^2 W49 w K& a& B4 \+ O
5: o- u. v' l# A
6
* p) G# V9 ?, r5 D6 V# N7; G* x5 a9 @ m/ ^
8
" T, c) r9 ^& O$ G) E/ p3 F/ q4 T/ N执行以下openstack命令上传镜像 p6 j; y. L0 u% ~1 Z+ \+ P% l3 ?% V
- L* r$ h. v iopenstack image create "CentOS78-image" \
4 I w4 X4 ^$ L, @ --file CentOS-7-x86_64-GenericCloud-2003.qcow2c \
$ e/ t6 K4 D; y: z3 K2 ]$ M+ d --disk-format qcow2 --container-format bare \9 M, {5 v; |: I4 U
--public, m, n+ U# }( N9 m z8 _
1
$ A( Y1 Q! ?, z8 b# L3 }2/ ^: k0 U4 d s* t6 ]& w' g
3
" ]+ X( j% _6 z: ^2 V; }$ \* J4. p, Z; i& u! | B. S2 E" Q
命令执行结果# X' u: [3 q/ ]( m$ ^, }5 g+ m
, P* M" S' k- }9 T4 [()[root@f11a103c5ade ~]# openstack image create "CentOS78-image" \
4 E$ \" i$ V2 R> --file CentOS-7-x86_64-GenericCloud-2003.qcow2c \
9 @0 E3 B7 ` g4 e3 d7 V> --disk-format qcow2 --container-format bare \
4 C9 C4 o5 x& j$ z> --public
: I# ?+ ~& |( y7 r0 r, @+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
$ l2 P1 w, O4 Q. O| Field | Value |3 {! q# Y S% }7 i: A
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
5 t5 B! r! G$ ?: g- [) e. p| checksum | 362d1e07d42bcbc61b839fb4269b173b |
" T% {7 @2 l( m4 a0 _9 E) S$ D( E% K| container_format | bare |
8 o9 T7 w' T: N7 ]| created_at | 2020-06-13T03:23:16Z |
0 c* d0 O7 A- N& d e2 N: ^| disk_format | qcow2 |1 f: @. U' j/ q- v) D+ H4 I/ B
| file | /v2/images/2d95d8a0-6fba-4ca8-9dde-8696eb7ebdbf/file |
3 C( _. Z, a' E/ Z( o' E* U9 o7 \| id | 2d95d8a0-6fba-4ca8-9dde-8696eb7ebdbf |
+ c9 R0 e/ Y, h% J& K! O| min_disk | 0 |/ o" F; o: J3 g/ b' ]; x( E
| min_ram | 0 |
: ?9 ^* t+ A+ r| name | CentOS78-image |" g: b' d R9 j/ Y9 J7 @
| owner | 65850af146fe478ab13f59f7edf838ec |
. ~, D2 N4 r. ^1 S& F* D( }| properties | os_hash_algo='sha512', os_hash_value='aefa398f69e1746b420c44e5650f0dcf15926fb6f8c75f746bb2f48a04f7b140fdc745090f3d06b68fa0fe711ded7d822150765414e2a23f351efd2e181eb7b9', os_hidden='False' |& M0 x1 b: }5 W4 D
| protected | False |
" U7 [( ?# x* W* V7 V4 T9 R| schema | /v2/schemas/image |
# [6 k) E( y8 _$ D7 B$ P| size | 385941504 |7 w1 Z8 }8 O. x; u! g- w
| status | active |! z1 @% n: g5 x4 _
| tags | |5 j: `. |+ E) G
| updated_at | 2020-06-13T03:23:20Z |! \: p% L* D5 b' J+ k
| virtual_size | None |; u0 a4 `# S n6 [0 q; x' c
| visibility | public |
j/ v6 y0 t4 g+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
6 J: n8 J# p: A u) T1: m. m: D* a* {( v1 Z) y/ j8 b
2! b P5 \$ X) S9 h
3: `) s* F' b R; _* [
4
+ K: G- V* `% U x# Q4 P5
& W6 e; e, ~' G' @66 o6 E+ A, f! o8 \
7
" Z3 R+ t& O+ R+ L82 }7 h5 \+ a9 A5 b5 q
9
0 ?; N' U2 }& t# k L Q10" u7 }, S! N2 c6 e% F
11
/ e) q: M; t- j% x2 E12
; t" j$ J2 j. [4 g7 U4 o0 h134 @4 e6 C0 ]8 A; a, z% Y, A
14
% u( {. g9 [1 M4 `, N) H5 e/ g. j155 W4 J5 k8 o% K3 ?4 I l
16
1 n" |% S9 |1 \4 m- ^5 {" t17+ F% c. t8 |1 J3 m) J7 l
18' U$ y. w9 M0 O b( h7 o T. e# i
19( b, G& b7 t2 K1 b Y
20
4 E+ V* I" |1 [+ W* t/ r% m- w6 A21% q0 o0 u# f e) D# A# \! O3 o
22% n6 ^' \# O) t1 O% w
23
! [3 B4 B! x( F- E24
2 U. M) T: T9 }! a257 R6 `, j- v1 f, c( |* s
26
9 A: ~& h/ C; O0 y, P( L$ F3 H27! Q R8 `& Y/ K
在horizon中使用该镜像创建实例,其他信息直接使用之前demo创建的资源即可。创建完成后为实例绑定浮动IP。9 M, L$ \$ Z; h. P6 n. G
3 E" P( B# _) \3 L( |
如果实例创建失败可以查看相关组件报错日志
( B9 I& {% [ k$ ]* s4 `9 n; S* l! W: ^5 }# F' g a
[root@kolla ~]# tail -100f /var/log/kolla/nova/nova-compute.log
& B W) t" p8 C6 z/ l1# k1 ]8 q, m" a% u$ E5 V
未配置root密码连接实例
1 b* w7 G* C& W5 }! b; M: ]% W/ I如果没有提前定制镜像修改root密码,只能使用centos用户及sshkey登录,由于是在容器中运行的demo示例,ssh私钥也保存在容器的默认目录下,在容器中连接实例浮动IP测试9 h0 f/ f. b9 A8 q% _
' \! l+ d# I. J3 P" w2 Z[root@kolla ~]# docker exec -it client bash
: x4 O2 x" J7 f' }* }1 g()[root@f11a103c5ade /]# ssh -i /root/.ssh/id_rsa centos@192.168.1.105
$ ~" u' q) n g0 X3 C( }Last login: Sat Jun 13 05:47:49 2020 from 192.168.1.1000 o) b* S' \6 a' L8 `
[centos@centos78 ~]$ 3 x6 @! [( w5 r# F- Y9 H. g. ?, G
[centos@centos78 ~]$ ) T: I) }) u$ g, Z: d+ F8 G* @
10 k5 X x3 P' f* R* @% h6 @" `
2
' D- A/ }3 f l3
5 K8 z3 q8 r& Z! i4
! k) S- F9 c4 H8 t ]$ Y5. `# Z( b$ S' g F; l% H
或者取出该id_rsa私钥,使用SecureCRT登录:
1 }4 W4 R1 m' ^* b& r4 D& X0 L, e+ |5 P3 {$ I! b
配置root密码连接实例
: s. c \+ S" k, Z6 D" p6 N; E0 ^' [, q& u
如果提前修改了镜像配置root密码,直接使用root用户密码登录实例即可,
" e" X2 o0 _$ b
* K3 t, N9 d' \* o$ f[root@kolla ~]# ssh root@192.168.1.105
* v1 A+ ?1 d, q7 X7 mroot@192.168.1.105's password:
) i! [, q( U6 c6 qLast login: Sat Jun 13 05:51:53 2020 from 192.168.1.100
1 p* B1 n% ^( J: a[root@centos78 ~]#
( d9 c' e( i3 u) u[root@centos78 ~]# ip a
1 a; i$ j; e" d9 c! q- }1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
$ X( Q O* D# P0 g; n link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00' _/ Y- s& Q" W2 v2 ~" [1 U! X! t- j
inet 127.0.0.1/8 scope host lo
$ M& g7 h! |6 t; J8 k/ e valid_lft forever preferred_lft forever
2 S5 M6 B" m: N* W, k6 q+ O$ y$ c inet6 ::1/128 scope host 6 g: A( t; s& I' A* {
valid_lft forever preferred_lft forever3 ]: {( L, g* ^* Y. l1 R1 w6 h
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast state UP group default qlen 10002 D$ V; ~+ o; G
link/ether fa:16:3e:94:b5:71 brd ff:ff:ff:ff:ff:ff
& F4 y! b [4 k! v# t inet 10.0.0.193/24 brd 10.0.0.255 scope global dynamic eth0$ a! y$ |; f( {1 D9 `, e9 l! q
valid_lft 84215sec preferred_lft 84215sec
6 f. ]) h$ W+ C; w# G8 M% | inet6 fe80::f816:3eff:fe94:b571/64 scope link
8 O" e1 E$ d/ [0 O+ `+ r valid_lft forever preferred_lft forever& s3 _2 o6 n' X. b7 _# m* B3 I
[root@centos78 ~]# # ~* _+ x+ v) S- l. U" F4 S
[root@centos78 ~]# cat /etc/redhat-release
: G% \# I* e/ w! ?! r7 e$ @CentOS Linux release 7.8.2003 (Core)8 { N5 Y* c: O8 T$ y" y
1+ e; q O% E2 Z, t
2
# C# @& o: C9 M$ [, Y0 }32 H2 M' B2 Z" r1 s" N0 ]
4
2 J( _& V$ N1 Q) o5
P6 Y2 }7 {* Y1 I6
, }( Y, q3 ]- {# z' t7
) d: H7 v/ N$ q8
+ c* ~' U s/ i5 F7 U: f$ v+ W9$ ^- v. b( V1 R
104 y0 E. r/ G) Q% D7 [4 d& ^
11- A* Q9 c- T! t
12
7 y5 x- D* S) N* N h9 c E131 w9 Y- r0 t$ [1 p' p5 L7 X, {
142 c! ^$ u s) C3 C) p: g
15
* \7 C' j u; B( X, l4 Q4 P16
0 q( R' M6 x5 X5 ~9 H17% @, ^+ h" ^* U# ]! x/ ^
18
7 b: \9 g: I" B0 f. J, l190 V5 h# T D) U/ b/ n
20
O0 V ?6 C, c2 y运行Ubuntu实例' e M+ D4 }2 ]
下载镜像; Z0 R1 ?/ p8 K3 e( e- T6 \3 O# ~" ~
% @ |3 j8 @0 G8 v6 b0 I. i( O* Awget https://cloud-images.ubuntu.com/ ... -cloudimg-amd64.img
2 w! T! F& O' Q4 D1
: n* C+ p5 j- h' y* m上传镜像' y8 t5 P J3 V8 [
1 _. _+ ]5 M0 \5 `! d1 E8 V5 _openstack image create "Ubuntu1804" \
8 O2 B) x* e3 a- P9 { --file bionic-server-cloudimg-amd64.img \& ~ q+ K4 Q) ~, u$ F% t
--disk-format qcow2 --container-format bare \
! G4 X) o" X2 m O# \# E --public2 v2 M- w. B9 e6 X2 P0 x
14 t8 ]! c9 i2 K& a# V
2
" C0 \" q# s; {% \" A: c7 w1 t+ R3
% x! b1 X- x6 U4
. p' W5 O. ~5 I按照正常流程创建实例即可,ubuntu镜像默认用户为ubuntu,首次登陆使用sshkey方式,然后执行以下命令即可直接切换到root用户(centos无法使用该方式)7 q5 g+ I7 z: _) |% P1 K1 A, w* {
+ e5 D$ u* i# q
$ sudo -i
. W) U0 N' B" Z1
, Z/ [# E9 @! u+ i* p) V2 W- R调整集群配置0 r! v2 z$ U9 k- X: e2 M
集群部署完成后需要开启新的组件或者扩容,可以修改/etc/kolla/global.yml调整参数。
+ N; q* w$ _6 l8 i或者在/etc/kolla/config目录下创建自定义配置文件,例如; A% A7 U0 i; l2 h* X R1 V
3 k$ I- }" o4 z2 w9 k% I- l( X# mkdir -p /etc/kolla/config/nova
- u8 |2 L% c, v- u1 w
2 ?0 B2 E! o( F# vim /etc/kolla/config/nova/nova.conf
+ R: s; x5 D' f! h( M" q' x+ W[DEFAULT]7 m3 P. G/ s6 j
block_device_allocate_retries = 300
q5 i, L" R5 H6 lblock_device_allocate_retries_interval = 3
- s" z- g3 f, h3 H1 S4 S1/ Z; `. q2 X& ]5 \
24 I' Q& \( \* w$ t% j w
3
, H; I% @1 k3 ^4
7 e# x' N! N( W2 N' _; `9 w+ P" U4 l+ ?5
& `, H! o, I* t* M& t, `6
& |/ Q& Z3 U# r' g重新配置openstack,kolla会自动重建配置变动的容器组件。! R) Z- P1 u9 v. C, |
, `8 y* @5 C4 S6 {4 J* `: X
kolla-ansible -i all-in-one reconfigure -t nova1 Q8 D* I1 k/ k: K. i
14 m# g4 P, m7 {( N
kolla配置和日志文件
! n/ c$ `8 J8 a! B: k0 m& S各个组件配置文件目录: /etc/kolla/
8 T, \5 D. b. V5 u O) I9 I1 N各个组件日志文件目录:/var/log/kolla/. ~" d, R& o3 C3 u
清理kolla ansilbe集群2 Q0 l/ r" l5 f$ |% z* S+ J1 i
kolla-ansible destroy --include-images --yes-i-really-really-mean-it7 l; o( n$ b: E; Z
3 w% y- M9 V- v1 [2 W: s
#或者
8 N7 ?6 G5 ^% u, U" F[root@kolla ~]# cd /usr/share/kolla-ansible/tools/
3 _1 D' B( |- Q, i[root@all tools]# ./cleanup-containers1 F$ V" ~3 |, X. A; ?
[root@all tools]# ./cleanup-host
: J, |' p8 h! @+ \$ i
" F4 J6 k# ?& f/ s4 Q2 b#重置cinder卷,谨慎操作- N- @. ]" s. F
vgremove cinder-volume
/ V y7 Z2 Y& J! j0 p5 |7 k) ^————————————————( v& C4 L! C, ?, } _ i
3 i$ H8 l5 \' i# e
|
|