swift和keystone集成

swift部署略
keystone部署略

172.18.48.21  proxy01和keystone验证节点
172.18.48.22  proxy02节点

注:proxy01和proxy02都有环境边变量openrc ,各节点swift.conf也要一样

进入正题:
1.keystone所在节点执行:

keystone user-create --name=swift --pass=password [email protected]
keystone user-role-add --user=swift --tenant=service --role=admin
keystone user-role-add --user=swift --tenant=service --role=admin
keystone service-create --name=swift --type=object-store --description="openstack object storage"
keystone endpoint-create --service-id=$(keystone service-list | awk '/ object-store / {print $2}') --publicurl='http://172.18.48.21:8080/v1/AUTH_%(tenant_id)s' --internalurl='http://172.18.48.21:8080/v1/AUTH_%(tenant_id)s' --adminurl=http://172.18.48.21:8080

如有多个proxy节点,可用keystone分别创建endpoint,注意不同的endpoint要有不同的region
比如在proxy2(172.18.48.22)节点添加验证服务,只许在keystone节点执行

keystone endpoint-create --region RegionTwo --service-id=$(keystone service-list | awk '/ object-store / {print $2}') --publicurl='http://172.18.48.22:8080/v1/AUTH_%(tenant_id)s' --internalurl='http://172.18.48.22:8080/v1/AUTH_%(tenant_id)s' --adminurl=http://172.18.48.22:8080

2.proxy节点proxy-server.conf设置如下
[DEFAULT] 
bind_port = 8080 
workers = 8 
user = swift 

[pipeline:main] 
pipeline = catch_errors cache authtoken keystoneauth proxy-server 

[app:proxy-server] 
use = egg:swift#proxy 
account_autocreate = true 

[filter:keystoneauth] 
use = egg:swift#keystoneauth 
operator_roles = Member,admin,swift 

[filter:healthcheck] 
use = egg:swift#healthcheck 

[filter:authtoken] 
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory 
delay_auth_decision = 10 
auth_protocol = http 
service_port = 5000 
service_host = 172.18.48.21 
auth_port = 35357 
auth_host = 172.18.48.21 
auth_url = http://172.18.48.21:5000/ 
admin_token = password 
cache = swift.cache 
admin_tenant_name = service 
admin_user = admin 
admin_password = password 

[filter:cache] 
use = egg:swift#memcache 
set log_name = cache 
memcache_servers = 172.18.48.22:11211,172.18.48.21:11211 

[filter:catch_errors] 
use = egg:swift#catch_errors

重启proxy服务
swift-init proxy restart





你可能感兴趣的:(swift和keystone集成)