A.0 Chuẩn bị trên VMware Workstation
[A.1. Mô hình triển khai trong môi trường VMware Workstation] (#mohinhtrienkhai)
C. Thực hiện trên CONTROLLER NODE
F. CÀI HORIZON, tạo các network trên CONTROLLER NODE
Cấu hình các vmnet trong vmware workdstation như hình dưới. (Đảm bảo các dải thiết lập đúng với từng vmnet)
- VMNET0 - Chế độ bridge (mặc định). Nhận cùng dải IP card mạng trong laptop, 192.168.1.0/24
- VMNET2 - Chế độ VMNET 2. Đặt dải IP 10.10.10.0/24
- VMNET3 - Chế độ VMNET 3. Đặt dải IP 10.10.20.0/24 Vào tab "Edit" ==> Virtual Network Editor.
Mô hình 3 node cài đặt OpenStack bên trong một máy LAPTOP
- Khi cài đặt UBUNTU trong Vmware Workstation đảm bảo đúng thứ tự network
- Địa chỉ IP của các NICs để động, các shell sẽ tự động gán IP tĩnh sau (khai báo trong file config.cfg
- HDD: 20GB trở lên
- RAM: 2GB trở lên
- CPU: 02 (Có tích vào các chế độ ảo hóa)
- NIC: 02 NICs (eth0 - chế độ vmnet2 ) (eth1 - chế độ brige). Đặt IP động
- HDD: 20GB
- RAM: 2GB
- CPU 01 (có lựa chọn chế độ ảo hóa)
- NICs: 03. eth0 chế độ vmnet2. eth1 chế chộ bridge . eth2 chế độ vmnet3. Đặt IP động.
- Hostname: network
Minh họa bằng hình:
- HDD: 60GB
- RAM: 3GB
- CPU 2x2 (Có lựa chọn ảo hóa)
- NICs: 03. eth0 chế độ vmnet2. eth1 chế chộ bridge . eth2 chế độ vmnet3. Đặt IP động.
- Hostname: compute1
Minh họa bằng hình:
Truy cập bằng tài khoản root vào máy các máy chủ và tải các gói, script chuẩn bị cho quá trình cài đặt
apt-get update
apt-get install git -y
git clone https://github.com/vietstacker/openstack-juno-multinode-U14.04-v1.git
mv /root/openstack-juno-multinode-U14.04-v1/juno-ubuntu14.04/ juno-ubuntu14.04
rm -rf openstack-juno-multinode-U14.04-v1
cd juno-ubuntu14.04/
chmod +x *.sh
Trước lúc chỉnh sửa, KHÔNG cần gán IP tĩnh cho các NICs trên từng máy chủ. Dùng vi để sửa file config.cfg nằm trong thư mục juno-ubuntu14.04 với các IP theo ý bạn hoặc giữ nguyên các IP và đảm bảo chúng chưa được gán cho máy nào trong mạng của bạn. File gốc như sau: (tốt nhất đặt giống file gốc) .... # Khai bao IP cho CONTROLLER NODE CON_MGNT_IP=10.10.10.71 CON_EXT_IP=192.168.1.71
# Khai bao IP cho NETWORK NODE
NET_MGNT_IP=10.10.10.72
NET_EXT_IP=192.168.1.72
NET_DATA_VM_IP=10.10.20.72
# Khai bao IP cho COMPUTE1 NODE
COM1_MGNT_IP=10.10.10.73
COM1_EXT_IP=192.168.1.73
COM1_DATA_VM_IP=10.10.20.73
# Khai bao IP cho COMPUTE2 NODE
COM2_MGNT_IP=10.10.10.74
COM2_EXT_IP=192.168.1.74
COM2_DATA_VM_IP=10.10.20.74
GATEWAY_IP=192.168.1.1
NETMASK_ADD=255.255.255.0
# Set password
DEFAULT_PASS='Welcome123'
.....
Sau khi thay đổi xong chuyển qua thực thi các file dưới trên từng node
bash control-1.ipadd.sh
Sau khi thực hiện script trên, máy Controller sẽ khởi động lại và có thông số như sau:
Hostname | NICs | IP ADDRESS | SUBNET MASK | GATEWAY | DNS | Note |
---|---|---|---|---|---|---|
controller | eth0 | 10.10.10.71 | 255.255.255.0 | Để trống | Để trống | Chế độ VMNET2 |
eth1 | 192.168.1.71 | 255.255.255.0 | 192.168.1.1 | 8.8.8.8 | Chế độ brige |
Đăng nhập vào Controller bằng địa chỉ CON_EXT_IP khai báo trong file config.cfg là 192.168.1.71 bằng tài khoản root. Sau đó di chuyển vào thư mục juno-ubuntu14.04 bằng lệnh cd và thực thi bằng lệnh bash
cd juno-ubuntu14.04
bash control-2.prepare.sh
Thực thi shell dưới để tạo các database, user của database cho các thành phần
bash control-3.create-db.sh
bash control-4.keystone.sh
Shell dưới thực hiện việc tạo user, tenant và gán quyền cho các user.
Tạo ra các endpoint cho các dịch vụ. Các biến trong shell được lấy từ file config.cfg
bash control-5-creatusetenant.sh
Thực thi file admin-openrc.sh để khai báo biến môi trường.
source admin-openrc.sh
Và kiểm tra lại dịch vụ keystone xem đã hoạt động tốt chưa bằng lệnh dưới.
keystone user-list
Kết quả của lệnh keystone user-list như sau
+----------------------------------+---------+---------+-----------------------+
| id | name | enabled | email |
+----------------------------------+---------+---------+-----------------------+
| eda2f227988a45fcbc9ffb0abd405c6c | admin | True | congtt@teststack.com |
| 07f996af33f14415adaf8d6aa6b8be83 | cinder | True | cinder@teststack.com |
| 6a198132f715468e860fa25d8163888e | demo | True | congtt@teststack.com |
| 4fa14e44dafb48f09b2febaa2a665311 | glance | True | glance@teststack.com |
| 5f345c4a266d4c7691831924e1eec1f5 | neutron | True | neutron@teststack.com |
| d4b7c90da1c148be8741168c916cf149 | nova | True | nova@teststack.com |
| ddcb21870b4847b4b72853cfe7badd07 | swift | True | swift@teststack.com |
+----------------------------------+---------+---------+-----------------------+
Chuyển qua cài các dịch vụ tiếp theo
GLANCE dùng để cung cấp image template để khởi tạo máy ảo
bash control-6.glance.sh
- Shell thực hiện việc cài đặt GLANCE và tạo image với hệ điều hành Cirros (Bản Ubuntu thu gọn) dùng để kiểm tra GLANCE và tạo máy ảo sau này.
bash control-7.nova.sh
bash control-8.neutron.sh
bash control-9.cinder.sh
Tạm dừng việc cài đặt trên CONTROLLER NODE, sau khi cài xong NETWORK NODE và COMPUTE1 NODE sẽ quay lại để cài HORIZON và tạo các network, router.
- Cài đặt NEUTRON, ML2 và cấu hình GRE, sử dụng use case per-router per-tenant.
- Lưu ý: Cần thực hiện bước tải script từ github về như hướng dẫn ở bước B.1 và B.2 (nếu có thay đổi IP)
Truy cập bằng tài khoản root vào máy các máy chủ và tải các gói, script chuẩn bị cho quá trình cài đặt
apt-get update
apt-get install git -y
git clone https://github.com/vietstacker/openstack-juno-multinode-U14.04-v1.git
mv /root/openstack-juno-multinode-U14.04-v1/juno-ubuntu14.04/ juno-ubuntu14.04
rm -rf openstack-juno-multinode-U14.04-v1
cd juno-ubuntu14.04/
chmod +x *.sh
Script thực hiện việc cài đặt OpenvSwitch và khai báo br-int & br-ex cho OpenvSwitch
bash net-ipadd.sh
- NETWORK NODE sẽ khởi động lại, cần phải đăng nhập lại sau khi khởi động xong bằng tài khoản root.
- Thông số về IP và hostname trên NETWORK NODE như sau:
Hostname | NICs | IP ADDRESS | SUBNET MASK | GATEWAY | DNS | NOTE |
---|---|---|---|---|---|---|
network | eth0 | 10.10.10.72 | 255.255.255.0 | Để trống | Để trống | Chế độ VMNET2 |
br-ex | 192.168.1.72 | 255.255.255.0 | 192.168.1.1 | 8.8.8.8 | Chế độ bridge | |
eth2 | 10.10.20.72 | 255.255.255.0 | Để trống | Để trống | Chế độ VMNET3 |
Chú ý: Shell sẽ chuyển eth1 sang chế độ promisc và đặt IP cho br-ex được tạo ra sau khi cài OpenvSwitch
- Dùng putty ssh vào NETWORK NODE bằng IP 192.168.1.172 với tài khoản root
- Di chuyển vào thư mục juno-ubuntu14.04 và thực thi shell dưới
cd juno-ubuntu14.04
bash net-prepare.sh
Kết thúc cài đặt trên NETWORK NODE và chuyển sang cài đặt COMPUTE NODE
- Lưu ý: Cần thực hiện bước tải script từ github về như hướng dẫn ở bước B.1 và B.2 (nếu có thay đổi IP)
- Thực hiện các shell dưới để thiết lập hostname, gán ip và cài đặt các thành phần của nove trên máy COMPUTE NODE
- Truy cập bằng tài khoản root vào máy các máy chủ và tải các gói, script chuẩn bị cho quá trình cài đặt
apt-get update
apt-get install git -y
git clone https://github.com/vietstacker/openstack-juno-multinode-U14.04-v1.git
mv /root/openstack-juno-multinode-U14.04-v1/juno-ubuntu14.04/ juno-ubuntu14.04
rm -rf openstack-juno-multinode-U14.04-v1
cd juno-ubuntu14.04/
chmod +x *.sh
bash com1-ipdd.sh
Sau khi thực hiện xong shell trên các NICs của COMPUTE NODE sẽ như sau: (giống với khai báo trong file config.cfg)
Hostname | NICs | IP ADDRESS | SUBNET MASK | GATEWAY | DNS | NOTE |
---|---|---|---|---|---|---|
compute1 | eth0 | 10.10.10.73 | 255.255.255.0 | Để trống | Để trống | Chế độ VMNET2 |
br-ex | 192.168.1.73 | 255.255.255.0 | 192.168.1.1 | 8.8.8.8 | Chế độ bridge | |
eth2 | 10.10.20.73 | 255.255.255.0 | Để trống | Để trống | Chế độ VMNET3 |
COMPUTE node sẽ khởi động lại, cần phải đăng nhập bằng tải khoản root để thực hiện shell dưới
Đăng nhập bằng tài khoản root và thực thi các lệnh dưới để tiến hành cài đặt nova
cd juno-ubuntu14.04
bash com1-prepare.sh
Chọn YES ở màn hình trên trong quá trình cài đặt
Kết thúc bước cài đặt trên COMPUTE NODE, chuyển về CONTROLLER NODE.
Đăng nhập bằng tài khoản root và đứng tại thư mục /root/juno-ubuntu14.04
cd /root/juno-ubuntu14.04
bash control-horizon.sh
Sau khi thực hiện xong việc cài đặt HORIZON, màn hình sẽ trả về IP ADD, User và Password để đăng nhập vào horizon
Tạo các policy để cho phép các máy ở ngoài có thể truy cập vào máy ảo (Instance) qua IP PUBLIC được floating. Thực hiện script dưới để tạo các loại network cho OpenStack Tạo router, gán subnet cho router, gán gateway cho router Khởi tạo một máy ảo với image là cirros để test
bash creat-network.sh
Khởi động lần lượt các node
- CONTROLLER
- NETWORK NODE
- COMPUTE NODE Và đăng nhập vào HORIZON ở bước F.1 và sử dụng OpenStack
CHÚC VUI !