为了账号安全,请及时绑定邮箱和手机立即绑定

Centos 7 安装 OpenStack senlin服务(Pike版本)

标签:
云计算

在centos7上安装OpenStack的Pike版本senlin服务,前排提醒,别照着官网文档装,已经踩坑了,跟着下面步骤装吧

Step 1 创建数据库

登录数据库

mysql -u root -p

创建senlin数据库

CREATE DATABASE senlin DEFAULT CHARACTER SET utf8;

授权(替换 SENLIN_DBPASS 为你的密码)

GRANT ALL ON senlin.* TO 'senlin'@'localhost' \
  IDENTIFIED BY 'SENLIN_DBPASS';
GRANT ALL ON senlin.* TO 'senlin'@'%' \
  IDENTIFIED BY 'SENLIN_DBPASS';

退出

exit;

Step 2 创建 senlin 用户

导入环境变量

. admin-openrc

创建用户,需输入两次密码

openstack user create --domain default --password service_pass senlin
+---------------------+----------------------------------+| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          || enabled             | True                             |
| id                  | 8224c672931c481ab7aa5e3351680fe9 || name                | senlin                           |
| options             | {}                               || password_expires_at | None                             |
+---------------------+----------------------------------+

Step 3 设置管理员角色

openstack role add --project service --user senlin admin

Step 4 创建 senlin 服务

openstack service create --name senlin --description "Senlin Clustering Service V1" clustering
+-------------+----------------------------------+| Field       | Value                            |
+-------------+----------------------------------+
| description | Senlin Clustering Service V1     || enabled     | True                             |
| id          | 61df265091bf410e8b4bfaf20c9fa251 || name        | senlin                           |
| type        | clustering                       |+-------------+----------------------------------+

Step 5 创建 API 终端

替换 controllerv 为你的控制节点hostname或ip

openstack endpoint create --region RegionOne senlin public http://controllerv:8777+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 1b633ee2d20c4da89898be50b789511b |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 61df265091bf410e8b4bfaf20c9fa251 |
| service_name | senlin                           |
| service_type | clustering                       |
| url          | http://controllerv:8777          |+--------------+----------------------------------+
openstack endpoint create --region RegionOne senlin admin http://controllerv:8777+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 3b057edaf85b4a0285ee01aec61af06d |
| interface    | admin                            |
  stats enable
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 61df265091bf410e8b4bfaf20c9fa251 |
| service_name | senlin                           |
| service_type | clustering                       |
| url          | http://controllerv:8777          |+--------------+----------------------------------+
openstack endpoint create --region RegionOne senlin internal http://controllerv:8777+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 761997f4a504466e808bccf1d30b1b96 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 61df265091bf410e8b4bfaf20c9fa251 |
| service_name | senlin                           |
| service_type | clustering                       |
| url          | http://controllerv:8777          |+--------------+----------------------------------+

注意,端口是8777,不是8778

Step 6 安装 senlin 软件包

yum install openstack-senlin-engine.noarch \  openstack-senlin-api.noarch openstack-senlin-common.noarch \  python2-senlinclient.noarch

Step 7 修改配置文件

重点来了

这里面 controller 部分填写你控制节点的 hostnameip
SENLIN_DBPASS 填写之前数据库设的密码

vim /etc/senlin/senlin.conf
[DEFAULT]
transport_url = rabbit://openstack:rabbit@controllerdefault_region_name = RegionOne
debug = True[senlin_api]
bind_host = 本机ip #或者填写0.0.0.0bind_port = 8777 [database]
connection = mysql+pymysql://senlinUser:SENLIN_DBPASS@contoller/senlin[authentication]
auth_url = http://controller:5000service_username = senlin
service_password = service_pass
service_project_name = service

[keystone_authtoken]
auth_uri = http://controller:5000auth_version = 3identity_uri = http://controller:35357admin_user = senlin
admin_password = service_pass
admin_tenant_name = service

特别注意bind_port, 在senlin的源码文件 /usr/lib/python2.7/site-packages/senlin/api/common/wsgi.py中,默认的端口是8778:

webp

16FD434F3509606CB4619FEBC1EA0DFF.jpg


而我们创建终端的端口明明是8777,所以要在配置文件中添加 bind_port = 8777 ,不然可能造成如下一些错误:

Unable to establish connection to http://controller:8777: ('Connection aborted.', BadStatusLine("''",))

Step 8 同步数据库

su -s /bin/sh -c "senlin-manage db_sync" senlin

Step 9 开启 senlin 服务

systemctl enable openstack-senlin-api.service openstack-senlin-engine.service
systemctl start openstack-senlin-api.service openstack-senlin-engine.service

Step 10 验证安装

. admin-openrc
openstack cluster service list
+---------------+-------------+---------+-------+---------------------+-----------------+| binary        | host        | status  | state | updated_at          | disabled_reason |
+---------------+-------------+---------+-------+---------------------+-----------------+
| senlin-engine | controller1 | enabled | up    | 2018-11-06T07:47:30 | None            |+---------------+-------------+---------+-------+---------------------+-----------------+
openstack cluster build info
+--------+---------------------+| Field  | Value               |
+--------+---------------------+
| api    | {                   ||        |   "revision": "1.0" |
|        | }                   || engine | {                   |
|        |   "revision": "1.0" ||        | }                   |
+--------+---------------------+

终于成功了,也是长舒了一口气



作者:Murray66
链接:https://www.jianshu.com/p/db4e8858ef74


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消