Openstack - App Catalog và Docker trên Devstack
Note: This post is over 10 years old. The information may be outdated.
DevStack là giúp triển khai mô hình Openstack cho Developers, có thể chạy trên Single-Machine.
Trong bài này sẽ hướng dẫn cách cài đặt DevStack, với các module mở rộng như Magnum [1] (triển khai Containers trên Openstack), Murano [2] (Application catalogs), ...
Môi trường
DevStack yêu cầu chạy trên HDH Linux. Các hệ điều hành Linux mà bạn có thể sử dụng như: Ubuntu 14.04/16.04, Fedora 23/24, CentOS/RHEL 7, cũng như Debian và OpenSUSE.
Trong bài này tất cả ví dụ được sử dụng trên CentOS 7, các hệ điều hành khác tương tự
Cài đặt git
sudo yum install git
Cài Git trên Ubuntu
sudo apt-get install git
Cài đặt user stack (không cài đặt devstack dưới tài khoản root)
sudo su -
adduser stack
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
exit
su stack
Cài đặt Devstack với module Murano và Magnum
Murano project là dự án application catalog của Openstack, cho phép lập trình viên có thể public các ứng dụng dưới dạng cloud-ready, người dùng có thể triển khai, cài đặt các ứng dụng này chỉ với vài nút bấm.
Ví dụ về Murano:
Tải và cấu hình Devstack
cd ~
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
git checkout stable/mitaka
Tạo file local.conf để cấu hình cài đặt Devstack, nội dung file local.conf được giải thích lần lượt như sau, file hoàn chỉnh ở bên dưới:
[[local|localrc]]
# Credentials
ADMIN_PASSWORD=123456
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=$ADMIN_PASSWORD
SWIFT_PASSWORD=$ADMIN_PASSWORD
enable_service rabbit
# Ensure we are using neutron networking rather than nova networking
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service neutron
Bắt đầu file cấu hình, ta đặt Password cho Admin và các services khác mặc định là 123456. Bật và tắt một số services mặc định của Devstack. Tiếp tục file:
# Disable LBaaS(v1) service
disable_service q-lbaas
# Enable LBaaS(v2) services
enable_service q-lbaasv2
enable_service octavia
enable_service o-cw
enable_service o-hk
enable_service o-hm
enable_service o-api
Tắt LBaaS v1 và bật v2. Tiếp theo:
# Enable heat plugin
enable_plugin heat https://git.openstack.org/openstack/heat
# Enable barbican services
enable_plugin barbican https://git.openstack.org/openstack/barbican
enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
enable_plugin octavia https://git.openstack.org/openstack/octavia
Magnum yêu cầu bật plugin Heat, Barbican là REST API services giúp quản lý an toàn mật khẩu, mã hóa và X.509 Certificates.
enable_plugin murano git://git.openstack.org/openstack/murano
enable_service murano-cfapi
enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer
# Enable magnum plugin after dependent plugins
enable_plugin magnum https://git.openstack.org/openstack/magnum
# Optional: uncomment to enable the Magnum UI plugin in Horizon
enable_plugin magnum-ui https://github.com/openstack/magnum-ui
# enable swift in devstack for Docker 2.0
enable_service s-proxy
enable_service s-object
enable_service s-container
enable_service s-account
Bật các modules Magnum, UI và Murano. Cuối cùng ta được file local.conf hoàn chỉnh như sau [3]:
Chạy lệnh sau và đợi Devstack tự động Clone các phần thiếu và tự động cấu hình cài đặt. Đi pha 1 hoặc vài ly cà phê rồi đợi, cài đặt thường diễn ra trong vòng 30 phút - vài tiếng tùy cấu hình server.
./stack.sh
Hoàn tất và sử dụng
Truy cập http://localhost/dashboard, sử dụng tài khoản admin/123456
Một số lỗi hay gặp
Danh sách các lỗi hay gặp và cách xử lý
Error ./stack.sh line 488: generate-subunit command not found
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install -U os-testr
ImportError: No module named osc_lib
sudo pip install osc-lib
ImportError: No module from neutron_lib.db import model.base
sudo pip install neutron-lib
sudo permission install python-openstackclient
sudo pip install python-openstackclient
Tham khảo
[1] https://wiki.openstack.org/wiki/Magnum
[2] https://wiki.openstack.org/wiki/Murano
[3] https://gist.github.com/duyet/1fe56d669bf5587f1cdc3bd8b7aabc07






