pip 安装keystone_OpenStack 源码系列之 Keystone:服务启动

本文详细介绍了在 OpenStack O 版本中,如何使用 uWSGI 配置和启动 Keystone 服务。通过分析 `keystone-uwsgi-admin.ini` 配置文件,探讨了服务的启动入口和流程,特别是 `setup_backends` 函数的作用,该函数用于加载基于 PasteDeploy 配置的 WSGI 应用及各个模块的 Driver 实例。
摘要由CSDN通过智能技术生成

在 O 版本的 OpenStack 中,利用了 uWSGI 服务器作为 Apache 服务器和 Keystone 服务之间的桥梁。关于 uWSGI 与 CGI、FastCGI、WSGI 之间的区别,可参考博文网关协议学习:CGI、FastCGI、WSGI。

对于 Keystone 服务启动,源码的 DOC 目录下就有一个文件(doc/source/apache-httpd.rst)说明如何启动 Keystone 服务:

1

2

3

4

5

6

7

8

9

10

11Now configure and start the uwsgi services. Copy the

`httpd/keystone-uwsgi-admin.ini` and `httpd/keystone-uwsgi-public.ini` files to

`/etc/keystone`. Update the files to match your system configuration (for

example, you'll want to set the number of processes and threads for the public

and admin servers).

Start up the keystone servers using uwsgi::

$ sudo pip install uwsgi

$ uwsgi /etc/keystone/keystone-uwsgi-admin.ini

$ uwsgi /etc/keystone/keystone-uwsgi-public.ini

需要注意的是,uWSGI 服务器并不直接向外提供服务,而是由 Apache 或 Nginx 这种专门服务器向外接收请求,然后转发给 uWSGI 服务器。

从上边说明,我们也可以看到,Keystone 服务是分成 admin 和 public 两种的。下边我们以 admin 为例来进行说明。首先,先看一下 keystone-uwsgi-admin.ini 的内容:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25[uwsgi]

wsgi-file = /usr/local/bin/keystone-wsgi-admin# 服务入口

# Versions of mod_proxy_uwsgi>=2.0.6 should use a UNIX socket, see

# http://uwsgi-docs.readthedocs.org/en/latest/Apache.html#mod-proxy-uwsgi

uwsgi-socket = 127.0.0.1:35358

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Keystone是一个开源的身份认证服务,它是OpenStack项目中的一个重要组件,用于管理和认证OpenStack中的各个服务。下面是安装Keystone的步骤: 1. 安装依赖软件包 在安装Keystone之前,需要安装一些依赖软件包,包括Python和数据库(MySQL或者MariaDB)等。可以使用以下命令安装: ``` sudo apt-get update sudo apt-get install -y python-dev python-pip python-openstackclient mysql-server python-mysqldb ``` 2. 创建Keystone数据库 使用以下命令在MySQL中创建Keystone数据库: ``` sudo mysql -u root -p mysql> CREATE DATABASE keystone; mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS'; mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS'; mysql> exit ``` 其中,KEYSTONE_DBPASS是Keystone数据库的密码,可以根据需要自行配置。 3. 安装Keystone 使用以下命令安装Keystone: ``` sudo apt-get install -y keystone ``` 安装完成后,编辑/etc/keystone/keystone.conf文件,配置Keystone的参数。例如,修改[database]和[keystone_authtoken]参数如下: ``` [database] connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone [keystone_authtoken] memcached_servers = controller:11211 auth_uri = http://controller:5000 auth_url = http://controller:5000 auth_plugin = password project_domain_name = default user_domain_name = default project_name = service username = nova password = NOVA_PASS ``` 其中,controller是Keystone服务所在的主机名或IP地址,KEYSTONE_DBPASS是Keystone数据库的密码,NOVA_PASS是Nova服务的密码,可以根据需要自行配置。 4. 初始化Keystone数据库 使用以下命令初始化Keystone数据库: ``` sudo su -s /bin/sh -c "keystone-manage db_sync" keystone ``` 5. 创建Keystone用户 使用以下命令创建Keystone用户: ``` export OS_USERNAME=admin export OS_PASSWORD=ADMIN_PASS export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_AUTH_URL=http://controller:5000/v3 export OS_IDENTITY_API_VERSION=3 openstack user create --domain default --password-prompt keystone openstack role add --project service --user keystone admin openstack service create --name keystone --description "OpenStack Identity" identity openstack endpoint create --region RegionOne identity public http://controller:5000/v3 openstack endpoint create --region RegionOne identity internal http://controller:5000/v3 openstack endpoint create --region RegionOne identity admin http://controller:35357/v3 ``` 其中,ADMIN_PASS是管理员密码,可以根据需要自行配置。 6. 启动Keystone服务 使用以下命令启动Keystone服务: ``` sudo service apache2 restart ``` 至此,Keystone安装完成,可以使用OpenStack命令行工具或者Horizon等管理界面进行Keystone用户和认证服务的管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值