Sử dụng Kolla Deploy OpenStack Đa Node trên Hệ Thống thực Tế

  1. Môi Trường Thực Nghiệm | Tên máy | Địa chỉ IP | Vai trò | Bộ nhớ | Card mạng | CPU | Dung lượng ổ đĩa | |---|---|---|---|---|---|---| | controller-node | 192.168.128.110 | Điều khiển (Controller) | 8 GB | ens32 (bridge), ens33 (external) | 4 lõi | 200 GB | | compute-node | 192.168.128.111 | Tính toán (Compute) | 4 GB | ens32 (bridge) | 4 lõi | 20 GB | | storage-node | 192.168.128.112 | Lưu trữ (Storage) | 4 GB | ens32 (bridge) | 4 lõi | 2 × 20 GB | Lưu ý: controller-node đóng đồng thời vai trò điểm triển khai (via kolla-ansible) và controller cluster.

  2. Các Bước Chuẩn Bị

2.1. Cài đặt công cụ hỗ trợ cơ bản Các máy đều thực hiện:

yum -y install bash-completion vim

2.2. Tắt tường lửa và SELinux Trên cả 3 máy:

sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config  
setenforce 0  
systemctl stop firewalld && systemctl disable firewalld  

2.3. Cấu hình_resolve /etc/hosts Trên controller-node:

cat >> /etc/hosts << EOF  
192.168.128.110 controller-node  
192.168.128.111 compute-node  
192.168.128.112 storage-node  
EOF  
scp /etc/hosts compute-node:/etc/  
scp /etc/hosts storage-node:/etc  

2.4. Thiết lập card mạngens33 trên node điều khiển

# /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
NAME=ens33
DEVICE=ens33

Sau đó: systemctl restart network

  1. Cài đặt Ansible và Cấu Hình

3.1. Cài đặt pip và cấu hình mirror tại controller-node

yum -y install epel-release python-pip
mkdir -p ~/.pip
tee ~/.pip/pip.conf << 'EOF'
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com
EOF
pip install --upgrade pip

3.2. Cấu hình mirror tại compute-node và storage-node Lặp lại bước tạo thư mục và file pip.conf nhưng không cần cập nhật pip.

3.3. Cài đặt Ansible

yum -y install python-devel libffi-devel gcc openssl-devel libselinux-python
pip install ansible

3.4. Tạo và tối ưu file cấu hình ansible.cfg

mkdir -p /etc/ansible
tee /etc/ansible/ansible.cfg << 'EOF'
[defaults]
forks = 15
host_key_checking = False
pipelining = True
EOF
  1. Cấu Hình Lưu Trữ_block pada storage-node
yum -y install yum-utils device-mapper-persistent-data lvm2
pvcreate /dev/sdb
vgcreate cinder /dev/sdb
systemctl enable --now lvm2-lvmetad
  1. Triển khai OpenStack với Kolla-Ansible

5.1. Cài đặt kolla-ansible (phiên bản Stein)

pip install kolla-ansible==8.0.1 --ignore-installed PyYAML

5.2. Chép mẫu cấu hình sẵn

cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/share/kolla-ansible/ansible/inventory/* /etc/kolla/

Các file quan trọng:

  • all-in-one: cho triển khai đơn node
  • multinode: trình bày phân bổ node
  • globals.yml: xác định các thông số hệ thống
  • passwords.yml: mặc định chứa mật khẩu dịch vụ

5.3. Thiết lập SSH vào cluster

ssh-keygen -N '' -f ~/.ssh/id_rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@controller-node
ssh-copy-id -i ~/.ssh/id_rsa.pub root@compute-node
ssh-copy-id -i ~/.ssh/id_rsa.pub root@storage-node

5.4. Sửa file inventory multinode

[control]
controller-node

[network]
controller-node

[compute]
compute-node

[monitoring]
controller-node

[storage]
storage-node

[deployment]
controller-node

5.5. Kiểm tra khả năng kết nối

ansible -i /etc/kolla/multinode all -m ping

5.6. Tạo mật khẩu mặc định

kolla-genpwd
sed -i 's/^keystone_admin_password:.*/keystone_admin_password: securepass123/' /etc/kolla/passwords.yml

5.7. Tùy chỉnh globals.yml

kolla_base_distro: "centos"
kolla_install_type: "source"
openstack_release: "stein"

kolla_internal_vip_address: "192.168.128.110"
network_interface: "ens32"
api_interface: "{{ network_interface }}"
storage_interface: "{{ network_interface }}"
tunnel_interface: "{{ network_interface }}"
dns_interface: "{{ network_interface }}"

neutron_external_interface: "ens33"
enable_haproxy: "no"

enable_cinder: "yes"
enable_cinder_backend_lvm: "yes"
cinder_volume_group: "cinder"

nova_compute_virt_type: "qemu"

5.8. Hiệu chuẩn môi trường Docker Trên cả 3 máy:

mkdir -p /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
[Service]
MountFlags=shared
EOF

tee /etc/docker/daemon.json << 'EOF'
{
"registry-mirrors": ["https://[MIRROR_KEY].mirror.aliyuncs.com"]
}
EOF

systemctl daemon-reload
systemctl restart docker && systemctl enable docker

5.9. Kéo镜像 và khởi tạo cluster

kolla-ansible -i /etc/kolla/multinode bootstrap-servers
kolla-ansible -i /etc/kolla/multinode prechecks
kolla-ansible -i /etc/kolla/multinode pull

Sau lấy鏡像 xong, kiểm tra:

docker images | grep kolla | wc -l

5.10. Triển khai dịch vụ OpenStack

kolla-ansible -i /etc/kolla/multinode deploy

5.11. Xác nhận triển khai thành công

kolla-ansible -i /etc/kolla/multinode post-deploy
cat /etc/kolla/admin-openrc.sh
  1. Kiểm tra truy cập Từ máy Windows trong cùng mạng:
  • Truy cập dashboard tại: http://192.168.128.110
  • Đăng nhập bằng tài khoản admin và mật khẩu securepass123 đã thiết lập.

Thẻ: openstack kolla-ansible multinode stein neutron

Đăng vào ngày 30 tháng 5 lúc 06:30