OpenStack-01-使用 Kolla-Ansible 部署一個單點的 OpenStack Demo 環境

Reference: OpenStack Kolla-Ansible 下的用戶指南快速入門

安裝環境

硬件最低要求:

  • 2 個網口
  • 8GB 內存
  • 40GB 硬盤

操作系統:

安裝步驟

這裏選擇的是 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章