3 分钟快速搭建一个 KeyStone 测试环境
Feb 2, 2020 15:30 · 233 words · 1 minute read
请预先安装好 Docker!
1. 启动 mysql 容器作为 keystone 的数据库
$ mkdir /var/lib/mysql
$ docker run --name keystone-db --restart always \
-v /var/lib/mysql:/var/lib/mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=admin \
-d mysql:5.7.14
测试 mysql 容器是否运行正常:
$ docker run --rm -it webuni/mycli:latest sh
(docker) /# mycli -h ${NODE_IP} -u root
2. 启动 keystone 容器
$ docker run --name keystone --restart always \
-p 5000:5000 \
-e DB_HOST=${NODE_IP} \
-d opensourcemano/keystone:latest
测试 keystone 认证 API:
$ curl -X POST \
http://localhost:5000/v3/auth/tokens \
-H 'Content-Type: application/json' \
-d '{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "admin",
"password": "admin",
"domain": {
"name": "Default"
}
}
}
},
"scope": {
"project": {
"name": "admin",
"domain": {
"name": "Default"
}
}
}
}
}'
{"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "927eccfcdbad44399b194649e0782c6d", "name": "admin"}], "expires_at": "2020-02-02T08:33:12.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "141a17f0fe604ca78f6eccaa4b8ff302", "name": "admin"}, "catalog": [{"endpoints": [{"region_id": "RegionOne", "url": "http://keystone:5000/v3/", "region": "RegionOne", "interface": "public", "id": "6f8b84286565432399f4fa1419430421"}, {"region_id": "RegionOne", "url": "http://keystone:5000/v3/", "region": "RegionOne", "interface": "internal", "id": "b4bffbced60f44b4a82fc930862691e1"}, {"region_id": "RegionOne", "url": "http://keystone:5000/v3/", "region": "RegionOne", "interface": "admin", "id": "fd2067ca2beb4492b5797c7359e0e8c3"}], "type": "identity", "id": "3196339e72b94dfa919c343529135fe8", "name": "keystone"}], "user": {"password_expires_at": null, "domain": {"id": "default", "name": "Default"}, "id": "3687c6f1f4fc4d3a99a207750ed3fa75", "name": "admin"}, "audit_ids": ["qsy4J2tIR_Gw0DPRu8Kkqg"], "issued_at": "2020-02-02T07:33:12.000000Z"}}