|
|
楼主 |
发表于 2021-4-18 19:59:16
|
显示全部楼层
安装环境准备
& I+ Y' |# e$ E7 V- {官方部署文档:
6 W7 Q6 o0 V9 p+ \) K) j0 f. C: lhttps://docs.openstack.org/kolla ... ser/quickstart.html
$ I" _: R1 p/ r( y% K! S) }8 h
. ~' X4 H6 _ e本次部署train版all-in-one单节点,使用一台centos7.8 minimal节点进行部署,该节点同时作为控制节点、计算节点、网络节点和cinder存储节点使用,同时也是kolla ansible的部署节点。
# u" t7 f N" |7 q8 q2 z# G; a/ w! I" t8 }0 B* H7 U
kolla安装节点要求:* Z- _# x& Q7 X5 P# p8 g) ~9 ~/ `
+ Q9 Z' s4 v+ N' Q" s' `3 } n& j2 network interfaces
4 a; F5 M& D, }. ]8GB main memory9 ^8 [ `% [' G+ S: a W; V6 s% `( m0 j
40GB disk space
6 M1 U3 R6 b7 o* y" {7 ?如果是vmware workstation环境,勾选处理器选项的虚拟化引擎相关功能,否则后面需要配置nova_compute_virt_type=qemu参数,这里选择勾选,跳过以下步骤。
6 Z+ |! f. g) T6 H" A+ x, P6 K( |, r; a4 w$ X
# cat /etc/kolla/globals.yml# A' {) s) T) M2 r2 B# N. v
nova_compute_virt_type: "qemu" W/ P0 I6 z- `7 J: ?" ~3 x
# b( n' V% O7 g1 J+ h/ o#或者部署完成后手动调整
5 x. h+ E4 R4 K1 Q" ]" }& o[root@kolla ~]# cat /etc/kolla/nova-compute/nova.conf |grep virt_type, W% E- q7 M4 t' o; J$ B) v3 i9 _
#virt_type = kvm( h2 M% ~! l) W0 v' x% z8 a8 s$ T2 ]
virt_type = qemu
& U; o3 j+ r) C% o a$ M/ g0 s. }9 {+ D# f( x3 K9 H
[root@kolla ~]# docker restart nova_compute
0 c5 z" c/ W7 d: c3 ?, G5 \1
! m5 b0 d5 z3 s2
& k# {, O% D c( e8 k0 T3" v7 C0 }: e8 ~4 R" \% ?
4
8 }1 E# t9 `" b6 y5
! z, S0 ^, l* I- j- P+ M& R6* w C/ }: u/ d( t9 B# |
7
. e/ B- l$ P8 `- @1 F' Z8
$ ]1 G9 ` c0 K. n& h9$ w0 B* C% h$ H5 `
kolla的安装要求目标机器至少两块网卡,本次安装使用2块网卡对应管理网络和外部网络两个网络平面,在vmware workstation虚拟机新增一块网卡ens37:' {8 E0 K5 U9 [" y; q
$ K7 c7 v$ a$ Z X; `
ens33,NAT模式,管理网络,正常配置静态IP即可。租户网络与该网络复用,租户vm网络不单独创建网卡7 ` V& z1 v- m" e3 k/ W
ens37,桥接模式,外部网络,无需配置IP地址,这个其实是让neutron的br-ex 绑定使用,虚拟机通过这块网卡访问外网。$ s! d4 n" w/ s" }- r z) N
ens37网卡配置参考:
! e; x& e& P6 z5 j: c% |https://docs.openstack.org/insta ... ing-controller.html
5 m% _0 O) z, `1 O9 s' N4 h& y: L1 F( J$ N9 F. R
cat > /etc/sysconfig/network-scripts/ifcfg-ens37 <<EOF
- F$ h5 @! [( u' cNAME=ens379 y# j' O2 t5 N# B+ T
DEVICE=ens376 O: n5 Q" \+ |; x; `& g# r
TYPE=Ethernet/ ^1 ]1 m9 }, f( E5 T4 J9 b
ONBOOT="yes"
( g, f) ]( z5 s: V: X; l: eBOOTPROTO="none"
; x9 }. `( x; vEOF' c' R7 n7 l7 H) \9 D; H6 P( a
1 n! u; J% Q9 B4 E5 D8 T T8 l#重新加载en37网卡设备0 T: n. w/ k" R
nmcli con reload && nmcli con up ens37
t: ?- Q. b) @1 C1 R/ }4 c2 ~2 m( b1
8 ?5 X$ U+ l! I) V9 Q- }9 Y" g! b2
$ b* b2 S1 A4 N7 V3+ f5 C7 _# B& x
4% I& G2 ]: ]0 [- K- U
5
* M' |! @- T) I64 e/ }2 [) L6 T9 A& X8 b1 V
75 R- |: Q6 W% u) v$ ]& N' @/ t
8
" B+ d+ C( V/ E, c97 q7 C0 J1 L7 }/ h( \3 n+ ^
10
|3 A" b/ f/ {# x5 c如果启用cinder还需要额外添加磁盘,这里以添加一块/dev/sdb磁盘为例,创建为物理卷并加入卷组。+ J; W* b: m9 c2 j+ L% P
8 p* R# |4 r1 r4 E6 @6 h# |' w
pvcreate /dev/sdb
$ S6 h5 H$ f+ y# b4 Mvgcreate cinder-volumes /dev/sdb
; Z6 h2 o D! r1
8 ~0 s: H, y( W* A6 ]0 d- h2
0 [4 X; ^; o) f4 \注意卷组名称为cinder-volumes,默认与后面的globals.yml中定义一致。: r4 }/ } J% Q. v: b9 t( b& i
& ^ {: j; |: E2 D# N[root@kolla ~]# cat /etc/kolla/globals.yml | grep cinder_volume_group3 p* u7 {0 j: M/ l
#cinder_volume_group: "cinder-volumes"; `! G& o) I/ s$ P
1$ U4 m2 w/ d% c+ z
2
5 K) S! }- h7 w$ M部署kolla ansible5 Z5 ~: z" \- V, t1 n" K
配置主机名,kolla预检查时rabbitmq可能需要能够进行主机名解析- g0 [7 c# h1 U% s
& S8 u3 B1 Y" _7 X& F4 h. U
hostnamectl set-hostname kolla+ S0 t3 q1 o) h9 K
1
. o* B4 v+ P, K, W3 p/ B; I安装依赖$ q3 j- G* b, _9 Z) C( f
. U2 i' C* i) K$ j: N8 g1 ]
yum install -y python-devel libffi-devel gcc openssl-devel libselinux-python* f* L! v9 X4 W& A5 }
1
- p+ f& z; z. r) v安装 Ansible,注意版本,默认2.9应该可以满足要求
7 e S: x' e4 I: L% m! V1 A
* H' s" f* i7 Q4 |; w- Syum install -y ansible
; b: y* [ \+ z, u ?$ q y2 E1; r* x6 x6 `5 H& ~; p
配置阿里云pip源,否则pip安装时会很慢1 L$ L( ~5 C" s3 e( A
~/ O3 `8 a$ A& h% O7 y
mkdir ~/.pip
! x; t4 ^& D. W* K" Qcat > ~/.pip/pip.conf << EOF 2 ^$ @+ Q2 q1 ^8 q: r- S& W0 V
[global]
+ L+ ^ N+ ]9 a1 U1 l" H8 j Xtrusted-host=mirrors.aliyun.com
' O3 S4 ~/ r( y+ zindex-url=https://mirrors.aliyun.com/pypi/simple/
8 [1 ~6 h+ f& o1 q, l# e; \* r" kEOF5 o: Q0 I0 W! S
13 K( Z Z; v( y! p1 a6 |& J0 G
2; \3 C. _) U, Y6 E
3
8 E+ ]* P ?4 ^( u4( \2 H. t) x+ @" h' h1 |* O$ b4 f
5% X6 E0 E+ y, @- t
6
' w8 P0 \9 T! M0 j* \安装 kolla-ansible, p7 V* ]/ q' d6 x; S
) g7 W8 s, E$ X6 H
kolla版本与openstack版本对应关系:https://releases.openstack.org/teams/kolla.html
. m! s4 c. B$ B8 \4 V6 m# k) R S: \1 A* _
yum install -y epel-release! A+ i8 g0 C; q! u
yum install -y python-pip$ u9 |+ B! q2 I4 l1 v
pip install -U pip
, b( E' D7 e8 v8 J! Z0 O/ I3 n( Opip install kolla-ansible==9.1.0 --ignore-installed PyYAML
2 N! q8 ~* M, c5 B& p# w2 F- r1 M T: w, y7 a) d; ~3 l7 p7 [
2
5 I W/ T9 T4 u2 g: T# [3
$ G# @. W a) @! ?: E: n1 }42 _' _3 J3 N5 L6 R" J! I7 k
复制 kolla-ansible配置文件到当前环境
2 W: F6 M+ _- W# k3 ?+ ]8 M) s4 |: c, B& v( o. F0 n
mkdir -p /etc/kolla
( A! q/ ^! l( p% S1 ^chown $USER:$USER /etc/kolla
. K$ J( E m# ~- D
4 z+ D% Y- V! l" ]* D# t+ [##Copy globals.yml and passwords.yml
! L: ]" l: S; ]$ w* K# _4 Kcp -r /usr/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
. ^# q# m a: W; C' t
9 r5 Q: E2 X5 q##Copy all-in-one and multinode inventory files3 Q, M" B( h$ b0 j R
cp /usr/share/kolla-ansible/ansible/inventory/* .
; N8 p) T. b4 Q- R+ X% g1 u' F3 W! X1
+ l1 N9 C- j x5 y0 S2
4 {/ ^0 { _8 P. c3
6 t' z% t( B+ p. a) y4 d4 q- ~+ S+ g, j( w2 q4 H
54 N3 C/ T% V1 {+ X {; x
6! Q( G# D1 p7 Z3 @; }! Y. W
7
# |# e+ B: }! g, g$ e$ e8
; S* {. G6 v/ A8 k* Y' s) _ P修改ansible配置文件5 Y# H& c, S `, N% u) i. N# f
. ], B" N0 n, r
cat << EOF | sed -i '/^\[defaults\]$/ r /dev/stdin' /etc/ansible/ansible.cfg! P3 N9 z# D# F6 }- d2 G9 E3 M: e/ F
host_key_checking=False4 F3 P! p8 q- C2 Y" D& g. v
pipelining=True
0 T0 c8 {8 t+ n6 n- hforks=100
; i8 M5 L" W4 VEOF# L8 ^, y$ [5 P, s0 @9 q1 {$ r
1. I' k5 Z% z( K# W+ [, m
2% q9 K% L$ s8 x
3& Q0 i l2 f$ ] ~. \8 C4 ]
4
, v" H: O( l( Z. o8 T _* W: j. u- `5
0 Z! }; m3 r* |默认有all-in-one和multinode两个inventory文件,这里使用all-in-one,来规划集群角色,配置默认即可! t- @" e0 C% r2 u, M% J
5 M. Y( i6 f6 _5 J. i
[root@kolla ~]# cat all-in-one | more$ q+ I( S- P* g; _4 |7 E) v
# These initial groups are the only groups required to be modified. The
1 f8 e6 A* P) h4 d# additional groups are for more control of the environment.$ e/ Q) Z0 [0 X n$ I
[control]0 @9 A$ x4 }$ g0 e6 h; Z$ x+ x
localhost ansible_connection=local2 r8 H- q' \+ P/ I: ^
2 P2 m1 S U) Q) @4 j( o0 u
[network] r, F/ \: [" ?
localhost ansible_connection=local
, Q4 X* K8 U1 C& _( [9 f3 n2 I% E: K0 i9 @0 {" b# E
[compute]
; X- j3 \ e$ Z% m4 r7 I5 vlocalhost ansible_connection=local
. p* O7 e. v1 n7 l4 c! [7 ~1 [( F0 Y& n( C& F3 m
[storage]
- F/ B% ~; I0 U7 i5 K' mlocalhost ansible_connection=local
r: W h2 `5 z0 T. D
6 ^% u V$ ?; o5 `0 x* q[monitoring]
, X R, S" n9 b& O( B" qlocalhost ansible_connection=local4 q3 g9 s8 [" R+ u
# K, G! E9 A B) b( Q3 m[deployment]
9 x" K& @! Z8 C! ^6 m9 nlocalhost ansible_connection=local
' O- O3 _0 G* D5 Q6 O% u- m2 y0 [; e8 n...# ~4 |$ w5 ?4 @( x
10 J6 J9 e3 V" L X' ?; A. O1 o) T( G; }5 M
21 o1 U4 L' w$ }7 n9 K
3) Y7 Q) f7 c( A& F3 {
4
- i+ R; t9 |; ^( m1 F/ R- W0 I( j5
6 P. i; [1 J5 _& Y7 b9 o6
" B' C! b: [9 A2 T% ~7: I( Z. Y- _8 s4 e: M
8( H4 }' |- |% r; s0 v1 i- ^. @
9
; F( L4 R) R+ y; P* g7 K10
/ f$ R" Z2 V, a; m& [+ N11
8 i1 M& x5 ?1 t4 c124 D2 ~4 h4 ~3 r. T2 w% u
13
9 V; P7 T) T2 z9 e, ?# n' V9 |140 i% G1 R$ X/ m% y
151 h7 n- U" r! E* J# u1 S# y8 ]
16
4 H+ r8 S: M+ R! V: a# I17
$ K- e* X0 L6 v. A0 _8 Y/ a* I182 }1 u2 }, d1 M+ p4 g
19
: N$ |7 t: x8 |) [6 h20" _& y" A: k7 p4 _" R" q G
21
9 y4 z: t2 Y+ ?) E3 v A检查inventory配置是否正确,执行:
5 d' o' O- o- t0 @+ N; X
2 G* U1 x6 Q! a% }; L. vansible -i all-in-one all -m ping9 w! l/ E+ a. P- X+ b
1
1 N# D5 W7 n4 v% X8 _+ a: @生成openstack组件用到的密码,该操作会填充/etc/kolla/passwords.yml,该文件中默认参数为空。; `0 H( P* f& q7 _: r' T
) y3 t& a$ S7 ]+ mkolla-genpwd
$ @6 d& }' ~/ r9 s1
( A7 X9 @9 S/ B5 l* ~: O修改keystone_admin_password,可以修改为自定义的密码方便后续horizon登录,这里改为kolla。
Z* f% |( W; b( ?7 X! \, |' _! G1 C+ c. u1 _ ?# h% L/ E4 }) s
$ sed -i 's#keystone_admin_password:.*#keystone_admin_password: kolla#g' /etc/kolla/passwords.yml
; N! w- ^# n/ ^4 u) d# L5 g; l+ [# n+ \ f$ v" _! \# W/ p) D; s/ }1 o+ Y
$ cat /etc/kolla/passwords.yml | grep keystone_admin_password
6 K- f y4 y6 G: U9 _) R: Okeystone_admin_password: kolla
: V9 B, [ [' I5 p1
# [( G, A! B% O- [2 J+ F% b! y6 A
3
% L7 i# w2 a/ L: r4
. `- s* u; ]4 Y. Z$ d修改全局配置文件globals.yml,该文件用来控制安装哪些组件,以及如何配置组件,由于全部是注释,这里直接追加进去,也可以逐个找到对应项进行修改。+ b8 U$ I! z; C% u
& S/ ]+ q( d. `+ N tcp /etc/kolla/globals.yml{,.bak}5 o1 [; J2 I) h, ]0 W5 O
1 A0 N0 Y5 b& w7 o7 Y: R, |cat >> /etc/kolla/globals.yml <<EOF7 G+ b3 A6 Z6 H: T7 @* \3 v% p
7 w# h$ s( U& } e! M! @# Kolla options! n+ _. X+ w. y4 a+ u! ~4 H* S
kolla_base_distro: "centos"% W# }, J) d8 @' B, L% B2 m
kolla_install_type: "binary"2 B. e7 a7 Y# b; L, Y$ H
openstack_release: "train"0 w8 g: n+ V6 v: e+ i
kolla_internal_vip_address: "192.168.93.200"( e+ s% t6 t, A1 \8 G# T( M
. y' q4 e6 l) \5 @0 G# Docker options8 A% H+ P9 c$ v2 g; N9 M0 a% j
docker_registry: "registry.cn-shenzhen.aliyuncs.com" e" k. v6 k" x
docker_namespace: "kollaimage"
4 A; j3 W) g: Q
1 ~; K+ k, P8 W# Neutron - Networking Options
* w3 b6 T& q" q, r3 M7 L6 i9 pnetwork_interface: "ens33"# O; p4 i: j5 O. r# E
neutron_external_interface: "ens37"; j, Z1 a6 D8 O" x5 X# X9 I
neutron_plugin_agent: "openvswitch"
' ~; Y; j. I: j$ ?* y0 i' \# |/ Fenable_neutron_provider_networks: "yes": N( B' g4 l; P* a2 R b
, _. h$ c6 N. N. N: S# OpenStack services' @' J L8 \/ d) @+ Y
enable_cinder: "yes"6 B( ?- ]# c+ c0 F$ `+ J
enable_cinder_backend_lvm: "yes" G2 Q6 c# W- B5 L5 o- r
EOF
7 ^0 B$ e9 [7 ]2 l- v18 ~& ~& b) ^* A6 J& Q9 Z
2( J7 f4 h4 z u- Z( K v) }9 w9 z
3! E! D. s% [/ ~% E" Q, f
4
1 w3 |; v) ^, I. }0 P' a$ Z5
. q X/ S3 T" k7 e6
3 r1 ~( t+ _7 i, e$ D7% C3 K! }* \3 E* o' S" K/ s: P
80 J6 L7 n/ _& J: I' T
9' O' Y+ J) q- Q* B3 |: W. q! v
10% G% P6 @! `3 O% @( y' b$ ?
11 ]1 U% M6 y9 P7 ~' |
12
; O4 q7 K6 }: l% v13
+ H% {: G' [4 h! H- K% r14& e6 d4 s# z, |. d- L# X9 K: W
15: U a$ k9 g2 G2 J/ K! @" z% v) W* q
16
4 n9 Z4 |' n y: G17
9 j+ B: m( T, l9 h. S" ]- v18
/ B/ h3 }# C7 e7 L( E* G$ v19' k1 B* F' r% I1 k* p6 n
206 n5 A* m, o! j, O. O( T) o" i8 a e
21" V9 u! ^! g; U z; @
22
! _+ \* D& I' @$ v m8 X23
6 q+ ?. k9 |6 m24
/ r$ E" L7 V8 N7 T4 N参数说明:* z. p# p( |9 t- h7 U, L' W
/ T& M5 N/ b: |kolla_base_distro: kolla镜像基于不同linux发型版构建,主机使用centos这里对应使用centos类型的docker镜像即可。
~) C' O; ^ t9 I8 Tkolla_install_type: kolla镜像基于binary二进制和source源码两种类型构建,实际部署使用binary即可。; O$ y+ i) `( }9 }8 }: k( Q
openstack_release: openstack版本可自定义,会从dockerhub拉取对应版本的镜像4 U: @' l7 Y7 O
kolla_internal_vip_address: 单节点部署kolla也会启用haproxy和keepalived,方便后续扩容为高可用集群,该地址是ens33网卡网络中的一个可用IP。
" i0 ^3 i P# z. v Kdocker_registry: 默认从dockerhub拉取镜像,这里使用阿里云镜像仓库,也可以本地搭建仓库,提前推送镜像上去。但该仓库目前只有train和ussuri版本的镜像,如何自己推送镜像参考该博客的其他文章。$ @$ R& E8 C+ i/ c5 p# q
docker_namespace: 阿里云kolla镜像仓库所在的命名空间,dockerhub官网默认是kolla。
9 M9 f# E2 @2 ^' r* m; Pnetwork_interface: 管理网络的网卡
0 O3 {/ }& Q4 }/ l) vneutron_external_interface: 外部网络的网卡8 p% b1 P: c# k4 i8 J. i
neutron_plugin_agent: 默认启用openvswitch1 ]4 l5 E& r3 W% Y0 s
enable_neutron_provider_networks: 启用外部网络
, q9 e1 o8 h2 _% J3 P5 Jenable_cinder: 启用cinder4 h' f% K0 ~4 `$ `) V! ?8 l- [& ^
enable_cinder_backend_lvm: 指定cinder后端存储为lvm: w% M3 ^ p3 S) ~" l# ^6 T" V
修改docker官方yum源为阿里云yum源,另外配置docker镜像加速,指定使用阿里云镜像加速。
2 i: z' g% Y+ c* S1 W/ ^( E" P% m7 n, h9 T6 H% Z2 X; Q# U! w
sed -i 's/^docker_yum_url/#&/' /usr/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml
: R4 j2 q0 A& g2 U( ?8 F+ Nsed -i 's/^docker_custom_config/#&/' /usr/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml. R4 m7 c+ y# A6 g. O
1 x, {& }4 R" J& @
cat >> /usr/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml <<EOF
. b' c8 W6 N0 M; i. V: }docker_yum_url: "https://mirrors.aliyun.com/docker-ce/linux/{{ ansible_distribution | lower }}"7 j2 w6 l. y- O
docker_custom_config: {"registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]}; E" _& z! t$ g3 x: C
EOF
8 j6 E m _3 j1: c t1 u& l5 \; {) `4 }0 }4 I/ u
2
8 n- u0 F1 [6 M Z! h30 R1 O# s- P) I7 N1 [
42 A7 j2 b9 i n6 v; ]
5
& Y4 _2 P4 _1 ?, t" d$ y9 B; ~( \( p6
* f: ?$ D- Q% q8 F" |: m7
( n( Z$ R$ n; x* e. l部署openstack组件
( Z" D; a: N( r- |- }& @部署openstack( O! {; f, I. T; @* i, H' E6 C2 `/ i
8 _; z% [7 G/ R& }- j! E; B' ^+ i
#预配置,安装docker、docker sdk、关闭防火墙、配置时间同步等: R! T; o K4 Z- n, s
kolla-ansible -i ./all-in-one bootstrap-servers1 v9 K4 A6 D, d3 e
1 r/ @; \# d* R% W7 A- U
#部署前环境检查3 p9 x$ p( x/ w/ b5 d: Z+ s
kolla-ansible -i ./all-in-one prechecks
. S# a$ j+ _4 Z6 h& j
$ D4 O0 z2 L6 _( D9 o#拉取镜像,也可省略该步骤,默认会自动拉取
) j: i; I3 P/ C8 ~kolla-ansible -i ./all-in-one pull/ T" A. O0 L% d* K
C' H. E, C" J) b
#执行实际部署,拉取镜像,运行对应组件容器
' b2 T7 ^( B6 lkolla-ansible -i ./all-in-one deploy
6 d7 F0 I; V; M) b( J' ^& @1 p l+ z6 f$ e+ g i
#生成openrc文件! \$ V9 K9 E3 b2 @) T; c
kolla-ansible post-deploy/ t: u+ X4 M* d: u& W% c& p% r& V" W
1" N4 A: `( T$ Q# l, D
2' i2 }. O( \5 n
3+ n. d! X( H* K2 s% G: t9 B
4
; c; m! ]# {3 J- z5/ y+ W: X% s. T5 } ^4 C0 D
6- M1 r8 d4 U Y$ a w; |
75 s8 r' A2 {6 ~8 f3 e3 P9 m! ^' e6 ]
8
1 S( A4 R$ z. F# F96 N$ A% r. u; U- j. P0 \
10
2 P- f& z* w. C" n% b1 P11
# p; @' _! {% D) w6 C* {+ O12
( ]# c( o3 \2 x" Q1 e. o: K0 n13+ c2 W# Q4 h" z8 m
14
, @9 B$ J$ x. X1 \. ?以上部署没有报错中断说明部署成功,所有openstack组件以容器方式运行,查看容器; S4 [: \2 W. @ ^& a
& J4 ^3 b( r f1 l E[root@kolla ~]# docker ps -a
* Y u h* ~0 ~ K2 dCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8 y7 A( d+ [' c2 X
325c17a52c79 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-chrony:train "dumb-init --single-…" 36 hours ago Up 25 hours chrony
8 w O. b5 O) T# }6218d98755ee registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cron:train "dumb-init --single-…" 36 hours ago Up 25 hours cron
0 K l* X5 N3 ]+ I3 j, u5 w02b6598c1089 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-kolla-toolbox:train "dumb-init --single-…" 36 hours ago Up 25 hours kolla_toolbox
8 P3 w* E+ @3 F+ C8572e445abad registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-fluentd:train "dumb-init --single-…" 36 hours ago Up 25 hours fluentd' k) s& v D2 S3 K) i
f11a103c5ade registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openstack-base:train "dumb-init --single-…" 44 hours ago Up 25 hours client
: Q5 `& V, X5 p! e( o5c91def3c963 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-horizon:train "dumb-init --single-…" 44 hours ago Up 25 hours horizon- Y+ u0 Y* e) c v2 @# @' N6 j
e024bd4f5dd3 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-engine:train "dumb-init --single-…" 44 hours ago Up 25 hours heat_engine
3 j8 z) D& U; [6 c; k2d1491bd9e1a registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api-cfn:train "dumb-init --single-…" 44 hours ago Up 25 hours heat_api_cfn3 @. M5 j4 w# X( v9 h4 S& d+ D& k
eeefcfb31a61 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api:train "dumb-init --single-…" 44 hours ago Up 25 hours heat_api
7 T' o( O9 ?% T8 B! [5 Q ^9b51b53448fc registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-metadata-agent:train "dumb-init --single-…" 44 hours ago Up 25 hours neutron_metadata_agent& I+ \6 t8 F% c X8 f8 j$ e
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
! g7 ~9 Y6 K: Z$ P" h0 Pa419cb3270a6 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-dhcp-agent:train "dumb-init --single-…" 44 hours ago Up 25 hours neutron_dhcp_agent
% i$ k5 p; A6 z9 K959f6faba972 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-openvswitch-agent:train "dumb-init --single-…" 44 hours ago Up 25 hours neutron_openvswitch_agent- Q: W' k8 z- N4 X7 v
cc1b081cf876 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-server:train "dumb-init --single-…" 44 hours ago Up 25 hours neutron_server' ?& r4 Q* `# \3 v& X
eea1a87feb43 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-vswitchd:train "dumb-init --single-…" 44 hours ago Up 25 hours openvswitch_vswitchd4 q, X2 q. n5 I }4 I0 Z+ K
376f81bf75a2 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-db-server:train "dumb-init --single-…" 44 hours ago Up 25 hours openvswitch_db. C% e2 }1 B" Y6 y. P
c68fd9a92d73 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-compute:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_compute
0 u: X4 }4 T2 F j' k4 {- `2492e2a32c80 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-libvirt:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_libvirt
7 W \) L9 R# [; s3802d199b29f registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-ssh:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_ssh! m: b/ b6 r7 y7 Y8 c; n q/ {3 C
1281c311ecd4 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-novncproxy:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_novncproxy
' @8 k& c; ?$ c- U5 q2e8c8478116b registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-conductor:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_conductor
) W6 J+ S6 G7 F" n* s8 ?950feb59b549 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-api:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_api) T# I8 U+ }; y* M& d9 H
49497e664922 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-scheduler:train "dumb-init --single-…" 44 hours ago Up 25 hours nova_scheduler
4 b6 N' I8 n6 y0 A9 J5 ff5eb37b48f7d registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-placement-api:train "dumb-init --single-…" 44 hours ago Up 25 hours placement_api
! G' i0 [) |; i( e54cd0e3be101 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-backup:train "dumb-init --single-…" 44 hours ago Up 25 hours cinder_backup; k/ K! ?* N" \+ U( c/ L
b4efa4449e7f registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-volume:train "dumb-init --single-…" 44 hours ago Up 25 hours cinder_volume* K# W6 \/ _9 q! f; l
159b669d2fd3 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-scheduler:train "dumb-init --single-…" 44 hours ago Up 25 hours cinder_scheduler; D! e/ B3 j% W% O
9fc7e6a4cb25 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-api:train "dumb-init --single-…" 44 hours ago Up 25 hours cinder_api: ]9 y5 }2 ^/ X8 T- y1 x1 x
b3f8f711f2b1 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-glance-api:train "dumb-init --single-…" 44 hours ago Up 25 hours glance_api: S T8 M. O) N. l
760e92d698e2 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-fernet:train "dumb-init --single-…" 44 hours ago Up 25 hours keystone_fernet# u5 }+ }% N6 B! n. E$ F, G
95f235c4ac10 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-ssh:train "dumb-init --single-…" 44 hours ago Up 25 hours keystone_ssh6 t E& t4 V G
03306334ce19 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone:train "dumb-init --single-…" 44 hours ago Up 25 hours keystone* q7 _5 O! G. j& R4 U/ A, i
5173d4191567 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-rabbitmq:train "dumb-init --single-…" 44 hours ago Up 25 hours rabbitmq9 B6 m2 A1 H1 x7 K! B& o
eb6bca26f6ce registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-tgtd:train "dumb-init --single-…" 44 hours ago Up 25 hours tgtd! i( |4 \+ {1 A9 F1 v
79fac2ca1b19 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-iscsid:train "dumb-init --single-…" 44 hours ago Up 25 hours iscsid2 E$ n" C' o! c9 P
4a3fcefc7009 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-memcached:train "dumb-init --single-…" 44 hours ago Up 25 hours memcached2 W% v w7 f) l2 y( w4 `% I# I$ P8 o
0773eaf446e4 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-mariadb:train "dumb-init -- kolla_…" 44 hours ago Up 25 hours mariadb
* N0 e1 H2 N" { _7 G7 j77f0beaa28e5 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keepalived:train "dumb-init --single-…" 44 hours ago Up 25 hours keepalived
2 i1 F8 M4 x5 s7 m' E" E ~1 ?$ rb02b744d2da3 registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-haproxy:train "dumb-init --single-…" 44 hours ago Up 25 hours haproxy- b, K' x* I3 p+ l$ P/ }* |
1
( Z9 o$ Q4 q: s8 [, r- x6 l, u# W& l2
0 a/ N2 n: I* H" E3
) f4 S) G+ l3 ~46 Y2 Q- E/ f8 s' u. I0 H+ D* P
5. r* E& a3 S, h8 B) |( i! O* K
6! z9 t; I+ x* m
7
: z+ J/ b4 ^7 l% |; i* s86 z- r% o8 y2 p/ b( s6 D, Q+ [7 E
9
, P" O* b7 @5 X$ ?) L/ z. K0 j10* J, L- `9 p- A, V" u
11
) z4 a& t; n. Y& k) _/ U12
& \; `9 }2 ?* o13
5 q' p1 n! _2 [3 O# m: m! q4 u14. t: L5 M, ~' e
15
$ w+ j3 G$ N3 P9 C* o& [+ L6 N% c165 K! b1 h) a2 K7 g X8 r0 W
17
# C" }$ L: _0 T. j1 C6 S. u/ X7 {18) h- E, A9 i$ T j0 I
19
: K- M# S7 G) A+ }20
' U4 H3 r: E5 b! x. Q9 D, h21. R5 a5 ]4 x, ~/ K/ }+ A" c
22
* o! e n. y) z9 g H9 D7 G232 b' R) y1 i; r+ r/ b% f. l
24
, g5 t; Q Y- g. P25
: ^6 u) s$ O8 i, J' u6 P- Y6 P; e# m267 f# F1 J C* U# s, S( b
27
- v* D5 w" M: G, L3 e6 c* S+ L28
9 q1 j6 X; \! Q2 p3 q; ~; r0 e29
$ i7 c [* E' ?# s* B9 e30
' J, }2 u+ K6 l# P* p( F+ T: b31
& B7 `$ \; [ z* I32
% G6 q3 c9 E6 J33
. q b, q7 P) I, k34" {$ s; A- [3 u3 C
359 ^& B2 C8 g# L z& b/ U, g
36
8 i, A0 D2 l/ K* [/ a+ @" j9 x7 j0 f37; q/ D" S) i h- ]$ x- I" O
389 f1 j j8 U0 o( q
39
% w i' q( w, e40
* C. P# O# w( S, X2 `3 u- W41$ ?2 ^9 G/ p7 V- o( w. Z H
确认没有Exited等异常状态的容器5 ?& `: ?+ ~8 f% S
& W/ `, p p' _4 {4 r
[root@kolla ~]# docker ps -a | grep -v Up
T2 ^* ~9 p# I6 y' v7 Q- F1% J) i: [7 q C. j3 N" |
本次部署运行了39个容器
9 S; X) ?. k; x$ I! b; U
9 N+ f$ }- x, J& t[root@localhost kolla-env]# docker ps -a | wc -l
r) f/ z4 c9 j6 H39; h" W& a: r Q" x0 r& S
12 G3 I3 d8 q6 F) l2 z/ N# N
2
# k* N. T8 U& r' @! i' S2 j# `查看拉取的镜像,发现镜像数量与容器数量是一致的。
N7 U( u* x& V9 @3 G
( i3 o# L1 S0 B! e$ Z6 T[root@kolla ~]# docker images( ^4 \( [& }. ]# b, j/ V3 N
REPOSITORY TAG IMAGE ID CREATED SIZE
8 O* f9 P' F7 m* M3 Yregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-glance-api train aec757c5908a 2 days ago 1.05GB0 L3 u0 } B* @( w# n" P( y; ?- } p
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-ssh train 2c95619322ed 2 days ago 1.04GB
' q/ K- r3 S& H+ f& O7 K: [/ tregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone-fernet train 918564aa9c01 2 days ago 1.04GB6 d6 y: p! \; E% e
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keystone train 8d5f3ca2a73c 2 days ago 1.04GB
+ J A" ^0 Z) a( W" o, T; W: M! Zregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-api train 500910236e85 2 days ago 1.19GB
h* p: M8 }$ R9 L8 Q1 K2 nregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-volume train f76ebe1e133d 2 days ago 1.14GB
, W4 S* `0 n3 S' \! Eregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-backup train 19342786a92c 2 days ago 1.13GB6 X* L6 B2 P( k& U1 G4 s" e
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cinder-scheduler train 920630f0ea6c 2 days ago 1.11GB8 U" n1 Z7 d& l2 R" b- X: z9 ]
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api train 517f6a0643ee 2 days ago 1.07GB
( O. M9 w9 \/ _0 O2 x4 E) \registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-api-cfn train 2d46b91d44ef 2 days ago 1.07GB! o8 I, B) D# N: j. y
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-heat-engine train ab570c135dbc 2 days ago 1.07GB/ o1 v7 ~2 P# G3 k; _
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-horizon train a00ddb359ea5 2 days ago 1.2GB$ e- X' ?4 I5 j0 F9 h0 A! |
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-fluentd train 6a5b7be2551b 2 days ago 697MB
9 k: f4 X, G1 \1 Z6 C* K" ?registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-cron train 0f784cd532e2 2 days ago 408MB. r, _7 \) B1 j5 i a# @
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-chrony train 374dabc62868 2 days ago 408MB, Q r5 S8 Q5 _* K; |* }7 d
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-iscsid train 575873f9e4b8 2 days ago 413MB8 k0 v( V Q, q8 \# F
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-haproxy train 9cf840548535 2 days ago 433MB' H6 |/ j6 a- b
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-keepalived train b2a20ccd7d6a 2 days ago 414MB6 |) y* @2 o5 D. y- d/ j# R2 w
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openstack-base train c35001fb182b 3 days ago 920MB$ J' [6 c! @; V
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-compute train 93be43a73a3e 5 days ago 1.85GB
- y! c, W: E! N5 Mregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-placement-api train 26f8c88c3c50 5 days ago 1.05GB
% d2 D2 M5 \3 S h+ Rregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-api train 2a9d3ea95254 5 days ago 1.08GB8 c! H' {; j9 Z4 t0 [4 w
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-novncproxy train e6acfbe47b2b 5 days ago 1.05GB8 Z; X" x4 o0 c. x# m% l
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-conductor train 836a9f775263 5 days ago 1.05GB
1 m* f! [1 u+ e' X0 i! g1 f$ Cregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-ssh train f89a813f3902 5 days ago 1.05GB* t" Y# E5 ~' o5 E# K8 U6 b
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-scheduler train 8061eaa33d21 5 days ago 1.05GB. r/ g8 e% g* g, ~6 F
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-vswitchd train 2b780c8075c6 5 days ago 425MB8 K2 i9 [# U% c U+ r# Z
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openvswitch-db-server train 86168147b086 5 days ago 425MB
& H# D8 V' L% J7 n- W2 ?: Xregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-rabbitmq train 19cd34b4f503 5 days ago 487MB I2 q! h& q' D1 B! u P
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-mariadb train 882472a192b5 6 days ago 593MB
- d8 a2 ~" r3 n1 @# g0 B- Hregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-dhcp-agent train a007b53f0507 7 days ago 1.04GB
5 b( s( W3 ~ [' p- _8 Nregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-metadata-agent train 8bcff22221bd 7 days ago 1.04GB; n! t; G/ ~* F# h. f9 `6 v
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-nova-libvirt train 539673da5c25 7 days ago 1.25GB
. K) g4 l0 H8 W8 tregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-kolla-toolbox train a18a474c65ea 7 days ago 842MB
# b( H B5 T1 w. M' @. mregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-tgtd train ad5380187ca9 7 days ago 383MB7 ]9 y1 R4 X3 O
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-memcached train 1fcf18645254 7 days ago 408MB
, K& P7 P8 Z2 F1 ?% cregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-server train 539cfb7c1fd2 8 days ago 1.08GB
# T O E0 K) R8 u' Z6 H8 _. n' s0 R. Mregistry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-openvswitch-agent train 95113c0f5b8c 8 days ago 1.08GB! `# k4 ?, ]( a: L
registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-neutron-l3-agent train fbe9385f49ca 8 days ago 1.08GB
8 ~, i, V D7 V( M4 L1
* k9 Q9 G+ r7 M2
* D; [) b3 _, U, s% O6 O% n3
8 M0 @5 U" O0 @1 D4" e& x) G$ F, I. }' \
5
+ A+ [! X; ?# [+ A: I6/ n7 R( Y t) N( W8 D# l
7
9 n6 O& L8 k& J8# N6 O) W6 F4 h- |; D! j
9 |% q \( x; V: X% ?
105 Y& e Y: b4 A7 O, u
11: A3 K K+ ~4 u
12
! d2 Z2 y5 \# }( I+ |% _13
4 c+ O4 S" Y; a# i14- ^4 k6 i4 K1 G# |" ^/ U- [" z
15$ A8 ]) Y0 J* @4 @; w
16
# C/ G6 t6 C0 @17
3 _* e3 @5 H0 U4 K- Y G8 @: L18 j5 {+ ^ u3 d
191 |; [6 G/ x0 b- }# H
20' Q; b8 X. U# e9 H8 g6 h
21
2 ]. ^2 x; N O+ s S5 C22
& @3 j% b E! b( z; }23
2 I7 t3 c& @: x' u- N% X! p6 a24! S: x+ K% W2 `6 v Y
25 C% n3 B+ X) }; n
263 C9 s0 g1 g9 X4 d
27' w$ u. v! _% W3 \5 w
28
' R9 i6 g: H5 I2 _29
; v8 s( v& P( z9 W5 ~# Y30
0 E/ m% { v% {3 w/ D- q {* U31
' {4 q3 Z+ f! ^- d, J) G$ G5 a32
( ]0 |& A/ c6 y$ g% C4 N7 k d33
8 y( b+ N- v5 p1 ^. s4 {34
- s% _. `) x$ o9 y, A35" K! n) P3 h. U8 D
363 Y: J. [- y8 c9 T0 y
37
" O1 {, t* R+ ~( _& l38
7 u$ ]/ p' ]' K1 R/ `, c39
% w, P7 h' ^) w: q1 M# [40# F, ^, _3 S3 m4 i- o) x. o
41+ [$ E h8 N, r% L7 ?6 O
查看cinder使用的卷,自动创建了lvm4 W7 j) n+ j( w' Q' j1 a* C
( N3 e- n# Y8 @5 [" h0 S8 p3 B
[root@kolla ~]# lsblk | grep cinder+ _, E0 f. R' M5 j) {0 O+ b6 W
├─cinder--volumes-cinder--volumes--pool_tmeta 253:3 0 20M 0 lvm
+ G1 M0 o8 q! a0 K! P│ └─cinder--volumes-cinder--volumes--pool 253:5 0 19G 0 lvm
9 Y3 J" f, x6 R└─cinder--volumes-cinder--volumes--pool_tdata 253:4 0 19G 0 lvm
0 R! o& R. \! G2 k$ V └─cinder--volumes-cinder--volumes--pool 253:5 0 19G 0 lvm 6 P6 D3 ^# @4 |& n- f9 B
/ \' W( V7 E$ L o6 {& |
[root@kolla ~]# lvs | grep cinder1 |$ X5 b! c) m$ A
cinder-volumes-pool cinder-volumes twi-a-tz-- 19.00g 0.00 10.55
& N: r; ?& u2 Z5 o5 e1
; e+ O% b$ b1 r1 ~& V2
5 P$ X6 S! `1 n38 u0 g$ e! u! l8 F- G
4 a& D! N' l. r( R5 Q
5- k* F% R; K4 ?/ S
6( V4 e @- N6 Y, M
7 q H$ b& ?- H2 U5 e) L, G
8& X8 @# x+ B6 A. G( i/ n* d6 D. V
查看网卡状态6 C0 t1 C2 ]7 \. h/ Z
8 @% I6 U4 s0 X" b
[root@kolla ~]# ip a; W1 z! h: H8 q% ^5 Q( ?5 D
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000( h4 B3 C1 H; T; e& m0 F
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
9 B! E' g" I0 i9 z1 B inet 127.0.0.1/8 scope host lo/ S4 Q! ^* Y5 F7 j$ J
valid_lft forever preferred_lft forever
& D8 f( u. R9 P: t inet6 ::1/128 scope host 4 C$ G3 n1 G2 |& l
valid_lft forever preferred_lft forever( Q/ W. f, c$ B- n
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000+ s+ I# R' K/ L) m" k2 N$ @
link/ether 00:0c:29:0c:4e:fe brd ff:ff:ff:ff:ff:ff4 f# G8 P5 [4 ?- }' q) _
inet 192.168.93.30/24 brd 192.168.93.255 scope global noprefixroute ens33) H" X6 ?. F ]
valid_lft forever preferred_lft forever
, R* j0 l* a! g8 z. R& O. ? inet 192.168.93.100/32 scope global ens33
: ]7 x. R% y( W) I valid_lft forever preferred_lft forever0 }7 R$ G& Y, G& P
inet6 fe80::7a6c:d06c:ee49:4cd5/64 scope link noprefixroute 7 \/ t3 q. q* S4 j" q* Y
valid_lft forever preferred_lft forever
2 H$ R" t6 O N! G3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovs-system state UP group default qlen 1000
1 q# m& a! s% [; u link/ether 00:0c:29:0c:4e:08 brd ff:ff:ff:ff:ff:ff( m& a+ w' ^+ E% i, H: k$ P8 _( E
inet6 fe80::20c:29ff:fe0c:4e08/64 scope link # ^+ j7 Q' S/ U; ]
valid_lft forever preferred_lft forever. @3 v3 k& D+ c8 E! v3 N4 n! D
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
0 A5 f8 k% {' B4 E3 o% g- f. O link/ether 02:42:2a:d9:93:52 brd ff:ff:ff:ff:ff:ff
. v* K5 ]' F4 N+ F, P/ F inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0- l* I, V' x# p) n5 o
valid_lft forever preferred_lft forever
# W2 q" G R9 E* u8 M7 [- @ inet6 fe80::42:2aff:fed9:9352/64 scope link
$ b, q: C& z3 O4 ~) { valid_lft forever preferred_lft forever# l0 }' j" {7 t; t$ k9 i f
6: veth0c46c6a@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
. D% n) C$ j8 W. S link/ether 1a:ce:d7:61:d0:cc brd ff:ff:ff:ff:ff:ff link-netnsid 00 k. N$ X4 `* S% U* z
inet6 fe80::18ce:d7ff:fe61:d0cc/64 scope link
{" O' H! w/ j. ]* Q0 T. v5 H valid_lft forever preferred_lft forever: p) u' b/ y4 w! L5 d# Q- W& R+ G
7: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000* Q+ u4 v* I3 D$ M( u
link/ether de:e5:b7:4d:e8:b8 brd ff:ff:ff:ff:ff:ff4 D/ P/ O6 m/ A" E" H
11: br-int: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
5 b1 ` d% W( _: X) h link/ether 52:14:05:ba:ce:4c brd ff:ff:ff:ff:ff:ff
5 z5 s C. Z6 U13: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
; c9 a8 m; y' Q4 ?/ H4 z link/ether d2:5b:76:f5:01:49 brd ff:ff:ff:ff:ff:ff
: j9 j5 k, C1 W' H/ r {14: br-ex: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 10000 J* _) P: `+ \+ A4 @( G
link/ether 00:0c:29:0c:4e:08 brd ff:ff:ff:ff:ff:ff( s" G* W$ o: `! q
22: qbr2749f64b-1f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
+ f+ l/ X; w5 b' c# ] u" g: h+ C link/ether 3a:0d:ad:56:9d:9d brd ff:ff:ff:ff:ff:ff
3 k, N4 _ y0 m. \23: qvo2749f64b-1f@qvb2749f64b-1f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master ovs-system state UP group default qlen 1000. m8 V9 P0 W9 B. d- v+ z* L" @1 Q
link/ether c2:c5:8b:a6:72:8b brd ff:ff:ff:ff:ff:ff7 f- Z r$ `4 v& u) C6 q
inet6 fe80::c0c5:8bff:fea6:728b/64 scope link * V6 [. B/ R: r6 }* @
valid_lft forever preferred_lft forever
: D+ ^0 m5 H: Y. w* }8 c; e) L24: qvb2749f64b-1f@qvo2749f64b-1f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master qbr2749f64b-1f state UP group default qlen 1000$ k/ _% I0 c9 j3 H8 M1 U5 k- ^
link/ether 3a:0d:ad:56:9d:9d brd ff:ff:ff:ff:ff:ff
- g0 i* Z7 \% a: m7 ^ inet6 fe80::380d:adff:fe56:9d9d/64 scope link 4 u& P4 n; ~7 l# V
valid_lft forever preferred_lft forever
; i% ^; z) q( r* ~ Q+ o6 M25: tap2749f64b-1f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast master qbr2749f64b-1f state UNKNOWN group default qlen 1000
1 ^; V& ?- b \! _ k link/ether fe:16:3e:94:b5:71 brd ff:ff:ff:ff:ff:ff% J: i' N+ v5 ?$ Y$ d
inet6 fe80::fc16:3eff:fe94:b571/64 scope link * [0 f) P. O, o; u
valid_lft forever preferred_lft forever, x* ^# d$ v( c |
26: qbr0a14e63d-2e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
: S7 N) n* f, M4 O7 P link/ether 02:f9:32:c0:f4:b7 brd ff:ff:ff:ff:ff:ff
; K& ` d5 F5 U- {2 h2 } y. c Q. e27: qvo0a14e63d-2e@qvb0a14e63d-2e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master ovs-system state UP group default qlen 10002 c0 r% I3 D/ M2 N( r; ?
link/ether 76:86:46:4c:4f:61 brd ff:ff:ff:ff:ff:ff. u) k$ a3 ]! q" U" W
inet6 fe80::7486:46ff:fe4c:4f61/64 scope link * q3 r P( t" _: t, ?% k+ N
valid_lft forever preferred_lft forever
$ \* h& J+ o: J: t# A28: qvb0a14e63d-2e@qvo0a14e63d-2e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master qbr0a14e63d-2e state UP group default qlen 1000" l1 q4 o* {: a' H' p9 W2 v6 Q
link/ether 02:f9:32:c0:f4:b7 brd ff:ff:ff:ff:ff:ff, Z$ l) s! |, ?" g
inet6 fe80::f9:32ff:fec0:f4b7/64 scope link 2 T l- E& G" H9 b
valid_lft forever preferred_lft forever+ V+ H: m$ Z4 E1 \" R: o! J
29: tap0a14e63d-2e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast master qbr0a14e63d-2e state UNKNOWN group default qlen 1000% w; Q: Y& ]9 U( Q
link/ether fe:16:3e:ee:08:6b brd ff:ff:ff:ff:ff:ff: p$ Y" ]8 G1 `9 `, Q/ z! j) ?
inet6 fe80::fc16:3eff:feee:86b/64 scope link
5 R+ ]$ s* V _. f valid_lft forever preferred_lft forever' E- N7 D* I- n1 R1 T4 C+ o
1
: `* q+ \' D. S% G2 q1 K29 E, w: Z: L2 S% u
3" X6 A- F9 g5 ^# u3 o% w" E
49 F7 t8 Y# j1 l% r; C
5* y1 }0 d* \! c8 x* o
6) B& Q1 m( ^9 V# a! i
76 g" S/ P7 s7 E% P. v& @
8' d/ `5 B& C2 |; q# k
90 D c; X9 s& y1 C% F5 s2 k
103 J0 [( M4 ^% `/ W, ^
11' ]2 j e( D% D w
12
5 _$ g# @$ R* K4 A; @) K/ C13
3 }7 `5 `8 S e14
% c q4 Z. p; v$ [: j7 j& D15
; F; `+ V1 {' z* Z. Z( b% g$ G3 |3 o- I16
4 L( t, Y# O6 _17
) V5 G) @; w1 m' \- \$ m) ~180 E# z6 z. t5 a
19
# y! \- E5 U& R& o; F$ g5 I: c3 D20+ M: i7 Y5 u1 P3 e% t% E; Q" K% b
21
0 l9 x, \/ j: ?6 w. M# f( W$ i! V22
% Q& |7 M: t7 H x: v232 j1 T1 O; L) g2 v+ J
249 U1 t$ L- R) a) O1 M' y$ ^
25
- p1 I6 f: c/ U; y a8 E26
2 M& p6 Y4 Q Y7 Q) }4 z- w! ~& F27
" b' z4 a0 }- D4 M; E( ]28
& P' t" b. f. r; ?& m29
" K. k/ b5 i, Z1 x30
0 W$ M+ E/ K/ _31
a+ r' D+ v6 {1 H32
: ~; Q0 M- h4 l# p) C3 {* ?4 n3 p33$ |0 p; \: G1 C; \
34/ ?! B% i7 b+ j, M8 P, @' f0 c
35
6 ~" S) t3 E0 C* j& j' n9 Y' k36
" p* i+ S' y+ s8 b) ]& P" e2 y37
% O4 u. @% @' Q2 g/ a5 D38
( u0 g# z6 \* }7 o& E39
# ?% [: j' F. P" Z2 A W; e40. _/ p! @5 M0 S6 N8 G" \( _: Y
41
0 i; `: e2 T' Y5 P* y42
# E7 p4 n# E' ? j43
n' _( X/ \! P8 ~2 `44
( |9 D+ e$ P" K, U4 `* c457 R7 S' z }9 t5 ?
46
y+ a: o# i' M' y5 H47
+ P, O6 o( Q0 @48
+ ~& i% t; V' J/ p6 o- W49
! U( L% P# ]0 ~8 q0 d50
2 E- j1 V8 M& \" I515 h! D" t# b6 D' [
52: Q' f2 f; b% G1 A
53
$ w0 F* \; C4 l! {6 W54
" q8 Z% t; M% p55) [' n2 }* J# I
56" C& N) a! D& O- L
577 O5 f( p1 \1 m* `0 h
58
) ~. i; \5 |( D. v) Y# S4 V& i: M59& l* w& Y9 p4 O; l2 T0 O( u+ k
60% E* v( T p1 `# x0 o
61
' K2 [' A: x# N3 Y, j* S62
, B" \ ?3 O: ~63
$ @+ C$ o* |% Q9 s64( @1 A8 d& |! d9 ^3 r" h* ?- S
65
Y$ a, ^1 K: V+ a# a另外需要注意,不要在该节点安装libvirt等工具,这些工具安装后可能会启用libvirtd和iscsid.sock等服务,kolla已经在容器中运行了这些服务,这些服务会调用节点上的sock文件,如果节点上也启用这些服务去抢占这些文件,会导致容器异常。默认kolla在预配置时也会主动禁用节点上的相关服务。1 `+ @" L: q* n1 X, N
# o; x# R, u* F6 f) O
安装OpenStack客户端5 [8 `9 c5 i. F: s9 h) |' D8 V
yum安装openstack客户端
4 s x7 C* f/ z9 v( F# i h. j8 y2 d/ M& \7 v9 K
#启用openstack存储库) y2 M) Y( [& i T6 g
yum install -y centos-release-openstack-train0 v& a% d- ?& E2 x/ i* t
# } @ ]+ X2 a# f) r* O6 p) u D
#安装openstack客户端( [$ j" [# Y) h
yum install -y python-openstackclient/ a( p R$ ]. N
/ B- B) V4 c6 f1 t9 I, Q+ l
#启用selinux,安装openstack-selinux软件包以自动管理OpenStack服务的安全策略
: _- H" M9 q4 N$ qyum install -y openstack-selinux# I- T: h( N$ f1 u( T" B& `
+ n; p! I- v2 L+ U6 r* V* z+ M5 s8 E. H
#报错处理' C+ Z S" j4 A5 _; r# u, a
pip uninstall urllib30 E) {" t+ `( h7 Z: i7 N( G
yum install -y python2-urllib34 [, K4 c( P% F; _4 g
16 w7 o& y3 `' d( \/ w
2 H& r9 h$ r' D# B
3
& L! s& [9 G- M" Z4
6 x: o0 `4 h! }) t3 v- f* j% ?5* m$ o; U' X, r+ ~4 M
6
5 m/ s' d. N" i8 R7 [4 U3 v3 F7, a8 ~' T5 j& b! y! G
87 m) E2 m" E7 N; y' F1 _$ x( d. Q3 I
9
' g$ T& Q8 Y) ^8 B/ ^, H10
) y8 d# L& S7 O3 [( K" I$ b" z11
& q1 e& g+ H% s12$ q3 R8 B: D% g; r
kolla ansible提供了一个快速创建cirros demo实例的脚本/usr/share/kolla-ansible/init-runonce。
9 T( @0 m0 e% F* @* @2 ~: i5 o1 S6 ?- M/ w& x
脚本需要cirros镜像,如果网络较慢可以使用浏览器下载放在/opt/cache/files目录下:
) A' @4 A% a2 v& G' ? W1 ~
; H) _ C9 [, q/ n* w7 x' x2 l/ fwget https://github.com/cirros-dev/ci ... 4.0-x86_64-disk.img- R4 P% b% { r* t% a. {* f2 Q
mkdir -p /opt/cache/files/
! d9 a4 G$ E# d; Fmv cirros-0.4.0-x86_64-disk.img /opt/cache/files/
( L' `6 ]* \# ^, ]1
( X+ a# K/ w% w3 q A+ o27 Z, }& m: P' A8 ?4 a" R
3- z7 _, F! m: G+ M, A
定义init-runonce示例脚本外部网络配置:
" V9 Z- t' M# l W' ? J& A; q! p2 D/ U( ?! A
#定义init-runonce示例脚本外部网络配置
# o1 O$ z" }6 K2 g/ nexport EXT_NET_CIDR='192.168.1.0/24'1 R, n8 [2 n( |5 ]9 }3 ]$ a' }
export EXT_NET_RANGE='start=192.168.1.200,end=192.168.1.250'
5 d' U. s u" a' bexport EXT_NET_GATEWAY='192.168.1.1'7 B; |4 Y" v. q
5 }) S+ u& G4 X: B' R/ ~; ~#执行脚本,上传镜像到glance,创建内部网络、外部网络、flavor、ssh key,并运行一个实例
4 s6 ]9 h$ ~9 \4 N b) msource /etc/kolla/admin-openrc.sh
1 B# o z: v, s! Q8 d9 X) e/usr/share/kolla-ansible/init-runonce" e5 U8 a$ d. b
1+ U* p( x% z$ D7 K4 @, @* k3 S2 t8 y
2
' K( q3 E6 H, _. L' V$ H1 w3! S9 ~# \5 p! ]/ }
4: e; M% z) @% c- R
50 h2 F# @! [7 g+ E: W
6
- ~. y. ]/ G8 X+ e7 G& |7/ N; H6 A" p; z2 ^ H- @/ q' F
8- a) N' F0 {* {0 I
参数说明:
5 J1 P. h6 ^* O5 z8 S% y6 D. U4 U* B! X+ f/ Y
EXT_NET_CIDR 指定外部网络,由于使用桥接模式,直接桥接到了电脑的无线网卡,所以这里网络就是无线网卡的网段。& W l( p# r& F& s
EXT_NET_RANGE 指定从外部网络取出一个地址范围,作为外部网络的地址池
" T/ s) X' d/ c$ H; A0 \3 E' j9 aEXT_NET_GATEWAY 外部网络网关,这里与wifi网络使用的网关一致
( {; U9 h- k- d: C根据最终提示运行实例' i; Y2 {/ @5 s
8 s0 Y- g* T' |( Z) s* l7 `$ O1 ~! Nopenstack server create \
4 a1 m5 F6 F4 M3 F4 q --image cirros \
; C" A0 t+ V1 g; N, p# h1 H --flavor m1.tiny \( c; P9 }: y* _) X! |1 d- i7 g
--key-name mykey \
2 c0 |7 W( @5 a8 ~3 ]. S B --network demo-net \/ S/ N: Z5 l- f0 ]; }8 h+ h
demo1
) i$ a/ L, |9 ]" q: V* X% }- N# X: Y13 f: i' U4 m- G x6 d: L
2
! P0 q) {5 B" {: {: V0 I* J; O3
- @* t, P/ l. j+ ], h$ G4! |: K9 T" ^$ F/ q" ~* C- D
5
/ }4 K3 }. L8 d1 s3 O7 \6' g; m1 S# L" p0 m
也可以使用docker容器作为客户端
7 W1 g. s) U+ W( F
# T' [ u4 t$ b" F1 ?. S4 B& qdocker run -d --name client \/ c: O% a6 h8 W) B9 p: c1 b
--restart always \
1 i& z1 r. K. O4 L- s -v /etc/kolla/admin-openrc.sh:/admin-openrc.sh:ro \
7 k4 y6 ?- @! h+ s -v /usr/share/kolla-ansible/init-runonce:/init-runonce:rw \
" |0 Z, D# ^# l( W6 \ registry.cn-shenzhen.aliyuncs.com/kollaimage/centos-binary-openstack-base:train sleep infinity
8 x) k' t) @. f' j
9 E; a& w; B6 _* edocker exec -it client bash
. a0 s2 {$ k) A% W+ o6 v, J. k/ k bsource /admin-openrc.sh
2 t/ D4 e7 H7 Y, `% E2 Bopenstack service list
4 S4 G- g$ I- [# D+ e1
3 b% `1 P x+ y# z# J j5 z( b2
/ U3 H( S! s8 u* q32 w$ G0 f0 _; b: b( l6 X- v
4" Z" i3 @. S- P! H" }" D& \
59 g4 z' }5 ?7 n& V9 V# N p
6* C+ _ V) Z- J" P* r+ b6 {
79 w; p" l' l( w
8
- b A6 K$ `% X, K8 O& U( |99 u0 K- U M& l# L ~0 I$ i* h
访问openstack horizon' {/ r9 E( z6 _& o& @. t
访问openstack horizon需要使用vip地址,节点上可以看到由keepalived容器生成的vip
: k# w) u6 W: k$ h- Y& @4 U; L' Y3 h1 Y( h
[root@kolla ~]# ip a |grep ens33
- k) G( O' Q5 q+ q) Q' A7 ?+ p" |2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000& B* Q: c& B0 U2 ]
inet 192.168.93.30/24 brd 192.168.93.255 scope global ens338 w1 @( H) V" n$ X2 a
inet 192.168.93.100/32 scope global ens33 Q8 R' i! k! U: x' n- R) d+ p; d
12 m- l" W" A& F4 ]( x& O4 i3 B8 q/ _
2
) T( D# R2 G- L+ v/ E) w3
0 A/ b4 k5 ~2 \* t: W+ @4
* J: e0 } f/ B3 _' V- ~浏览器直接访问该地址即可登录到horizon1 Z+ M( U! z, k7 F" V2 X
; O3 {! h7 E; K& K$ r+ W8 a4 A
http://192.168.93.100
0 z) p5 D. L1 P) l9 l- E. |9 w: z! {6 \+ I& P4 @
我这里的用户名密码为admin/kolla,信息可以从admin-openrc.sh中获取! m$ a' Y! |7 E+ p
% Z& t5 H0 f+ R& M7 _% W
[root@kolla ~]# cat /etc/kolla/admin-openrc.sh9 P' A. G; v; j6 D: U
# Clear any old environment that may conflict.
: q$ `: k7 D0 q, z+ _; N! ufor key in $( set | awk '{FS="="} /^OS_/ {print $1}' ); do unset $key ; done
k; ~5 y6 k' y z" i: Z, u; Y! pexport OS_PROJECT_DOMAIN_NAME=Default' d* @$ Z* @* L5 H9 s) E/ U& W% V
export OS_USER_DOMAIN_NAME=Default( [( P" ]" f7 y" |: Y* d0 \6 s @; e
export OS_PROJECT_NAME=admin2 ^ q F; ]9 X
export OS_TENANT_NAME=admin
* t/ J. w- t) R6 ^& l0 [export OS_USERNAME=admin" @0 p L+ |9 \; z: b) L
export OS_PASSWORD=kolla) W% G: k. T; F2 n6 l
export OS_AUTH_URL=http://192.168.93.100:35357/v3
) T' e! K. e, }% w, Xexport OS_INTERFACE=internal4 ^8 k5 h8 E2 P f7 j* Q6 R- g
export OS_ENDPOINT_TYPE=internalURL+ J, ~+ G( [: M0 H+ c+ [9 T
export OS_IDENTITY_API_VERSION=3
" O7 _% P4 C8 I- j* C: aexport OS_REGION_NAME=RegionOne6 m; @" l* X( u
export OS_AUTH_PLUGIN=password3 a0 V4 m$ G& e. O: }* }9 R6 l
1+ j* x4 o! \3 y+ K
2
( R/ b: Z( e& ?! i" z4 b3$ [' t6 n3 Q# B N. a
4
) b' p* F1 q# i2 H: Z8 O3 I50 c3 h- `4 x7 D
6+ P1 ]! \( d- h
7* V/ R7 s& ]3 R4 ?' c
8
7 N2 t! s5 E! v/ v4 j93 t$ P; D& |3 j% b
10
+ M6 s) y1 K0 @ B) k11- W& ?) n7 y2 F6 v8 g0 g% {9 o" \5 R
12
* d, e1 f( s' D3 F13" W+ z* [+ B, ^( L
143 F, e" `6 c- l
15
" x/ h. ]: V1 Y* f' b: X默认登录后如下
7 `/ q) y, c. p" W! n) p1 b0 e7 B( M0 D6 n+ s
6 R% Z5 e5 K2 B) t R在horizion查看创建的网络和实例5 N5 g* v7 D. b: _
a' Q' ? r/ v4 U+ o+ [
登录实例控制台,验证实例与外网的连通性,cirros用户密码在初次登录时有提示: I1 {' C: j# H, Z( t p% I! @4 o
% C7 u; U. _1 j* ?* o( D' p
为实例绑定浮动IP地址,方便从外部ssh远程连接到实例4 M4 L L: A- r2 B% U
9 y. E2 A" Y3 _
点击+随机分配一个浮动IP/ N. C) s: z9 s7 o9 {" N% Q
4 _8 _' Z& b- ?% i6 k: j0 \3 q5 G, `
# G3 G- m; ]- r" e% x' l. q% d: J! P
在kolla节点上ssh连接实例浮动IP,cirros镜像默认用户密码为cirros/gocubsgo,该镜像信息官网有介绍:1 S8 T7 J7 Z+ P$ W
https://docs.openstack.org/image ... es.html#cirros-test
( ^1 @9 ^0 F N! y5 Z1 L4 B
. n+ U. `, K' y5 t) S[root@kolla ~]# ssh cirros@192.168.1.248- K& @* u0 Y! F( d7 X; N
cirros@192.168.1.248's password:
- H9 X* x4 Z5 m2 ?/ Y/ w$
3 |: g; @1 R$ h6 ]8 v$ j% s$
- T1 u! H# V5 T4 o6 ^+ U! W16 b! T" ~+ {4 ~- P6 ~* U
21 R- M* [% F4 l n2 B$ o8 E- Z6 t
3
+ G, g3 g( y, k# r7 L4
9 f" b' Q( |4 d7 w或者在集群外部使用SecureCRT连接到实例。, S* {+ t' L0 b. J( j# q
2 l: L+ g2 }$ G$ }1 r9 _# v+ _8 |) c, A9 s; o6 Y7 S" x8 F
运行CentOS实例
9 t. @/ X# T5 t. P* i- }centos官方维护有相关cloud image,如果不需要进行定制,可以直接下载来运行实例。9 j m e7 f) x) i8 t3 p
) n" y0 i( o& e9 G# ~$ ^9 ~
参考:https://docs.openstack.org/image-guide/obtain-images.html- R, i }4 r: Y1 L
5 N/ w( T& j& `
CentOS官方维护的镜像下载地址:
* ^3 q" M9 e3 q1 D0 I5 I7 G( Ehttp://cloud.centos.org/centos/7/images/
1 b& Y0 f" ~" \- i1 g( R- Q, z& _- T. ~5 F h2 q& S
也可以使用命令直接下载镜像,但是下载可能较慢,建议下载好在进行上传。以centos7.8为例:
4 M4 W: Q* p% ?* f% _2 X, m) B! _2 I' D. X) v* S
wget http://cloud.centos.org/centos/7 ... icCloud-2003.qcow2c
# t0 _( z# s* T- S2 B" {$ s1
$ a+ A/ H" ^$ G0 B; o4 Q) L+ N8 J下载完成后上传镜像到openstack,直接在horizon上传即可。也可以使用命令上传。- ?; K+ x: G' D) y. w
5 V$ q) M! _+ J, u( e6 A
注意:默认该镜像运行的实例只能使用ssh key以centos用户身份登录,如果需要使用root远程ssh连接到实例需要在上传前为镜像配置root免密并开启ssh访问。2 Q$ ?3 d2 P7 l8 Y
6 O; o8 J5 ~6 O: V) [参考:https://blog.csdn.net/networken/article/details/106713658) J" l, G: s5 s' T8 G& c8 k; Q/ ]
2 [: O/ E5 S: J" }4 p1 d/ E0 @0 j另外我们的命令客户端在容器中,所有这里有些不方便,首先要将镜像复制到容器中,然后使用openstack命令上传。3 U3 g6 v1 P( ?7 d( S' q q- K
( ^, V1 s3 @ h/ A6 G* D
这里复制到client容器的根目录下。/ |5 I9 Z6 I0 g% x$ j- ]
! g4 T7 k: F. Y+ G. G0 m[root@kolla ~]# docker cp CentOS-7-x86_64-GenericCloud-2003.qcow2c client:/3 a& T9 O/ P' h! X* ~; C& i
: c2 v1 O3 N' Q[root@kolla ~]# docker exec -it client bash) | l2 ^; q! `
()[root@f11a103c5ade /]# ) `/ L& g, e3 @8 ]. R
()[root@f11a103c5ade /]# source /admin-openrc.sh
?; `( S7 w- c6 y3 ?- Y; Q0 m0 d* S
()[root@f11a103c5ade /]# ls | grep CentOS, T3 Y9 ?6 [5 |
CentOS-7-x86_64-GenericCloud-2003.qcow2c' k% X( s) H4 t4 r: r% b9 C. X
1$ i' L& a* z1 U, d- W/ w$ e# [
2
+ M) N( @: S0 L( X2 B* ?3% N% x0 ?: x) g! `" j
4. } t9 [7 m+ b7 F5 d- |
5
3 x6 g+ _9 x; u# q# R62 G- X: _5 A! e- J
7# n7 }2 G. _3 }0 a
8" \. Q% r8 W% u" | a
执行以下openstack命令上传镜像
# M+ M9 `3 G, j" v* ]& w* J! E
* h! P. V" i1 F! t8 ^8 Kopenstack image create "CentOS78-image" \
9 T. ]' s- O( q0 B( s) I1 M3 h --file CentOS-7-x86_64-GenericCloud-2003.qcow2c \
* ]4 I& `: C! ~ --disk-format qcow2 --container-format bare \4 b$ M d: C4 G0 |9 n
--public
- a8 Y; K6 |% f* r2 ]# j8 M1* N; q }! M. K G1 P
2' ^& O3 B, c; P& X
3
: ?- E% K. }' i# X* D1 r2 P4
- i, m* n! \9 X+ ^" U8 W4 l命令执行结果7 x5 V7 X' ]; V# L
: ]8 s a, ]0 E" U- Y
()[root@f11a103c5ade ~]# openstack image create "CentOS78-image" \
6 P$ i3 S; l3 B) L6 P5 q8 `% \> --file CentOS-7-x86_64-GenericCloud-2003.qcow2c \
V( O) p2 ]" j2 n# q3 j2 R! N> --disk-format qcow2 --container-format bare \5 \6 ^2 [+ o1 @# Y
> --public6 B8 E& Z9 z' q+ J
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- C8 o9 y7 g( t- q| Field | Value |. ?8 l2 m9 e! @: t3 N2 t+ H
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4 @& G! s. t0 o7 R! L5 h| checksum | 362d1e07d42bcbc61b839fb4269b173b |
* ^7 x' Y3 c" _2 Y- d| container_format | bare |9 |- [$ f7 t1 \- R4 Z p. ~6 s& |
| created_at | 2020-06-13T03:23:16Z |- Q6 Z b% |! i1 m" Q2 R, W* g: ]
| disk_format | qcow2 |
( i$ ~9 {6 e, {% a0 n" l| file | /v2/images/2d95d8a0-6fba-4ca8-9dde-8696eb7ebdbf/file |( f/ D( U4 |8 _* B) U/ |0 X' O
| id | 2d95d8a0-6fba-4ca8-9dde-8696eb7ebdbf |% V9 @7 Z3 l4 B' ?$ ]
| min_disk | 0 |" J- r* v* t! A
| min_ram | 0 |3 {# W* F# |: g3 ]% C/ c
| name | CentOS78-image |
0 ?2 |9 J& w C. R* p| owner | 65850af146fe478ab13f59f7edf838ec |
$ c n4 c& R: R| properties | os_hash_algo='sha512', os_hash_value='aefa398f69e1746b420c44e5650f0dcf15926fb6f8c75f746bb2f48a04f7b140fdc745090f3d06b68fa0fe711ded7d822150765414e2a23f351efd2e181eb7b9', os_hidden='False' |. [7 q2 Q4 |; N+ D
| protected | False |
* o; A5 u. r) z8 i# @- ^| schema | /v2/schemas/image | R6 \! b9 j4 U7 l/ \8 m8 ?4 E
| size | 385941504 |
# `" I$ C3 T n( }) k) R| status | active |$ u7 C N- Y5 \' c1 V. b. d7 B
| tags | |
7 T% V7 F+ \1 l, H* r+ o+ D5 W| updated_at | 2020-06-13T03:23:20Z |
, {4 q1 V% J& C6 F* `+ f| virtual_size | None |8 @8 c# n+ N" Y* }
| visibility | public |
& d1 f5 }/ V( f. |; l9 |/ g8 c5 k+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
, s1 D: P1 ~7 i) u. g2 q: r0 ^, G; h1; C* [3 V& `2 ?/ X: H! Y0 B( N
2' R! k2 Q# L. B& M! ^: C/ R) o [
3
. N. ?# t8 ~$ u- Z4
, k+ G$ `# _# Q A7 Q5. T" Q3 t% h7 [- E3 P; ^
6
, A, p% R R- Y: [7 D& J" X" x, a1 P+ ^% ?, J) R
8
( q) {, e$ j! w1 t9 D+ p91 s V' F& n. X A* G7 ]
10
( Q5 U0 E% Q, {1 N2 _" A11; A. @3 o( w$ m7 e
12
9 {% k& j. G4 P0 z13 l. ]$ j" |# x# @, U. Q$ A( P, w% a0 o
14& g6 u$ l, Q9 F0 J& S- U2 I6 D
15( F, h; b- C6 F) I. P C- N4 g
16
6 X; l0 U; l% j) X17% y0 J& K3 U0 m6 x6 E
18! N9 p& W; p# Y2 c u
19
7 N K- }- e% J7 z- K, E& P) i$ D20) U/ `- D2 v8 \2 J7 E5 Z) C# B. Z% ]
21' s& L5 O! Q9 T
22
9 Y; o$ |0 C( X4 J6 p0 w23
% j( \* i% J s! B& V24
( B$ Q* J/ f; F4 p, j' d7 D; k25
1 \3 y( k& U# Z26
2 }6 ~# b/ ^" E+ A, I6 m, _27) v& t+ Z5 \" X* l. |
在horizon中使用该镜像创建实例,其他信息直接使用之前demo创建的资源即可。创建完成后为实例绑定浮动IP。
+ x3 D( l& i/ C+ ]2 J. A8 p- U7 U* v1 ^0 N& t4 V; H( r
如果实例创建失败可以查看相关组件报错日志
" \7 u9 E% W4 T/ }. n5 _6 P1 c4 L7 m( T( {0 [) O" ^0 }
[root@kolla ~]# tail -100f /var/log/kolla/nova/nova-compute.log
- ]6 ?' q' o5 ]" ]1" ]9 }1 \5 ~$ q' l5 A/ [7 @
未配置root密码连接实例
2 K3 ^, ] ^2 b! @0 g如果没有提前定制镜像修改root密码,只能使用centos用户及sshkey登录,由于是在容器中运行的demo示例,ssh私钥也保存在容器的默认目录下,在容器中连接实例浮动IP测试
: e/ z/ g6 ^( d P2 v, i8 y& O: U+ J8 U
[root@kolla ~]# docker exec -it client bash
) Y4 U) a; Q4 a5 H()[root@f11a103c5ade /]# ssh -i /root/.ssh/id_rsa centos@192.168.1.1053 V$ |. j- R$ Z. y5 t y9 Z/ k
Last login: Sat Jun 13 05:47:49 2020 from 192.168.1.100
8 v5 u0 r" g# H+ v[centos@centos78 ~]$
1 c& T* }) W' I4 {8 x* V q[centos@centos78 ~]$
- @( c5 o5 [9 Z' Z; E" O1
- V# A0 T8 D2 n' E) S# ^2
. H( P4 J3 D3 ?! c. z- C3
5 s- ~9 _6 l5 ?; F6 b4 l4
$ c# z1 n& A0 X& z6 A5
2 s* y) { H! M$ ~7 Y或者取出该id_rsa私钥,使用SecureCRT登录:
1 Q" ?0 t+ t+ A* [! x% M5 l
# j( |8 ^! R. A8 E$ R配置root密码连接实例
, w7 c+ ?1 i6 A, S [6 F
& E" Y! ?" y, D如果提前修改了镜像配置root密码,直接使用root用户密码登录实例即可,0 Q2 p( J& H) N& j
! F- z5 r+ Y0 d$ s! L[root@kolla ~]# ssh root@192.168.1.105' |$ s: }) O7 t6 j- ~4 j7 a. k. y
root@192.168.1.105's password: ! J6 e, s' m C$ R: e3 G3 K
Last login: Sat Jun 13 05:51:53 2020 from 192.168.1.100
8 c- k2 t1 D. [. s[root@centos78 ~]# - b; S/ `2 A% `$ U# s" n r' K4 Z( K
[root@centos78 ~]# ip a
! @6 a9 A+ A+ v/ L: B$ V1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000% q" g6 \: X( p7 F& t
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00! S) c* o( q* G( O9 R' l2 G4 v; ]
inet 127.0.0.1/8 scope host lo
: |' x6 U4 G! W2 f8 R0 O) y1 C l valid_lft forever preferred_lft forever5 @5 k; i9 t! s" G% \
inet6 ::1/128 scope host ( g& e: S e: ]: P Y9 X
valid_lft forever preferred_lft forever/ m* l/ F% m! ?! _
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast state UP group default qlen 1000- r* I' h. H' r, Z9 z1 l o* [
link/ether fa:16:3e:94:b5:71 brd ff:ff:ff:ff:ff:ff
# n# f3 e3 {( R8 I. Z0 S inet 10.0.0.193/24 brd 10.0.0.255 scope global dynamic eth0/ g W) p: p& N
valid_lft 84215sec preferred_lft 84215sec
s5 U0 q% p. u! j inet6 fe80::f816:3eff:fe94:b571/64 scope link
/ q( \, T) R# r: g! i: P valid_lft forever preferred_lft forever
, @! C4 i9 n [/ q! X[root@centos78 ~]# - H0 q9 N8 @- a
[root@centos78 ~]# cat /etc/redhat-release
. x& O8 O0 u' i6 U- b, |CentOS Linux release 7.8.2003 (Core)
9 ?& f. x Z, ]; B0 g( r1
% ^' Q& u0 b1 R6 u7 Q2
& y4 @, g {& d6 Z$ [8 U' m3
- G7 Q$ j' H" c+ z# k4
% a/ c5 T4 W1 h4 @- |5" m# D3 ?( U7 W6 Y
6
4 a" O6 }: k* N$ K% R7) ^5 u% E M9 Q9 d: X4 d# Q
8
$ m' A8 ?" Y" ~- ^( i9' N- r+ a7 E5 Z& v& |3 [& T
100 A, S8 p, ~ C( y* K" q
11
% V7 y+ a8 C, L12
: b( N7 c4 ]+ E0 }4 E% T1 Q- l+ ^, E& t13
2 R4 T+ B1 d- f) W" t14 V9 d! T6 ?: |6 k# u; a
15
9 F1 X. @0 ]1 D7 ]16
5 a7 f/ q; z, m, Z! v179 f9 u) G) d, P8 O: C, R
18
: a/ Y/ x0 b. H19
$ y0 w. ]- U& [1 U' s1 x20
% w% A3 k! E* e0 m运行Ubuntu实例& T6 j, m) K% w5 ^. J7 e- t" G
下载镜像$ u0 n7 Y8 z1 _- u: k2 a8 a7 Y
$ Z& l7 {( |3 q x6 y# e8 R0 E2 nwget https://cloud-images.ubuntu.com/ ... -cloudimg-amd64.img( `: ?7 I# Z& F e0 j" P
1
: H, O4 I* Y$ v, `/ {上传镜像
2 c( A- ~* W! Z( W/ Y% p/ \0 ]; S3 G+ ^' D7 q/ S
openstack image create "Ubuntu1804" \
7 Y7 w" R! G5 N6 Q/ l6 L: o' r1 A) _ --file bionic-server-cloudimg-amd64.img \1 \6 n# G. T3 S+ S& @6 @
--disk-format qcow2 --container-format bare \* }/ J' _5 z, b2 \
--public
5 k: i5 _7 ]3 A! {8 Y$ _1
" q) r/ I Q6 U2 O2
: L. I4 ^9 O6 P5 r. ?3 D37 q/ T3 g u3 E) a( s
4
+ E- T7 [0 B; g5 Z- M H按照正常流程创建实例即可,ubuntu镜像默认用户为ubuntu,首次登陆使用sshkey方式,然后执行以下命令即可直接切换到root用户(centos无法使用该方式)6 a& j5 Y6 k! @4 O
% U" m0 @1 F) \2 h) S$ sudo -i7 N% [5 s4 M0 y$ D( C2 I7 C; O
1
W3 ~8 x; D* U) V4 M, V" }. p. Q调整集群配置" x6 Z8 u' q8 r+ i N
集群部署完成后需要开启新的组件或者扩容,可以修改/etc/kolla/global.yml调整参数。6 x" h8 q c7 |4 A( r9 q
或者在/etc/kolla/config目录下创建自定义配置文件,例如
% P i3 O6 @2 N
/ \$ P0 R C* u6 q: ^ O3 W [/ ]; f# mkdir -p /etc/kolla/config/nova
9 K5 i6 T& f# @' Z, U+ y6 |) O, D! L
# vim /etc/kolla/config/nova/nova.conf
1 R( {3 C( y/ h, }) Q[DEFAULT]1 D1 D% K. |+ C$ W. _
block_device_allocate_retries = 3002 C0 R. u3 R! \4 Y3 C7 N
block_device_allocate_retries_interval = 37 |: L0 Q- J2 i/ Q4 }3 J
1
9 N+ W, |! c: C' E- y2
. I" J5 M3 O; O$ g3: o+ r' V7 w/ Q/ F
42 N% c% ~/ O( c! G( p4 p9 k$ B
5$ g' I. l) E" B
6- `: S( i! T. R( i: ?& y
重新配置openstack,kolla会自动重建配置变动的容器组件。4 H9 \) X# Z: Q' K
, Q3 ?+ C# Y, `# K- l% Q: Fkolla-ansible -i all-in-one reconfigure -t nova
$ e, z; |; w$ ]4 t0 a5 C1
3 o- o, U, S% f, T# @kolla配置和日志文件
6 s1 [) _ u1 i7 Y7 _: u各个组件配置文件目录: /etc/kolla/' {0 q# e' d6 o0 g
各个组件日志文件目录:/var/log/kolla/' l9 q' H* I+ w1 g) D
清理kolla ansilbe集群+ d5 g0 `% N7 H
kolla-ansible destroy --include-images --yes-i-really-really-mean-it
' k2 ]0 ^ i! N5 `8 A5 R$ E0 x( Z# H! l- s( \
#或者
% \0 D1 \ [* X[root@kolla ~]# cd /usr/share/kolla-ansible/tools/& ~# ~4 j5 O- A1 ~8 {% d
[root@all tools]# ./cleanup-containers" P" d# o l1 n m4 P) t' e4 u B
[root@all tools]# ./cleanup-host9 q) ~8 x7 r" k% k; {( l/ F- k
5 P+ z3 J0 H6 j# a+ ~( A#重置cinder卷,谨慎操作: V6 J! N2 {- P7 s' A( Y3 b. u0 \
vgremove cinder-volume
. z9 |6 u2 d' k8 {9 J5 J————————————————
: X/ q+ B" ^: Z4 U
- S* b+ Z4 Z/ X7 U$ g, I |
|