Ubuntu 安装与配置¶
本节描述了如何在 Ubuntu 14.04 (LTS) 上安装和配置容器基础设施管理服务。
先决条件¶
在安装和配置容器基础设施管理服务之前,您必须创建数据库、服务凭证和 API 端点。
要创建数据库,请完成以下步骤
使用数据库访问客户端以
root用户身份连接到数据库服务器# mysql创建
magnum数据库CREATE DATABASE magnum;授予对
magnum数据库的适当访问权限GRANT ALL PRIVILEGES ON magnum.* TO 'magnum'@'localhost' \ IDENTIFIED BY 'MAGNUM_DBPASS'; GRANT ALL PRIVILEGES ON magnum.* TO 'magnum'@'%' \ IDENTIFIED BY 'MAGNUM_DBPASS';
将
MAGNUM_DBPASS替换为合适的密码。退出数据库访问客户端。
激活
admin凭证以访问仅管理员可用的 CLI 命令$ . admin-openrc
要创建服务凭证,请完成以下步骤
创建
magnum用户$ openstack user create --domain default \ --password-prompt magnum User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | default | | enabled | True | | id | a8ebafc275c54d389dfc1bff8b4fe286 | | name | magnum | +-----------+----------------------------------+
将
admin角色添加到magnum用户$ openstack role add --project service --user magnum admin
注意
此命令不会产生任何输出。
创建
magnum服务实体$ openstack service create --name magnum \ --description "OpenStack Container Infrastructure Management Service" \ container-infra +-------------+-------------------------------------------------------+ | Field | Value | +-------------+-------------------------------------------------------+ | description | OpenStack Container Infrastructure Management Service | | enabled | True | | id | 194faf83e8fd4e028e5ff75d3d8d0df2 | | name | magnum | | type | container-infra | +-------------+-------------------------------------------------------+
创建容器基础设施管理服务 API 端点
$ openstack endpoint create --region RegionOne \ container-infra public http://CONTROLLER_IP:9511/v1 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | cb137e6366ad495bb521cfe92d8b8858 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 0f7f62a1f1a247d2a4cb237642814d0e | | service_name | magnum | | service_type | container-infra | | url | http://CONTROLLER_IP:9511/v1 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne \ container-infra internal http://CONTROLLER_IP:9511/v1 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 17cbc3b6f51449a0a818118d6d62868d | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 0f7f62a1f1a247d2a4cb237642814d0e | | service_name | magnum | | service_type | container-infra | | url | http://CONTROLLER_IP:9511/v1 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne \ container-infra admin http://CONTROLLER_IP:9511/v1 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 30f8888e6b6646d7b5cd14354c95a684 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 0f7f62a1f1a247d2a4cb237642814d0e | | service_name | magnum | | service_type | container-infra | | url | http://CONTROLLER_IP:9511/v1 | +--------------+----------------------------------+
将
CONTROLLER_IP替换为 magnum 监听的 IP 地址。或者,您可以使用计算实例可访问的主机名。Magnum 需要身份服务中的额外信息来管理 COE 集群。要添加此信息,请完成以下步骤
创建包含项目和用户的
magnum域$ openstack domain create --description "Owns users and projects \ created by magnum" magnum +-------------+-------------------------------------------+ | Field | Value | +-------------+-------------------------------------------+ | description | Owns users and projects created by magnum | | enabled | True | | id | 66e0469de9c04eda9bc368e001676d20 | | name | magnum | +-------------+-------------------------------------------+
创建
magnum_domain_admin用户来管理magnum域中的项目和用户$ openstack user create --domain magnum --password-prompt \ magnum_domain_admin User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | 66e0469de9c04eda9bc368e001676d20 | | enabled | True | | id | 529b81cf35094beb9784c6d06c090c2b | | name | magnum_domain_admin | +-----------+----------------------------------+
将
admin角色添加到magnum域中的magnum_domain_admin用户,以启用magnum_domain_admin用户进行管理权限$ openstack role add --domain magnum --user-domain magnum --user \ magnum_domain_admin admin
注意
此命令不会产生任何输出。
安装和配置组件¶
安装通用和库软件包
# DEBIAN_FRONTEND=noninteractive apt-get install magnum-api magnum-conductor python3-magnumclient
编辑
/etc/magnum/magnum.conf文件在
[api]部分,配置主机[api] ... host = CONTROLLER_IP
将
CONTROLLER_IP替换为您希望 magnum api 监听的 IP 地址。在
[certificates]部分,选择barbican(或者,如果您未安装 barbican,则选择x509keypair)使用 barbican 存储证书
[certificates] ... cert_manager_type = barbican
重要提示
Barbican 建议用于生产环境。
要将 x509 证书存储在 magnum 的数据库中
[certificates] ... cert_manager_type = x509keypair
在
[cinder_client]部分,配置区域名称[cinder_client] ... region_name = RegionOne
在
[database]部分,配置数据库访问[database] ... connection = mysql+pymysql://magnum:MAGNUM_DBPASS@controller/magnum
将
MAGNUM_DBPASS替换为您为 magnum 数据库选择的密码。在
[keystone_authtoken]和[trust]部分,配置身份服务访问[keystone_authtoken] ... memcached_servers = controller:11211 auth_version = v3 www_authenticate_uri = http://controller:5000/v3 project_domain_id = default project_name = service user_domain_id = default password = MAGNUM_PASS username = magnum auth_url = http://controller:5000 auth_type = password admin_user = magnum admin_password = MAGNUM_PASS admin_tenant_name = service [trust] ... trustee_domain_name = magnum trustee_domain_admin_name = magnum_domain_admin trustee_domain_admin_password = DOMAIN_ADMIN_PASS trustee_keystone_interface = KEYSTONE_INTERFACE
将 MAGNUM_PASS 替换为您在身份服务中为 magnum 用户选择的密码,并将 DOMAIN_ADMIN_PASS 替换为您为
magnum_domain_admin用户选择的密码。将 KEYSTONE_INTERFACE 替换为
public或internal,具体取决于您的网络配置。如果您的实例无法访问内部 keystone 端点(这通常发生在生产环境中),则应将其设置为public。默认设置为public在
[oslo_messaging_notifications]部分,配置driver[oslo_messaging_notifications] ... driver = messaging
在
[DEFAULT]部分中,配置RabbitMQ消息队列访问[DEFAULT] ... transport_url = rabbit://openstack:RABBIT_PASS@controller
将
RABBIT_PASS替换为您为RabbitMQ中的openstack帐户选择的密码。
填充 Magnum 数据库
# su -s /bin/sh -c "magnum-db-manage upgrade" magnum
完成安装¶
重启容器基础设施管理服务
# service magnum-api restart # service magnum-conductor restart