云网牛站
所在位置:首页 > Linux云服务器 > 在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

2020-01-12 21:38:40作者:魏承戈稿源:云网牛站

在本指南中,我们将介绍在OpenStack中设置Magnum容器编排服务所需的步骤,可在CentOS、Ubuntu操作系统进行。

 

前言

Magnum是一项OpenStack API服务,旨在帮助OpenStack用户管理容器编排引擎,例如Kubernetes、Docker Swarm和Apache Mesos。Magnum使用Heat来编排包含Docker和Kubernetes的OS映像,并在虚拟机或群集配置中的裸机上运行该映像。

在遵循本指南之前,您应该拥有一个可运行的OpenStack云环境,对于开发环境,我们有一个指南,您可以参考:

使用DevStack在Ubuntu 18.04上进行OpenStack部署

使用Packstack RDO在CentOS 7上部署OpenStack Cloud的方法

在开始之前,您需要访问:

OpenStack服务正在使用的数据库服务器。

根访问权限以更改控制器中的Magnum配置文件。

访问管理凭据文件–.keystonerc或.admin-openrc。

一旦确认对上述内容的访问权,就可以开始在OpenStack上设置Magnum容器服务。

 

步骤1:创建Magnum数据库用户

创建Magnum数据库并授予对Magnum数据库的适当访问权限:

$ mysql -u root -p

CREATE DATABASE magnum;

GRANT ALL PRIVILEGES ON magnum.* TO 'magnum'@'localhost' IDENTIFIED BY 'MagnumDBPassword';

GRANT ALL PRIVILEGES ON magnum.* TO 'magnum'@'%' IDENTIFIED BY 'MagnumDBPassword';

FLUSH PRIVILEGES;

\q

用适用于magnum数据库用户的密码替换MagnumDBPassword。

 

步骤2:建立magnum服务使用者

取得管理员凭据,以访问仅管理员的CLI命令:

$ source ~/.keystonerc

然后创建一个大用户服务用户帐户:

$ openstack user create --domain default --project service --password MagnumPass magnum

在CentOS/Ubuntu上安装和配置OpenStack 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

在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

 

步骤3:建立服务API端点

创建容器基础结构管理服务API端点。

用magnum监听的IP地址替换控制器值,这也可以是Compute实例可访问的主机名:

$ export controller=192.168.1.10

$ openstack endpoint create --region RegionOne container-infra public http://$controller:9511/v1

$ openstack endpoint create --region RegionOne container-infra internal http://$controller:9511/v1

$ openstack endpoint create --region RegionOne container-infra admin http://$controller:9511/v1

在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

 

步骤4:建立Magnum网域

创建包含用于容器服务的项目和用户的magnum域:

$ openstack domain create --description "Owns users and projects created by magnum" magnum

在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

创建magnum_domain_admin用户以管理magnum域中的项目和用户:

$ openstack user create --domain magnum --password aShuumoNg8ieche magnum_domain_admin

在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

将admin角色添加到magnum域中的magnum_domain_admin用户中,以启用管理权限:

$ openstack role add --domain magnum --user-domain magnum --user magnum_domain_admin admin

 

步骤5:安装和配置Magnum组件

现在,我们可以安装Magnum所需的软件包。

如果是在CentOS系统中:

$ sudo yum -y install openstack-magnum-api openstack-magnum-conductor python-magnumclient

如果是在Ubuntu系统中:

$ sudo apt -y install magnum-api magnum-conductor python-magnumclient

编辑/etc/magnum/magnum.conf文件并在[api]部分中配置主机:

[api]

...

host = CONTROLLER_IP

在[certificates]部分中,选择Barbican(如果未安装Barbican,则选择x509keypair):

[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用户选择的密码。

使用您为magnum_domain_admin用户选择的密码的DOMAIN_ADMIN_PASS。

KEYSTONE_INTERFACE是公共的还是内部的,具体取决于您的网络配置。

在[oslo_messaging_notifications]部分中,配置驱动程序:

[oslo_messaging_notifications]

...

driver = messaging

在[DEFAULT]部分中,配置RabbitMQ消息队列访问:

[DEFAULT]

...

transport_url = rabbit://openstack:RABBIT_PASS@controller

将RABBIT_PASS替换为您为RabbitMQ中的openstack帐户选择的密码。

编辑/etc/magnum/magnum.conf文件,并在[oslo_concurrency]部分下设置lock_path:

[oslo_concurrency]

...

lock_path = /var/lib/magnum/tmp

填充Magnum数据库:

$ sudo su -s /bin/sh -c "magnum-db-manage upgrade" magnum

在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

启动容器基础结构管理服务,并将其配置为在系统启动时启动。

如果是在Ubuntu系统中:

sudo systemctl restart magnum-api

sudo systemctl restart magnum-conductor

如果是在CentOS系统中:

sudo systemctl enable --now openstack-magnum-api.service openstack-magnum-conductor.service

检查服务状态:

$ systemctl status openstack-magnum-api.service openstack-magnum-conductor.service

在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

要列出内部服务的情况,请使用:

$ openstack coe service list

在CentOS/Ubuntu上安装和配置OpenStack Magnum容器服务

到这里,操作步骤全部完成。

 

相关主题

将Glance Cloud images添加到OpenStack的方法

精选文章
热门文章