感谢支持
我们一直在努力

Centos8最小化部署安装OpenStack Ussuri的详细教程

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

赞(0) 打赏
转载请注明出处:服务器评测 » Centos8最小化部署安装OpenStack Ussuri的详细教程
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏