一、 环境配置
Controller节点
1.创建服务认证
# . /root/admin-openrc
# openstack user create --domain default --password-prompt swift
# openstack role add --project service --user swift admin
# openstack service create --name swift --description "OpenStack Object Storage" object-store
2.创建服务端点
# openstack endpoint create --region RegionOne object-store public http://controller:8080/v1/AUTH_%\(tenant_id\)s
# openstack endpoint create --region RegionOne object-store internal http://controller:8080/v1/AUTH_%\(tenant_id\)s
# openstack endpoint create --region RegionOne object-store admin http://controller:8080/v1
二、控制节点安装并配置Swift
Controller节点
1.安装Swift软件包
# yum install -y openstack-swift-proxy python-swiftclient python-keystoneclient python-keystonemiddleware memcached
2.获取代理服务配置文件
注:Mitaka.iso镜像里面有该文件,你也可以通过命令下载到/etc/swift/目录下;
由于下载proxy-server.conf文件的网站内容丢失,先我将文件分享至云盘可自行下载
链接:https://pan.baidu.com/s/1QI1MLYA19UzJns8aFDLFxQ
提取码:kdtf
# curl -o /etc/swift/proxy-server.conf \
https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=mitaka-eol
或者通过https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=mitaka-eol链接下载至物理机,再上传至controller节点
# find / -name proxy-server.conf
/etc/swift/proxy-server.conf
/opt/mitaka/swift/proxy-server.conf
# cp -rvf /opt/mitaka/swift/proxy-server.conf /etc/swift/
cp: overwrite ‘/etc/swift/proxy-server.conf’? y
‘/opt/mitaka/swift/proxy-server.conf’ -> ‘/etc/swift/proxy-server.conf’
3.编辑并配置Swift
# vi /etc/swift/proxy-server
[DEFAULT]
bind_port = 8080
swift_dir = /etc/swift
user = swift
[pipeline:main]部分,删除’tempurl’和’tempauth’模块,并增加’authtoken’和’keystoneauth’模块
[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
[app:proxy-server]
use = egg:swift#proxy
account_autocreate = True
[filter:keystoneauth]
use = egg:swift#keystoneauth
operator_roles = admin, user
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name =