Murano là một catalog ứng dụng cung cấp cho người sử dụng khả năng khởi chạy được cấu hình sẵn s/instances/jobs/g với các ứng dụng trong một cơ sở hạ tầng OpenStack.
Ở bài viết trước (phần 1) đã hướng dẫn cơ bản các bước cài đặt. Phần 2 này sẽ hướng dẫn các bước cấu hình dịch vụ và khởi chạy murano.
Các bạn tiếp tục thực hiên các lệnh sau và cấu hình dịch vụ:
Đồng bộ hóa cơ sở dữ liệu
murano-db-manage --config-file /etc/murano/murano.conf upgrade
Mở một terminal mới và start dịch vụ murano-api
murano-api --config-file /etc/murano/murano.conf
Import gói Murano cơ bản
murano-manage --config-file /etc/murano/murano.conf import-package murano/meta/io.murano
Mở một terminal mới và start dịch vụ murano-engine
murano-engine --config-file /etc/murano/murano.conf
Đóng stable liberty module cho horizon
git clone -b stable/liberty git://git.openstack.org/openstack/murano-dashboard
Cài đặt các yêu cầu cơ bản
cd ~/murano-dashboard
pip install -r requirements.txt
Cài đặt module murano-dashboard
sudo python setup.py install
Kích hoạt tính năng murano-dashboard tại horizon
cp muranodashboard/local/_50_murano.py /usr/share/openstack-dashboard/openstack_dashboard/enabled/
Khởi động lại apache để áp dụng thay đổi
systemctl restart httpd
Import gói ApacheHttpServer
murano --murano-repo-url="http://storage.apps.openstack.org/" package-import io.murano.apps.apache.ApacheHttpServer
Bạn có thể tìm thêm gói tại: http://apps.openstack.org/#tab=murano-apps
Tạo một tập tin với các nội dung sau đây, sửa đổi các biến với nhu cầu riêng của bạn
vi object_model_patch.json
[
{ "op": "add", "path": "/-", "value":
{
"instance": {
"availabilityZone": "nova",
"name": "APP_NAME",
"image": "GLANCE_IMAGE_ID",
"keyname": "KEY_PAIR",
"flavor": "FLAVOR",
"assignFloatingIp": false,
"?": {
"type": "io.murano.resources.LinuxMuranoInstance",
"id": "===id1==="
}
},
"name": "ApacheHttpServer",
"enablePHP": true,
"?": {
"type": "io.murano.apps.apache.ApacheHttpServer",
"id": "===id2==="
}
}
}
]
Tạo một môi trường
murano environment-create --join-subnet-id SUBNET_ID ENVIRONMENT_NAME
murano environment-create --join-subnet-id e2c5175a-d5bc-4eb7-91ba-67ac9120c64a test
+----------------------------------+------+---------------------+---------------------+
| ID | Name | Created | Updated |
+----------------------------------+------+---------------------+---------------------+
| 68a19d233d2d42459faf64d375d995e5 | test | 2015-12-11T13:09:57 | 2015-12-11T13:09:57 |
+----------------------------------+------+---------------------+---------------------+
Tạo một phiên tạm thời đối với môi trường
murano environment-session-create ENVIRONMENT_ID
murano environment-session-create 68a19d233d2d42459faf64d375d995e5
Tạo phiên mới:
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| id | b0f5e39a9c4c419c9ee7fdb6c92c37a6 |
+----------+----------------------------------+
Thêm các tập tin với các cấu hình ứng dụng
murano environment-apps-edit --session-id SESSION_ID ENVIRONMENT_ID FILE_NAME
murano environment-apps-edit --session-id b0f5e39a9c4c419c9ee7fdb6c92c37a6 68a19d233d2d42459faf64d375d995e5 object_model_patch.json
Triển khai môi trường
murano environment-deploy ENVIRONMENT_ID --session-id SESSION_ID
murano environment-deploy 68a19d233d2d42459faf64d375d995e5 --session-id b0f5e39a9c4c419c9ee7fdb6c92c37a6
+-----------+-------------------------------------------------------------+
| Property | Value |
+-----------+-------------------------------------------------------------+
| created | 2015-12-11T13:09:57 |
| id | 68a19d233d2d42459faf64d375d995e5 |
| name | test |
| services | [ |
| | { |
| | "instance": { |
| | "availabilityZone": "nova", |
| | "name": "test", |
| | "assignFloatingIp": false, |
| | "keyname": "", |
| | "flavor": "twogb", |
| | "image": "9049eb0c-081e-4d56-9413-72fdc6f8d8bf", |
| | "?": { |
| | "type": "io.murano.resources.LinuxMuranoInstance", |
| | "id": "30f5a591a58a468fbf4d7ef4755e0512" |
| | } |
| | }, |
| | "name": "ApacheHttpServer", |
| | "enablePHP": true, |
| | "?": { |
| | "status": "deploying", |
| | "type": "io.murano.apps.apache.ApacheHttpServer", |
| | "id": "98b994565c634f7e97d5f365203ce222" |
| | } |
| | } |
| | ] |
| status | deploying |
| tenant_id | 3a5d50fac9a3462fa4d76b8b84677c3f |
| updated | 2015-12-11T13:09:57 |
| version | 0 |
+-----------+-------------------------------------------------------------+
Bây giờ, bạn có thể kiểm tra nova building status của các instances
nova list
+--------------------------------------+-----------------------------------------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-----------------------------------------+--------+------------+-------------+----------+
| a68cedfb-7b4c-47a6-96fb-6b64a85a8ca6 | murano-mmnpdii1ozz7r2-test-5np5cvfeoiyh | BUILD | scheduling | NOSTATE | |
+--------------------------------------+-----------------------------------------+--------+------------+-------------+----------+
Sau một thời gianinstance running
nova list
+--------------------------------------+-----------------------------------------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-----------------------------------------+--------+------------+-------------+------------------+
| a68cedfb-7b4c-47a6-96fb-6b64a85a8ca6 | murano-mmnpdii1ozz7r2-test-5np5cvfeoiyh | ACTIVE | - | Running | private=10.0.0.8 |
+--------------------------------------+-----------------------------------------+--------+------------+-------------+------------------+
Sau khi instance được kích hoạt, murano sẽ cấu hình các ứng dụng bên trong, chờ cho đến khi trạng thái sẵn sàng.
murano environment-show f392de2004e24ff7b2a08f05df0599b8
+-----------+---------------------------------------------------------------+
| Property | Value |
+-----------+---------------------------------------------------------------+
| created | 2015-12-11T13:43:23 |
| id | 68a19d233d2d42459faf64d375d995e5 |
| name | test |
| services | [ |
| | { |
| | "instance": { |
| | "availabilityZone": "nova", |
| | "openstackId": "91615340-e1d3-428e-848f-38a762004d33", |
| | "name": "test", |
| | "securityGroupName": null, |
| | "image": "9049eb0c-081e-4d56-9413-72fdc6f8d8bf", |
| | "assignFloatingIp": false, |
| | "floatingIpAddress": null, |
| | "keyname": "", |
| | "?": { |
| | "classVersion": "0.0.0", |
| | "name": null, |
| | "package": "io.murano", |
| | "type": "io.murano.resources.LinuxMuranoInstance", |
| | "_actions": {}, |
| | "id": "30f5a591a58a468fbf4d7ef4755e0512" |
| | }, |
| | "ipAddresses": [ |
| | "10.0.0.8" |
| | ], |
| | "flavor": "twogb", |
| | "networks": { |
| | "useFlatNetwork": false, |
| | "primaryNetwork": null, |
| | "useEnvironmentNetwork": true, |
| | "customNetworks": [] |
| | }, |
| | "sharedIps": [] |
| | }, |
| | "name": "ApacheHttpServer", |
| | "?": { |
| | "classVersion": "0.0.0", |
| | "status": "ready", |
| | "name": null, |
| | "package": "io.murano.apps.apache.ApacheHttpServer", |
| | "type": "io.murano.apps.apache.ApacheHttpServer", |
| | "_actions": {}, |
| | "id": "98b994565c634f7e97d5f365203ce222" |
| | }, |
| | "enablePHP": true |
| | } |
| | ] |
| status | ready |
| tenant_id | 3a5d50fac9a3462fa4d76b8b84677c3f |
| updated | 2015-12-11T13:47:35 |
| version | 1 |
+-----------+---------------------------------------------------------------+
Trên đây là tất cả những gì cần phải có và chạy một ứng dụng murano catalog.
Ngoài ra ta có thể tạo ra các file systemd để quản lý các dịch vụ murano một cách dễ dàng hơn.