Centos8最小化部署安裝OpenStack Ussuri的教程如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
|
#!/bin/bash #Centos8最小化部署安裝OpenStack Ussuri #共兩臺主機,分別是一臺控制節點,一臺計算節點 #1、控制節點內存4096M。雙網卡,分別為eth0:10.0.0.11,eth1:10.0.0.12 #2、計算節點內存2048M。雙網卡,分別為eth0:10.0.0.31,eth1:10.0.0.32 #設置阿里云yum源 curl -o /etc/yum .repos.d /CentOS-Base .repo https: //mirrors .aliyun.com /repo/Centos-8 .repo rm -f /etc/yum .repos.d /CentOS-AppStream .repo /etc/yum .repos.d /CentOS-PowerTools .repo /etc/yum .repos.d /CentOS-centosplus .repo /etc/yum .repos.d /CentOS-Extras .repo && rm -rf /var/cache/yum && yum makecache && yum -y update && yum -y autoremove #關閉防火墻 systemctl stop firewalld && systemctl disable firewalld #關閉SELinux setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config #關閉swap分區 swapoff -a sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab #設置內核 modprobe bridge modprobe br_netfilter cat > /etc/sysconfig/modules/neutron .modules <<EOF #!/bin/bash modprobe -- bridge modprobe -- br_netfilter EOF chmod 755 /etc/sysconfig/modules/neutron .modules && bash /etc/sysconfig/modules/neutron .modules echo "vm.max_map_count=262144" >> /etc/sysctl .conf echo "net.ipv4.ip_forward=1" >> /etc/sysctl .conf echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl .conf echo "net.bridge.bridge-nf-call-ip6tables=1" >> /etc/sysctl .conf sysctl -p #設置時間同步 yum install -y chrony && yum -y autoremove sed -i '/^pool/d' /etc/chrony .conf sed -i '/^server/d' /etc/chrony .conf echo "pool ntp.aliyun.com iburst" >> /etc/chrony .conf systemctl start chronyd.service && systemctl enable chronyd.service #控制節點 設置hostname hostnamectl set - hostname controller #計算節點 設置hostname hostnamectl set - hostname compute1 #添加host echo "10.0.0.11 controller" >> /etc/hosts echo "10.0.0.31 compute1" >> /etc/hosts #安裝基礎組件 yum install -y centos-release-openstack-ussuri yum config-manager -- set -enabled PowerTools yum upgrade -y yum install -y python3-openstackclient #控制節點 安裝Mariadb yum install -y mariadb mariadb-server python2-PyMySQL tee /etc/my .cnf.d /openstack .cnf <<- 'EOF' [mysqld] bind-address = 10.0.0.11 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character- set -server = utf8 EOF systemctl enable mariadb.service && systemctl start mariadb.service echo -e "\nY\n123456\n123456\nY\nn\nY\nY\n" | mysql_secure_installation #控制節點 安裝RabbitMQ yum install -y rabbitmq-server systemctl enable rabbitmq-server.service && systemctl start rabbitmq-server.service rabbitmqctl add_user openstack 123456 rabbitmqctl set_permissions openstack ".*" ".*" ".*" #控制節點 安裝Memcached yum install -y memcached python3-memcached sed -i "s/-l 127.0.0.1,::1/-l 127.0.0.1,::1,controller/g" /etc/sysconfig/memcached systemctl enable memcached.service && systemctl start memcached.service #控制節點 安裝Etcd yum install -y etcd rm -f /etc/etcd/etcd .conf tee /etc/etcd/etcd .conf <<- 'EOF' #[Member] ETCD_DATA_DIR= "/var/lib/etcd/default.etcd" ETCD_LISTEN_PEER_URLS= "http://10.0.0.11:2380" ETCD_LISTEN_CLIENT_URLS= "http://10.0.0.11:2379" ETCD_NAME= "controller" #[Clustering] ETCD_INITIAL_ADVERTISE_PEER_URLS= "http://10.0.0.11:2380" ETCD_ADVERTISE_CLIENT_URLS= "http://10.0.0.11:2379" ETCD_INITIAL_CLUSTER= "controller=http://10.0.0.11:2380" ETCD_INITIAL_CLUSTER_TOKEN= "etcd-cluster-01" ETCD_INITIAL_CLUSTER_STATE= "new" EOF systemctl enable etcd && systemctl start etcd #控制節點 安裝Identity service mysql -uroot -p123456 -e "CREATE DATABASE keystone" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456'" yum install -y openstack-keystone httpd python3-mod_wsgi sed -i "556c connection = mysql+pymysql://keystone:123456@controller/keystone" /etc/keystone/keystone .conf sed -i "2418c provider = fernet" /etc/keystone/keystone .conf su -s /bin/sh -c "keystone-manage db_sync" keystone keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone keystone-manage credential_setup --keystone-user keystone --keystone-group keystone keystone-manage bootstrap --bootstrap-password 123456 \ --bootstrap-admin-url http: //controller :5000 /v3/ \ --bootstrap-internal-url http: //controller :5000 /v3/ \ --bootstrap-public-url http: //controller :5000 /v3/ \ --bootstrap-region- id RegionOne echo "ServerName controller" >> /etc/httpd/conf/httpd .conf ln -s /usr/share/keystone/wsgi-keystone .conf /etc/httpd/conf .d/ systemctl enable httpd.service && systemctl start httpd.service echo "export OS_USERNAME=admin" >> /etc/profile echo "export OS_PASSWORD=123456" >> /etc/profile echo "export OS_PROJECT_NAME=admin" >> /etc/profile echo "export OS_USER_DOMAIN_NAME=Default" >> /etc/profile echo "export OS_PROJECT_DOMAIN_NAME=Default" >> /etc/profile echo "export OS_AUTH_URL=http://controller:5000/v3" >> /etc/profile echo "export OS_IDENTITY_API_VERSION=3" >> /etc/profile source /etc/profile openstack project create --domain default --description "Service Project" service #控制節點 安裝Image service mysql -uroot -p123456 -e "CREATE DATABASE glance" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456'" openstack user create --domain default --password 123456 glance openstack role add --project service --user glance admin openstack service create --name glance --description "OpenStack Image" image openstack endpoint create --region RegionOne image public http: //controller :9292 openstack endpoint create --region RegionOne image internal http: //controller :9292 openstack endpoint create --region RegionOne image admin http: //controller :9292 yum install -y openstack-glance sed -i "2062c connection = mysql+pymysql://glance:123456@controller/glance" /etc/glance/glance-api .conf sed -i "5034c www_authenticate_uri = http://controller:5000" /etc/glance/glance-api .conf sed -i "5035c auth_url = http://controller:5000" /etc/glance/glance-api .conf sed -i "5036c memcached_servers = controller:11211" /etc/glance/glance-api .conf sed -i "5037c auth_type = password" /etc/glance/glance-api .conf sed -i "5038c project_domain_name = Default" /etc/glance/glance-api .conf sed -i "5039c user_domain_name = Default" /etc/glance/glance-api .conf sed -i "5040c project_name = service" /etc/glance/glance-api .conf sed -i "5041c username = glance" /etc/glance/glance-api .conf sed -i "5042c password = 123456" /etc/glance/glance-api .conf sed -i "5678c flavor = keystone" /etc/glance/glance-api .conf sed -i "3413c stores = file,http" /etc/glance/glance-api .conf sed -i "3414c default_store = file" /etc/glance/glance-api .conf sed -i "3415c filesystem_store_datadir = /var/lib/glance/images/" /etc/glance/glance-api .conf su -s /bin/sh -c "glance-manage db_sync" glance systemctl enable openstack-glance-api.service && systemctl start openstack-glance-api.service #控制節點 安裝Placement service mysql -uroot -p123456 -e "CREATE DATABASE placement" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY '123456'" openstack user create --domain default --password 123456 placement openstack role add --project service --user placement admin openstack service create --name placement --description "Placement API" placement openstack endpoint create --region RegionOne placement public http: //controller :8778 openstack endpoint create --region RegionOne placement internal http: //controller :8778 openstack endpoint create --region RegionOne placement admin http: //controller :8778 yum install -y openstack-placement-api sed -i "507c connection = mysql+pymysql://placement:123456@controller/placement" /etc/placement/placement .conf sed -i "192c auth_strategy = keystone" /etc/placement/placement .conf sed -i "241c auth_url = http://controller:5000/v3" /etc/placement/placement .conf sed -i "242c memcached_servers = controller:11211" /etc/placement/placement .conf sed -i "243c auth_type = password" /etc/placement/placement .conf sed -i "244c project_domain_name = Default" /etc/placement/placement .conf sed -i "245c user_domain_name = Default" /etc/placement/placement .conf sed -i "246c project_name = service" /etc/placement/placement .conf sed -i "247c username = placement" /etc/placement/placement .conf sed -i "248c password = 123456" /etc/placement/placement .conf su -s /bin/sh -c "placement-manage db sync" placement systemctl restart httpd #控制節點 安裝Compute service mysql -uroot -p123456 -e "CREATE DATABASE nova_api" mysql -uroot -p123456 -e "CREATE DATABASE nova" mysql -uroot -p123456 -e "CREATE DATABASE nova_cell0" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY '123456'" openstack user create --domain default --password 123456 nova openstack role add --project service --user nova admin openstack service create --name nova --description "OpenStack Compute" compute openstack endpoint create --region RegionOne compute public http: //controller :8774 /v2 .1 openstack endpoint create --region RegionOne compute internal http: //controller :8774 /v2 .1 openstack endpoint create --region RegionOne compute admin http: //controller :8774 /v2 .1 yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler sed -i "2c enabled_apis = osapi_compute,metadata" /etc/nova/nova .conf sed -i "3c transport_url = rabbit://openstack:123456@controller:5672/" /etc/nova/nova .conf sed -i "4c my_ip = 10.0.0.11" /etc/nova/nova .conf sed -i "1079c connection = mysql+pymysql://nova:123456@controller/nova_api" /etc/nova/nova .conf sed -i "1622c connection = mysql+pymysql://nova:123456@controller/nova" /etc/nova/nova .conf sed -i "872c auth_strategy = keystone" /etc/nova/nova .conf sed -i "2561c www_authenticate_uri = http://controller:5000/" /etc/nova/nova .conf sed -i "2562c auth_url = http://controller:5000/" /etc/nova/nova .conf sed -i "2563c memcached_servers = controller:11211" /etc/nova/nova .conf sed -i "2564c auth_type = password" /etc/nova/nova .conf sed -i "2565c project_domain_name = Default" /etc/nova/nova .conf sed -i "2566c user_domain_name = Default" /etc/nova/nova .conf sed -i "2567c project_name = service" /etc/nova/nova .conf sed -i "2568c username = nova" /etc/nova/nova .conf sed -i "2569c password = 123456" /etc/nova/nova .conf sed -i "5171c enabled = true" /etc/nova/nova .conf sed -i '5172c server_listen = $my_ip' /etc/nova/nova .conf sed -i '5173c server_proxyclient_address = $my_ip' /etc/nova/nova .conf sed -i "1937c api_servers = http://controller:9292" /etc/nova/nova .conf sed -i "3571c lock_path = /var/lib/nova/tmp" /etc/nova/nova .conf sed -i "4093c region_name = RegionOne" /etc/nova/nova .conf sed -i "4094c project_domain_name = Default" /etc/nova/nova .conf sed -i "4095c project_name = service" /etc/nova/nova .conf sed -i "4096c auth_type = password" /etc/nova/nova .conf sed -i "4097c user_domain_name = Default" /etc/nova/nova .conf sed -i "4098c auth_url = http://controller:5000/v3" /etc/nova/nova .conf sed -i "4099c username = placement" /etc/nova/nova .conf sed -i "4100c password = 123456" /etc/nova/nova .conf sed -i "4509c discover_hosts_in_cells_interval = 300" /etc/nova/nova .conf su -s /bin/sh -c "nova-manage api_db sync" nova su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova su -s /bin/sh -c "nova-manage db sync" nova systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service && systemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service #計算節點 安裝Compute service yum install -y openstack-nova-compute sed -i "2c enabled_apis = osapi_compute,metadata" /etc/nova/nova .conf sed -i "3c transport_url = rabbit://openstack:123456@controller" /etc/nova/nova .conf sed -i "4c my_ip = 10.0.0.31" /etc/nova/nova .conf sed -i "872c auth_strategy = keystone" /etc/nova/nova .conf sed -i "2561c www_authenticate_uri = http://controller:5000/" /etc/nova/nova .conf sed -i "2562c auth_url = http://controller:5000/" /etc/nova/nova .conf sed -i "2563c memcached_servers = controller:11211" /etc/nova/nova .conf sed -i "2564c auth_type = password" /etc/nova/nova .conf sed -i "2565c project_domain_name = Default" /etc/nova/nova .conf sed -i "2566c user_domain_name = Default" /etc/nova/nova .conf sed -i "2567c project_name = service" /etc/nova/nova .conf sed -i "2568c username = nova" /etc/nova/nova .conf sed -i "2569c password = 123456" /etc/nova/nova .conf sed -i "5171c enabled = true" /etc/nova/nova .conf sed -i "5172c server_listen = 0.0.0.0" /etc/nova/nova .conf sed -i '5173c server_proxyclient_address = $my_ip' /etc/nova/nova .conf sed -i "5174c novncproxy_base_url = http://controller:6080/vnc_auto.html" /etc/nova/nova .conf sed -i "1937c api_servers = http://controller:9292" /etc/nova/nova .conf sed -i "3571c lock_path = /var/lib/nova/tmp" /etc/nova/nova .conf sed -i "4093c region_name = RegionOne" /etc/nova/nova .conf sed -i "4094c project_domain_name = Default" /etc/nova/nova .conf sed -i "4095c project_name = service" /etc/nova/nova .conf sed -i "4096c auth_type = password" /etc/nova/nova .conf sed -i "4097c user_domain_name = Default" /etc/nova/nova .conf sed -i "4098c auth_url = http://controller:5000/v3" /etc/nova/nova .conf sed -i "4099c username = placement" /etc/nova/nova .conf sed -i "4100c password = 123456" /etc/nova/nova .conf #執行命令,查看是否支持CPU虛擬化,如果大于0則支持。 egrep -c '(vmx|svm)' /proc/cpuinfo #如果不支持的話還需要執行下面的命令 sed -i "2722c virt_type = qemu" /etc/nova/nova .conf systemctl enable libvirtd.service openstack-nova-compute.service && systemctl start libvirtd.service openstack-nova-compute.service #控制節點 計算節點從注冊到發現會有延遲,根據discover_hosts_in_cells_interval 配置輪詢發現時間,可以執行下面命令手動發現計算節點 su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova #控制節點 安裝Networking service mysql -uroot -p123456 -e "CREATE DATABASE neutron" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456'" openstack user create --domain default --password 123456 neutron openstack role add --project service --user neutron admin openstack service create --name neutron --description "OpenStack Networking" network openstack endpoint create --region RegionOne network public http: //controller :9696 openstack endpoint create --region RegionOne network internal http: //controller :9696 openstack endpoint create --region RegionOne network admin http: //controller :9696 yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables #配置服務器組件 sed -i "2c core_plugin = ml2" /etc/neutron/neutron .conf sed -i "3c service_plugins = router" /etc/neutron/neutron .conf sed -i "4c allow_overlapping_ips = true" /etc/neutron/neutron .conf sed -i "5c transport_url = rabbit://openstack:123456@controller" /etc/neutron/neutron .conf sed -i "6c auth_strategy = keystone" /etc/neutron/neutron .conf sed -i "7c notify_nova_on_port_status_changes = true" /etc/neutron/neutron .conf sed -i "8c notify_nova_on_port_data_changes = true" /etc/neutron/neutron .conf sed -i "254c connection = mysql+pymysql://neutron:123456@controller/neutron" /etc/neutron/neutron .conf sed -i "359c www_authenticate_uri = http://controller:5000" /etc/neutron/neutron .conf sed -i "360c auth_url = http://controller:5000" /etc/neutron/neutron .conf sed -i "361c memcached_servers = controller:11211" /etc/neutron/neutron .conf sed -i "362c auth_type = password" /etc/neutron/neutron .conf sed -i "363c project_domain_name = default" /etc/neutron/neutron .conf sed -i "364c user_domain_name = default" /etc/neutron/neutron .conf sed -i "365c project_name = service" /etc/neutron/neutron .conf sed -i "366c username = neutron" /etc/neutron/neutron .conf sed -i "367c password = 123456" /etc/neutron/neutron .conf sed -i "521c lock_path = /var/lib/neutron/tmp" /etc/neutron/neutron .conf echo "[nova]" >> /etc/neutron/neutron .conf echo "auth_url = http://controller:5000" >> /etc/neutron/neutron .conf echo "auth_type = password" >> /etc/neutron/neutron .conf echo "project_domain_name = default" >> /etc/neutron/neutron .conf echo "user_domain_name = default" >> /etc/neutron/neutron .conf echo "region_name = RegionOne" >> /etc/neutron/neutron .conf echo "project_name = service" >> /etc/neutron/neutron .conf echo "username = nova" >> /etc/neutron/neutron .conf echo "password = 123456" >> /etc/neutron/neutron .conf #配置Modular Layer 2 (ML2) plug-in echo "[ml2]" >> /etc/neutron/plugins/ml2/ml2_conf .ini echo "type_drivers = flat,vlan,vxlan" >> /etc/neutron/plugins/ml2/ml2_conf .ini echo "tenant_network_types = vxlan" >> /etc/neutron/plugins/ml2/ml2_conf .ini echo "mechanism_drivers = linuxbridge,l2population" >> /etc/neutron/plugins/ml2/ml2_conf .ini echo "extension_drivers = port_security" >> /etc/neutron/plugins/ml2/ml2_conf .ini echo "[ml2_type_flat]" >> /etc/neutron/plugins/ml2/ml2_conf .ini echo "flat_networks = provider" >> /etc/neutron/plugins/ml2/ml2_conf .ini echo "vni_ranges = 1:1000" >> /etc/neutron/plugins/ml2/ml2_conf .ini echo "[securitygroup]" >> /etc/neutron/plugins/ml2/ml2_conf .ini echo "enable_ipset = true" >> /etc/neutron/plugins/ml2/ml2_conf .ini #配置Linux bridge agent echo "[linux_bridge]" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini #eth1為另外第二張網卡 echo "physical_interface_mappings = provider:eth1" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "[vxlan]" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "enable_vxlan = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini #10.0.0.12為第二張網卡的IP echo "local_ip = 10.0.0.12" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "l2_population = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "[securitygroup]" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "enable_security_group = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini #配置layer-3 agent sed -i "2c interface_driver = linuxbridge" /etc/neutron/l3_agent .ini #配置DHCP agent sed -i "2c interface_driver = linuxbridge" /etc/neutron/dhcp_agent .ini sed -i "3c dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq" /etc/neutron/dhcp_agent .ini sed -i "4c enable_isolated_metadata = true" /etc/neutron/dhcp_agent .ini #配置metadata agent sed -i "2c nova_metadata_host = controller" /etc/neutron/metadata_agent .ini sed -i "3c metadata_proxy_shared_secret = 123456" /etc/neutron/metadata_agent .ini #配置計算服務使用網絡服務 sed -i " 3334c auth_url = http://controller:5000" /etc/nova/nova .conf sed -i " 3335c auth_type = password" /etc/nova/nova .conf sed -i " 3336c project_domain_name = default" /etc/nova/nova .conf sed -i " 3337c user_domain_name = default" /etc/nova/nova .conf sed -i " 3338c region_name = RegionOne" /etc/nova/nova .conf sed -i " 3339c project_name = service" /etc/nova/nova .conf sed -i " 3340c username = neutron" /etc/nova/nova .conf sed -i " 3341c password = 123456" /etc/nova/nova .conf sed -i " 3342c service_metadata_proxy = true" /etc/nova/nova .conf sed -i " 3343c metadata_proxy_shared_secret = 123456" /etc/nova/nova .conf ln -s /etc/neutron/plugins/ml2/ml2_conf .ini /etc/neutron/plugin .ini su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron systemctl restart openstack-nova-api.service systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service && systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service systemctl enable neutron-l3-agent.service && systemctl start neutron-l3-agent.service #計算節點 安裝Networking service yum install -y openstack-neutron-linuxbridge ebtables ipset sed -i "2c transport_url = rabbit://openstack:123456@controller" /etc/neutron/neutron .conf sed -i "3c auth_strategy = keystone" /etc/neutron/neutron .conf sed -i "359c www_authenticate_uri = http://controller:5000" /etc/neutron/neutron .conf sed -i "360c auth_url = http://controller:5000" /etc/neutron/neutron .conf sed -i "361c memcached_servers = controller:11211" /etc/neutron/neutron .conf sed -i "362c auth_type = password" /etc/neutron/neutron .conf sed -i "363c project_domain_name = default" /etc/neutron/neutron .conf sed -i "364c user_domain_name = default" /etc/neutron/neutron .conf sed -i "365c project_name = service" /etc/neutron/neutron .conf sed -i "366c username = neutron" /etc/neutron/neutron .conf sed -i "367c password = 123456" /etc/neutron/neutron .conf sed -i "521c lock_path = /var/lib/neutron/tmp" /etc/neutron/neutron .conf echo "[linux_bridge]" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini #eth1為另外第二張網卡 echo "physical_interface_mappings = provider:eth1" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "[vxlan]" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "enable_vxlan = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini #10.0.0.32為第二張網卡的IP echo "local_ip = 10.0.0.32" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "l2_population = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "[securitygroup]" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "enable_security_group = true" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini echo "firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver" >> /etc/neutron/plugins/ml2/linuxbridge_agent .ini #配置計算服務使用網絡服務 sed -i " 3334c auth_url = http://controller:5000" /etc/nova/nova .conf sed -i " 3335c auth_type = password" /etc/nova/nova .conf sed -i " 3336c project_domain_name = default" /etc/nova/nova .conf sed -i " 3337c user_domain_name = default" /etc/nova/nova .conf sed -i " 3338c region_name = RegionOne" /etc/nova/nova .conf sed -i " 3339c project_name = service" /etc/nova/nova .conf sed -i " 3340c username = neutron" /etc/nova/nova .conf sed -i " 3341c password = 123456" /etc/nova/nova .conf systemctl restart openstack-nova-compute.service systemctl enable neutron-linuxbridge-agent.service && systemctl start neutron-linuxbridge-agent.service #控制節點 安裝Dashboard yum install -y openstack-dashboard sed -i '118c OPENSTACK_HOST = "controller"' /etc/openstack-dashboard/local_settings sed -i "39c ALLOWED_HOSTS = ['*']" /etc/openstack-dashboard/local_settings sed -i "104c SESSION_ENGINE = 'django.contrib.sessions.backends.cache'" /etc/openstack-dashboard/local_settings sed -i "94c CACHES = {" /etc/openstack-dashboard/local_settings sed -i "95c 'default': {" /etc/openstack-dashboard/local_settings sed -i "96c 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'," /etc/openstack-dashboard/local_settings sed -i "97c 'LOCATION': 'controller:11211'," /etc/openstack-dashboard/local_settings sed -i "98c }" /etc/openstack-dashboard/local_settings sed -i "99c }" /etc/openstack-dashboard/local_settings sed -i '119c OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST' /etc/openstack-dashboard/local_settings echo 'OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True' >> /etc/openstack-dashboard/local_settings echo 'OPENSTACK_API_VERSIONS = {' >> /etc/openstack-dashboard/local_settings echo ' "identity": 3,' >> /etc/openstack-dashboard/local_settings echo ' "image": 2,' >> /etc/openstack-dashboard/local_settings echo ' "volume": 3' >> /etc/openstack-dashboard/local_settings echo '}' >> /etc/openstack-dashboard/local_settings echo 'OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"' >> /etc/openstack-dashboard/local_settings echo 'OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"' >> /etc/openstack-dashboard/local_settings sed -i '123c TIME_ZONE = "Asia/Shanghai"' /etc/openstack-dashboard/local_settings echo "WEBROOT = '/dashboard/'" >> /etc/openstack-dashboard/local_settings echo 'WSGIApplicationGroup %{GLOBAL}' >> /etc/httpd/conf .d /openstack-dashboard .conf systemctl restart httpd.service memcached.service #安裝完成,可訪問http://10.0.0.11/dashboard/查看 |
總結
到此這篇關于Centos8最小化部署安裝OpenStack Ussuri的詳細教程的文章就介紹到這了,更多相關Centos8最小化部署安裝OpenStack Ussuri內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/hackyo/p/13426224.html