openstack_stein搭建

本文档详细记录了在OpenStack Stein环境下,从规划到安全设置,再到各个组件(如数据库、消息队列、认证服务、镜像服务、计算服务、网络服务等)的安装配置过程,并列举了遇到的问题及解决方案,包括placement服务出错、keystone数据库同步失败、dashboard创建网络错误等,旨在帮助读者成功部署OpenStack环境。
摘要由CSDN通过智能技术生成

环境

我的规划

注意: 我的教程有很多错误,如果发现了错误请麻烦给我留个言

controller IP: 192.168.3.104(管理IP),192.168.101.131(提供者IP)
compute IP:192.168.3.103(管理IP),192.168.101.130(提供者IP)
密码全为: 123456

官方文档的配置:
comtroller IP: 10.0.0.11
compute IP: 10.0.0.31

技巧:
可以使用grep过滤要配置的文件,很多文件都是没有内容的,只有一个标签
grep -vE ‘^#|^$’ 文件路径

##配置进度
controller: glance节点已经配完
compute:配置以及全部配完

安全

controoler: 
	openssl rand -hex 10 > rand.pass
官方文档建议admin使用这个命令生成的的字符串当密码

主机名,yum源等

所有节点:

hostnamectl set-hostname controller
hostnamectl set-hostname compute
yum -y install epel-release centos-release-openstack-stein 
yum -y install python-openstackclient openstack-selinux
yum  -y  upgrade
配置hosts文件
删除网卡配置文件中关于UUID和HWADDR的内容
检查时间是否一致
	date

NTP(可选)

chrony部署

(阿里的ntp服务器)
ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
controller节点
yum install chrony -y
vim /etc/chrony.conf
server 127.0.0.1 iburst
allow 0.0.0.0/0

other节点
yum -y install chrony
vim /etc/chrony.conf
server controller iburst

验证
systemctl restart chronyd
systemctl enable chronyd
chronyc sources

数据库(controller)

yum -y install mariadb mariadb-server python2-PyMySQL

vim  /etc/my.cnf.d/openstack.cnf

[mysqld]
bind-address = 192.168.3.104

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

systemctl enable mariadb.service
systemctl start mariadb.service

运行 mysql_secure_installation设置密码

消息队列(controller)

yum install rabbitmq-server  -y 
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

rabbitmqctl add_user openstack 123456
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
(显示:Setting permissions for user "openstack" in vhost "/" 表示成功)

安装Memcached(controller)

yum install memcached python-memcached -y 
vim /etc/sysconfig/memcached(修改)
OPTIONS="-l 127.0.0.1,::1,controller"

systemctl enable memcached.service
systemctl start memcached.service

安装Etcd(controller)

yum -y install etcd 
编辑:
	vim  /etc/etcd/etcd.conf 
	修改: ETCD_INITIAL_CLUSTER, 
	ETCD_INITIAL_ADVERTISE_PEER_URLS, 
	ETCD_ADVERTISE_CLIENT_URLS, 
	ETCD_LISTEN_CLIENT_URLS 

	类似下面的:
		#[Member]
		ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
		ETCD_LISTEN_PEER_URLS="http://192.168.3.104:2380"
		ETCD_LISTEN_CLIENT_URLS="http://192.168.3.104:2379"
		ETCD_NAME="controller"
		#[Clustering]
		ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.3.104:2380"
		ETCD_ADVERTISE_CLIENT_URLS="http://192.168.3.104:2379"
		ETCD_INITIAL_CLUSTER="controller=http://192.168.3.104:2380"
		ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
		ETCD_INITIAL_CLUSTER_STATE="new"
	
systemctl enable etcd
systemctl start etcd

认证服务(controller)

数据库

mysql -uroot -p123456

CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'  IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'  IDENTIFIED BY  '123456';

安装和配置

yum install openstack-keystone httpd mod_wsgi -y 

vim /etc/keystone/keystone.conf

[database]
connection = mysql+pymysql://keystone:123456@controller/keystone
[token]
provider = fernet

回到命令界面
	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

配置apache服务器
	vim /etc/httpd/conf/httpd.conf
		ServerName controller
	ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

systemctl enable httpd.service
systemctl start httpd.service
		
配置管理用户:
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
验证:openstack token issue


创建域和用户:
openstack domain create --description "An Example Domain" example
openstack project create --domain default \
  --description "Service Project" service
openstack project create --domain default \
  --description "Demo Project" myproject
openstack user create --domain default \
  --password-prompt myuser
openstack role create myrole
openstack role add --project myproject --user myuser myrole

验证:

unset OS_AUTH_URL OS_PASSWORD
openstack --os-auth-url http://controller:5000/v3 \
  --os-project-domain-name Default --os-user-domain-name Default \
  --os-project-name admin --os-username admin token issue
  
openstack --os-auth-url http://controller:5000/v3 \
  --os-project-domain-name Default --os-user-domain-name Default \
  --os-project-name myproject --os-username myuser token issue
让你输入密码,然后有正确的显示为正常

镜像服务(glance controller)

数据库

CREATE DATABASE glance;
 GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'    IDENTIFIED BY '123456';
 GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'    IDENTIFIED BY '123456';

openstack添加服务

openstack user create --domain default --password-prompt glance
openstack role add --project service --user glance admin
openstack service create --name glance  --description "OpenStack Image" image

创建glance API端点:
 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 openstack-glance -y
vim /etc/glance/glance-api.conf

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值