Reference: OpenStack Kolla-Ansible 下的用戶指南快速入門。
安裝環境
硬件最低要求:
- 2 個網口
- 8GB 內存
- 40GB 硬盤
操作系統:
- 鏡像 Centos 7.7
- 下載自阿里雲鏡像庫–CentOS-7-x86_64-Minimal-1908.iso。
安裝步驟
這裏選擇的是 Centos 下 Python virtualenv 下安裝 latest 版本的 kolla-ansible(時間:2020-04-24,當前實際版本爲 Train 版本)。安裝的是單點 all-in-one 的 Demo 環境。
安裝依賴
# 安裝相關依賴
sudo yum install python-devel libffi-devel gcc openssl-devel libselinux-python
# 安裝 Python virtualenv 相關依賴
sudo yum install python-virtualenv
# 創建並激活一個 Python 虛擬環境
mkdir -p /opt/openstack
virtualenv /opt/openstack/venv
source /opt/openstack/venv/bin/activate
# 在 virtualenv 中 pip 安裝 Ansible 環境
pip install -U pip
pip install ansible
# 檢驗 Ansible 安裝情況,Kolla Ansible requires at least Ansible 2.8 and supports up to 2.9.
ansible --version
安裝 Kolla-Ansible
# 在 virtualenv 中 pip 安裝 Kolla-Ansible
pip install kolla-ansible
# 創建配置文件所在的文件夾,並設置需要的權限
sudo mkdir -p /etc/kolla
sudo chown $USER:USER /etc/kolla
# 從虛擬環境中複製配置文件和密碼文件樣例到 /etc/kolla/ 文件夾中
cp -r /opt/openstack/venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/
# 從虛擬環境中複製 Kolla-Ansible 的 inventory 文件到 /opt/openstack 文件夾中(執行 Ansible 的機器信息會被填寫在這個配置文件裏面)
cp /opt/openstack/venv/share/kolla-ansible/ansible/inventory/* /opt/openstack/
使用 Kolla-Ansible 準備一個單點的 OpenStack 環境
修改後續部署過程需要使用到的各種配置文件
# 如果有需要的話,可以修改 /etc/ansible/ansible.cfg,官方推薦了以下推薦選項(沒什麼必要性,可以不加=-=)
[defaults]
host_key_checking=False
pipelining=True
forks=100
# 如果有需要的話,可以修改 inventory 文件,我這裏直接使用了複製得到的 /opt/openstack/all-in-one 文件做爲 inventory 文件
# 測試一下 inventory 文件
cd /opt/openstack; ansible -i all-in-one all -m ping
# 部署中需要使用到的密碼都存在上述複製的密碼文件 /etc/kolla/passwords.yml 中,可以使用以下命令使用隨機密碼填充文件
kolla-genpwd
# 修改部署配置文件 /etc/kolla/globals.yml 中的以下字段
# 容器鏡像
kolla_base_distro: "centos"
# 安裝類型
kolla_install_type: "binary"
# 安裝版本
openstack_release: "train"
# 網絡端口-管理網口
network_interface: "em1"
# 網絡端口-業務/數據網口
neutron_external_interface: "em2"
# 同在管理網段的 Kolla 服務的虛擬 IP,可用於 Horizon UI 前端,使用前請確認沒有被佔用
kolla_internal_vip_address: "10.1.0.250"
安裝 Docker 環境
# 執行前請先退出虛擬環境
deactivate
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
# 修改 Docker 配置文件 /etc/docker/daemon.json【patch-1】
{
"storage-driver": "devicemapper",
"log-opts": {
"max-file": "5",
"max-size": "50m"
}
}
# 重啓 Docker 進程
systemctl restart docker
# 驗證 Docker 進程運行情況
systemctl status docker
# 在運行機器中 pip 安裝 docker【patch-2】
yum install epel-release
yum install python-pip
pip install docker
部署 OpenStack 環境
# 進入虛擬環境
source /opt/openstack/venv/bin/activate
# 利用 kolla-ansible 工具,預置、檢查、安裝部署環境
cd /opt/openstack/
kolla-ansible -i all-in-one bootstrap-servers
kolla-ansible -i all-in-one prechecks
kolla-ansible -i all-in-one deploy
安裝 OpenStack CLI client 端
# 安裝 client 端
pip install python-openstackclient
# 生成 admin credential 環境信息文件
kolla-ansible post-deploy
source /etc/kolla/admin-openrc.sh
# 在 virtualenv 中 pip 安裝初始化所需依賴【patch-3】
easy_install queuelib
pip install queuelib
pip install future
# 初始化
/opt/openstack/venv/share/kolla-ansible/init-runonce
Dashboard UI 界面入口
使用之前填寫的 kolla_internal_vip_address 即可進入。登錄所需要的 admin 密碼在 /etc/kolla/admin-openrc.sh 中可以找到,也可以通過以下命令直接修改 admin 密碼再登錄。
openstack user set --password admin admin