上一集介绍了Keystone的服务配置,并且已经添加成功。上面创建的服务用户包括了Glance,Nova换言之就是需要上面配置的MySQL还有Keystone后面的服务才可以进行,我们需要MySQL的存储服务,还有Keystone 的认证服务。
接下来需要做的是对镜像服务器的配置,镜像服务器的IP地址为192.168.137.105,内部通信的IP地址为192.168.1.105首先是安装
安装脚本glance_install.sh
apt-get update
apt-get install -y glance glance-api glance-common glance-registry python-glance python-keystone python-mysqldb python-glanceclient
一.
修改的地方有
1.找到[database]
#sqlite_db = /var/lib/glance/glance.sqlite
把跟sqlite有关的这条语句注释掉。
然后添加MySQL的连接字符串。跟keystone差不多。
connection = mysql://glanceUser:[email protected]/glance
2.找到rabbit相关的句子有这样一个集群。
# Configuration options if sending notifications via rabbitmq (these are
# the defaults)
rabbit_host = 192.168.1.103
rabbit_port = 5672
rabbit_use_ssl = false
rabbit_userid = guest
rabbit_password = guest
rabbit_virtual_host = /
rabbit_notification_exchange = glance
rabbit_notification_topic = notifications
rabbit_durable_queues = False
原来的rabbit_host 是等于localhost的,我们要修改它让他指向实际上rabbit所在的服务器ip地址
3.找到[keystone_authtoken]下面有个集群要修改
auth_host = 192.168.1.104 #认证服务在的IP
auth_port = 35357 #服务认证的端口
auth_protocol = http #消息提交方式
admin_tenant_name = serviceTenant #服务用户所在的租户
admin_user = glance #服务用户
admin_password = Glance_Pass #服务用户的密码
以上信息是用来跟keystone服务认证用的。
4.找到[paste_deploy]
# Name of the paste configuration file that defines the available pipelines
config_file = /etc/glance/glance-api-paste.ini
# Partial name of a pipeline in your paste configuration file with the
# service name removed. For example, if your paste section name is
# [pipeline:glance-api-keystone], you would configure the flavor below
# as 'keystone'.
flavor=keystone
取消了两行注释,把config_file本身的相对路径改成绝对路径,不然服务没法启动。flavor=keystone
然后保存,第一个配置文件修改完毕。
二
第二个配置文件修改方式与第一个配置文件一样。/etc/glance/glance-registry.conf
1.找到[database]添加上连接语句。
#sqlite_db = /var/lib/glance/glance.sqlite
把跟sqlite有关的这条语句注释掉。
然后添加MySQL的连接字符串。跟keystone差不多。
connection = mysql://glanceUser:[email protected]/glance
2.找到[keystone_authtoken]
修改相关信息。
auth_host = 192.168.1.104 #认证服务在的IP
auth_port = 35357 #服务认证的端口
auth_protocol = http #消息提交方式
admin_tenant_name = serviceTenant #服务用户所在的租户
admin_user = glance #服务用户
admin_password = Glance_Pass #服务用户的密码
要跟keystone中创建的以及第一个配置文件中的对应,不然的话会有认证失败的可能。
3.找到[paste_deploy]
# Name of the paste configuration file that defines the available pipelines
config_file = /etc/glance/glance-api-paste.ini
# Partial name of a pipeline in your paste configuration file with the
# service name removed. For example, if your paste section name is
# [pipeline:glance-api-keystone], you would configure the flavor below
# as 'keystone'.
flavor=keystone
取消了两行注释,把config_file本身的相对路径改成绝对路径,不然服务没法启动。flavor=keystone
完毕之后重启服务
root@glance:/home/lan# service glance-api restart && service glance-registry restart
glance-api stop/waiting
glance-api start/running, process 4039
glance-registry stop/waiting
glance-registry start/running, process 4049
还要查看服务
ps -e | grep glance
4039 ? 00:00:00 glance-api
4049 ? 00:00:00 glance-registry
4056 ? 00:00:00 glance-registry
4059 ? 00:00:00 glance-api
服务启动成功了。
接着同步数据库
glance-manager db-sync
现在试一下功能。
glance image-list #列出镜像
注意:这里现在出问题了。
You must provide a username via either --os-username or env[OS_USERNAME]
export OS_TENANT_NAME=serviceTenant
export OS_USERNAME=glance
export OS_PASSWORD=Glance_Pass
export OS_AUTH_URL=http://192.168.1.104:35357/v2.0/
其他两个服务跟此相似,用来设置环境变量。导入后运行有如下效果。
有个空的表。这就是镜像表。镜像服务搭建完成。